嵌入式实时Hypervisor:XtratuM (3)

20 篇文章 0 订阅
12 篇文章 0 订阅

1.2           研究意义

Hypervisor出现的早期是被应用到大型服务器中,伴随着Hypervisor技术的发展和推广以及硬件设备的发展,Hypervisor逐渐被应用于个人桌面计算机环境中,近几年,Hypervisor又逐渐在嵌入式环境中蔓延。显然,Hypervisor具有一定的价值或优点,才得以在这三种环境中生存和发展。下面列出了Hypervisor技术的优点以及可以解决的问题[22,23,24]1)通过Hypervisor技术,可以对新架构平台和特权指令的进行调试和测试;2)利用Hypervisor,在平台移植前对软件的调试和测试;3)基于Hypervisor,在同种平台上运行特殊和早期的操作系统;4)作为非可信软件的沙箱;5)提高计算机的使用率;6)提高操作系统的可移植性。硬件的变动,不会引起操作系统和应用程序的修改;7)简化系统的迁移、备份和恢复。这些优点具有一定的通用性,针对嵌入式领域,Hypervisor系通在某些方面的优势更加突出。

Hypervisor系统可以支持多种不同种类的应用软件(例如实时任务和非实时任务)在同一平台并行运行。传统的嵌入式系统是封闭的,所有的软件栈是由设备供应商提供,并且在销售前加载,后期不会被修改,尤其是固件系统,相应升级更是稀少。另外,商用实时操作系统与开源实时嵌入式系统多种多样,并且都具有固定的实时应用软件,由于对操作系统的依赖性强,由于单个操作系统独立运行于硬件系统上,相应实时应用软件也只能运行于该操作系统,当操作系统发生变化时,实时应用软件必须更新,以适应底层平台的改变,从而给整个嵌入式系统开发和应用带来直接负面影响,增加了系统开发成本,延长了系统开发周期。在Hypervisor中,一个系统可以同时支持多种操作系统,可以是实时操作系统,也可以是非实时操作系统,从而可以保证系统最上层可以支持实时和非实时应用软件的并行运行。例如,在XtratuM Hypervisor系统中,Linux系统上的浏览器和PaRTiKle(Particular Real-Time Kernel)实时操作系统中的实时数字控制系统(CNCComputer Numerical Controlled)可以在一个平台上同时运行。

此外,嵌入式系统功能逐渐增多,相应软件数量和系统复杂度也迅速增加。例如,当前在手机系统中的软件协议栈大小就是5-7M,这一数值还在增加。顶级汽车的软件系统的大小已经达到GB数量级,甚至“下载软件的时间比构建物理车辆的时间还要长”。嵌入式软件存在封闭性强、软件需求繁多的现象,封闭性强给软件的复用和移植带来不便,软件需求繁多直接导致开发难度大,开发周期长,整体效率差等问题。另外,针对PC平台开发的软件系统在嵌入式平台上使用的现象已非常明显,这种现象被称之为软件通用化现象,并且很多新嵌入式应用软件的开发者并非懂得嵌入式开发技术。在这种情况下,一种支持多种操作系统APIs的高层面向应用的操作系统需要建立。也就是说,在应用软件通用化的趋势下,需要有一种能够满足多种应用软件在同一个硬件平台上运行的机制或架构,用以解决当前软件复用和开发的问题。而Hypervisor恰好可以满足这种需要,可以很好的解决该类问题。

Hypervisor可以提高嵌入式系统的可靠性、安全性、稳定性、有效性。嵌入式系统是普遍存在的,并且逐渐成为日常生活的一部分,无法想想离开嵌入式系统人类如何生活,尤其是关系到个人生命安全和财产安全的领域,例如航空航天、医疗、火车、汽车、国防等。在这些特殊领域中,直接使用通用操作系统的应用软件作为嵌入式软件显然不太适宜。嵌入式系统不仅仅需要满足实时需求,而且还应该具有较高的安全性(Safety)、可靠性(Reliability)、有效性(Availability)。但是,在这些关键领域中,由于历史的原因,多种实时操作系统的封闭性,限制了不同实时软件的并行运行,例如VxWorksLynxOSRTLinuxRTAI等。类似于普通嵌入式系统,在这些关键领域,一种高安全性、高稳定性、支持多种实时系统APIs的面向应用操作系统的被迫切期待[25262728]。通过提供可靠的隔离和冗余机制,将临界组件与不可信任操作系统进行隔离,保证临界组件的安全性、可靠性、和有效性,Hypervisor可以改善以上需求。

Hypervisor技术可以加速操作系统的移植。Hypervisor的目的是在物理硬件和操作系统之间建立一层硬件抽象层(HALHardware Abstraction Layer),它将底层的物理硬件结构进行封装,例如寄存器、端口等,为操作系统提供相应的软件接口,在操作系统移植过程中,操作系统就不需要了解繁缛的底层物理信息,直接调用相应的软件接口就可以完成相应的服务请求或设备配置。但是,由于当前存在系统管理层的多样化,并且各自为政,每种Hypervisor都有自己的一套抽象接口,没有统一标准和规定,从而导致操作系统在Hypervisor上面的移植工作不尽相同,但是这依然可以降低操作系统向不同平台移植的工作量和工作周期。

总之,Hypervisor系统的研究在嵌入式实时系统领域具有重要意义:1)可以为现今嵌入式系统具有的功能多、平台开放、软件复杂等问题提供解决方案;2Hypervisor可以在同一物理设备上并行运行多种操作系统,典型的应用就是在系统底层运行提供实时任务的实时操作系统,同时,执行客户操作系统并提供相应的应用任务,例如LinuxWindows3)可以保护具有高安全需求的子系统,例如通信协议栈,各户系统无法对其进行直接访问或攻击;4)物理内存的分离,可以阻止系统直接的相互干扰;5)解决License问题。另外,该技术的研究在国内外还处于起步阶段,尽早展开对相关技术的研究,可以在未来嵌入式领域竞争中取得主动。

XtratuM Hypervisor的研究具有独特的意义。嵌入式系统领域中,Hypervisor的应用根据系统的实时能力,可以被区分为三种:硬实时,软实时和非实时。三种实时能力的划分是根据系统没有在指定的时刻完成任务所造成的后果严重性上。硬实时将会造成严重的后果,甚至是财产损失或危机人身安全,例如火车或汽车抱死系统。软实时影响较轻,几乎不会造成财产损失,对人可能是感官影响,例如音乐系统或电影播放系统。非实时将不会造成任何影响。

XtratuM系统是一种硬实时Hypervisor。它主要是解决实时系统与非实时操作系统并行运行而引起的安全问题。二十世纪九十年代中期,基于Linux系统的第一款硬实时操作系统RTLinux发布,它是采用双核共存的机制使Linux具有实时能力。在RTLinux系统,具有实时能力的RTLinux系统与普通Linux内核共存,同时运行于系统内核态(具有最高优先级,可以直接访问底层硬件)。但是,在RTLinux系统中,实时系统与Linux内核运行于同一个地址空间,即Linux内核可以不加保护的非法访问RTLinux内核空间,这必然会影响系统的安全性(Safety)和可靠性。另外,RTLinux系统还存在相应软件专利保护:实时系统运行于底层硬件与Linux系统之间,Linux作为具有最低优先级的任务被调度和执行。因此,通过Hypervisor技术,可以避免这两个问题:1)实时系统与Linux内核在同一个地址空间;2RTLinux相关软件结构专利。在这种情况下,XtratuM Hypervisor应运而生,取代RTLinux实时结构系统,构建新型Hypervisor实时环境。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值