论文部分内容阅读
摘 要:随着计算机技术、网络技术和微电子技术的快速发展,嵌入式系统的应用越来越广。嵌入式硬件的快速发展给系统带来了高性能,同时也给虚拟化技术在嵌入式领域的应用带来了曙光。如今,虚拟化技术在桌面,服务器市场已经趋于成熟,但是嵌入式领域还处于探索研究中。虚拟化技术使得同一个硬件平台可以运行多个OS,例如可以整合同一个硬件平台的GPOS和RTOS。虚拟化技术采用了双内核方式改善嵌入式linux的实时性问题,它可以满足硬实时需求。
关键词:嵌入式linux;实时性;虚拟化
中图分类号:TP316.81
1 研究背景和目的
嵌入式系统由硬件和软件两大部分组成。和传统的PC机相比,嵌入式系统有其独特的特点。嵌入式系统有系统内核小,专用性强,系统精简,高实时性OS,软件开发走向标准化,需要开发工具和环境的特点。虚拟化技术使得在一个物理平台上可以运行多个操作系统,它提供了比操作系统更高的独立性。由于市场需求的扩大,虚拟化的发展势头强劲,这也在相当一部分程度上催生了软件和硬件厂商联手进军虚拟化。 按照不同的方式,虚拟化可以分为很多种,它可以根据需求应用在不同的场合。一般针对硬件级平台虚拟化,虚拟化分为泛虚拟化(PV)和全虚拟化(HVM)两种。
2 国内外研究现状
虚拟化起源于大型机,兴盛于服务器和pc领域,在嵌入式领域尚不成熟,但发展势头迅猛。如今国外已有很多嵌入式虚拟化解决方案,但是大多属于不开源系统,研究相对困难,国内在这方面的发展也比较滞后。
常见的嵌入式虚拟化解决方案有开源社区的xen on arm,KVM for ARM,virtual logic的VLX,Open Kernel Lab的OKL4 Microvisor,VMware的MVP,Red Bend Software,Trango,Green Hills Software的INTEGRITY secure virtualization,Wind River Hypervisor等。除了xen,KVM外,其余均不开源,且除了Green Hills,KVM,Wind River Hypervisor外,其余均为半虚拟化,只有OKL4可以看到性能测试数据。
和国外的研究相比,国内的研究尚属于起步阶段,暂未看到值得关注的研究或产品。虽然现有的研究取得了一定的研究成果,但仍存在很多不足,如实现复杂、可维护性差等。本文将在已有的研究成果基础上,进一步研究通过虚拟化技术改善嵌入式linux的实时性问题。
3 嵌入式linux的实时问题研究
3.1 实时嵌入式系统介绍
3.1.1 嵌入式系统
根据应用领域划分,嵌入式应用可分为工业自动化,商业软件,视频游戏,通信(包括所有互联网相关),医疗软件和军事软件。
关于嵌入式系统的定义有多个版本。IEEE(国际电气和电子工程师协会)的定义:嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”。在国内,嵌入式系统最为普遍接受的的定义是指“以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。一般从广义上认为,除了通用的计算机系统外,所有的智能电子设备均属于嵌入式设备。嵌入性,专用性,计算机是嵌入式系统的三大要素。嵌入式系统的嵌入性是指嵌入式设备需要嵌入到某个对象体系中,它对对象环境有要求。专用性是指嵌入式系统的软硬件需要根据对象要求进行裁剪。嵌入式系统的专用性很强,由于嵌入式系统软硬件结合紧密,一般情况下需要针对硬件进行系统的移植。
3.1.2 实时嵌入式系统
在嵌入式系统中,有很多系统需要满足实时性需求,所以很多嵌入式系统往往是实时系统。值得注意的是,并非所有的嵌入式系统都是实时系统。虽然并非所有的嵌入式系统都是使用实时操作系统设计,但是实时操作系统已经成为许多嵌入式系统的关键。一个好的实时嵌入式操作系统必须满足一些公共属性,包括可靠,可预测,高性能,紧凑和可裁剪。
实时嵌入式操作系统实必须是可靠的。根据实际应用,系统对可靠性的程度要求不同。实际中,实时系统本身不能经过测量确定系统的可靠性。系统中所有元素的集合,包括硬件,BSP(板级支持包),实时操作系统和应用程序共同决定了系统的可靠性。
实时嵌入式系统具有可预测性,因为实时系统必须在某种程度上是可预测的。开发人员可以用一些基准程序确认实时操作系统的确定性,例如某些特定调用的响应时间。
关于实时嵌入式的性能测试,有许多衡量指标。系统的软件和硬件都会影响到系统的性能。例如可以用MIPS(每秒百万次指令)衡量系统的CPU性能。一般来说,吞吐量可以用来衡量软硬件组合在一起的系统整体性能。
实时嵌入式系统具有紧凑性。因为嵌入式系统中,硬件资源有限,所以实时操作系统必须小巧并且有效,这与尺寸和费用相关。
由于实时操作系统应用在各类嵌入式系统中,所以系统必须能够裁剪以满足特定应用需求。可裁剪性有时也会影响到整个系统的花费。
3.2 基于虚拟化技术改善linux的实时性
虚拟化技术使得在一个硬件平台运行多个OS(操作系统)成为可能,采用虚拟化技术改善linux的实时性,其本质依然是双内核方式,即在linux内核和硬件之间增加额外的一层用于管理实时任务。
虚拟化方式的商用代表是Virtual Logic公司的VLX,开源代表为ADEOS。虚拟化技术方式花费少(cheap)并且可以安全过渡到linux。它可以切换到含有丰富应用的linux上,并且允许保留RTOS的实时任务。另外,从技术实现角度,虚拟化可以分为硬件仿真,完全虚拟化和半虚拟化。
硬件仿真技术是虚拟化实现中最复杂的一种,它通过对虚拟机运行时的特权指令进行扫描捕获,之后对指令重写即仿真。由于其性能损失较大,对系统的硬件要求较高,不适合采用该方式改善linux的实时性。
完全虚拟化中特权指令由底层硬件进行处理,它最大的特点是guest os不需要修改,但是需要硬件支持,例如较新的ARM处理器已经集成了该功能。所以采用此方式改善linux实时性对硬件平台的限制较大。
半虚拟化需要需要修改guest os,由guest os处理特权指令,其性能相对较高。目前,采用这种方式的嵌入式虚拟化解决方案较多。
嵌入式linux的实时性解决方案VLX的实现中,VLX虚拟机之上需要运行一个RTOS和linux,而xtimes的实现则不同。虚拟机xtimes自身实现了实时系统的基本功能,因此仅需虚拟机xtimes和修改过的linux内核就可以实现双内核方式增强linux的实时性。下一章是嵌入式虚拟机xtimes的具体实现。
嵌入式系统无处不在,它改变了我们的工作、生活和学习方式。嵌入式系统中,往往有实时需求,因此很多嵌入式系统同时又是实时操作系统,即实时嵌入式系统。此外,linux作为一个开源,低成本,而且经时间检验是一个比较成熟的操作系统,在生活中已得到广泛的应用。如果能利用已有的linux操作系统优势,服务于嵌入式系统将是一个双赢的结果。
然而,目前广泛运用的Linux系统,由于其在开发时作为GPOS设计,并非RTOS,没有全面考虑嵌入式系统的实时需求,因此在系统的实时性方面仍需改进。
参考文献:
[1]Raj Kamal.陈曙辉,译.嵌入式系统——体系结构?编程与设计[M].北京:清华大学出版社,2003.
[2]嵌入式.Linux[OL].http://zh.wikipedia.org/wiki/嵌入式Linux.
[3]毛德操,胡希明.嵌入式系统——采用公开源代码和Strong ARM/XScale处理器[M].杭州:浙江大学出版社,2003.
作者简介:王慧敏(1983.11-),女,讲师,本科,研究方向:计算机软件应用。
作者单位:甘肃武威职业学院,甘肃武威 733000
关键词:嵌入式linux;实时性;虚拟化
中图分类号:TP316.81
1 研究背景和目的
嵌入式系统由硬件和软件两大部分组成。和传统的PC机相比,嵌入式系统有其独特的特点。嵌入式系统有系统内核小,专用性强,系统精简,高实时性OS,软件开发走向标准化,需要开发工具和环境的特点。虚拟化技术使得在一个物理平台上可以运行多个操作系统,它提供了比操作系统更高的独立性。由于市场需求的扩大,虚拟化的发展势头强劲,这也在相当一部分程度上催生了软件和硬件厂商联手进军虚拟化。 按照不同的方式,虚拟化可以分为很多种,它可以根据需求应用在不同的场合。一般针对硬件级平台虚拟化,虚拟化分为泛虚拟化(PV)和全虚拟化(HVM)两种。
2 国内外研究现状
虚拟化起源于大型机,兴盛于服务器和pc领域,在嵌入式领域尚不成熟,但发展势头迅猛。如今国外已有很多嵌入式虚拟化解决方案,但是大多属于不开源系统,研究相对困难,国内在这方面的发展也比较滞后。
常见的嵌入式虚拟化解决方案有开源社区的xen on arm,KVM for ARM,virtual logic的VLX,Open Kernel Lab的OKL4 Microvisor,VMware的MVP,Red Bend Software,Trango,Green Hills Software的INTEGRITY secure virtualization,Wind River Hypervisor等。除了xen,KVM外,其余均不开源,且除了Green Hills,KVM,Wind River Hypervisor外,其余均为半虚拟化,只有OKL4可以看到性能测试数据。
和国外的研究相比,国内的研究尚属于起步阶段,暂未看到值得关注的研究或产品。虽然现有的研究取得了一定的研究成果,但仍存在很多不足,如实现复杂、可维护性差等。本文将在已有的研究成果基础上,进一步研究通过虚拟化技术改善嵌入式linux的实时性问题。
3 嵌入式linux的实时问题研究
3.1 实时嵌入式系统介绍
3.1.1 嵌入式系统
根据应用领域划分,嵌入式应用可分为工业自动化,商业软件,视频游戏,通信(包括所有互联网相关),医疗软件和军事软件。
关于嵌入式系统的定义有多个版本。IEEE(国际电气和电子工程师协会)的定义:嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”。在国内,嵌入式系统最为普遍接受的的定义是指“以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。一般从广义上认为,除了通用的计算机系统外,所有的智能电子设备均属于嵌入式设备。嵌入性,专用性,计算机是嵌入式系统的三大要素。嵌入式系统的嵌入性是指嵌入式设备需要嵌入到某个对象体系中,它对对象环境有要求。专用性是指嵌入式系统的软硬件需要根据对象要求进行裁剪。嵌入式系统的专用性很强,由于嵌入式系统软硬件结合紧密,一般情况下需要针对硬件进行系统的移植。
3.1.2 实时嵌入式系统
在嵌入式系统中,有很多系统需要满足实时性需求,所以很多嵌入式系统往往是实时系统。值得注意的是,并非所有的嵌入式系统都是实时系统。虽然并非所有的嵌入式系统都是使用实时操作系统设计,但是实时操作系统已经成为许多嵌入式系统的关键。一个好的实时嵌入式操作系统必须满足一些公共属性,包括可靠,可预测,高性能,紧凑和可裁剪。
实时嵌入式操作系统实必须是可靠的。根据实际应用,系统对可靠性的程度要求不同。实际中,实时系统本身不能经过测量确定系统的可靠性。系统中所有元素的集合,包括硬件,BSP(板级支持包),实时操作系统和应用程序共同决定了系统的可靠性。
实时嵌入式系统具有可预测性,因为实时系统必须在某种程度上是可预测的。开发人员可以用一些基准程序确认实时操作系统的确定性,例如某些特定调用的响应时间。
关于实时嵌入式的性能测试,有许多衡量指标。系统的软件和硬件都会影响到系统的性能。例如可以用MIPS(每秒百万次指令)衡量系统的CPU性能。一般来说,吞吐量可以用来衡量软硬件组合在一起的系统整体性能。
实时嵌入式系统具有紧凑性。因为嵌入式系统中,硬件资源有限,所以实时操作系统必须小巧并且有效,这与尺寸和费用相关。
由于实时操作系统应用在各类嵌入式系统中,所以系统必须能够裁剪以满足特定应用需求。可裁剪性有时也会影响到整个系统的花费。
3.2 基于虚拟化技术改善linux的实时性
虚拟化技术使得在一个硬件平台运行多个OS(操作系统)成为可能,采用虚拟化技术改善linux的实时性,其本质依然是双内核方式,即在linux内核和硬件之间增加额外的一层用于管理实时任务。
虚拟化方式的商用代表是Virtual Logic公司的VLX,开源代表为ADEOS。虚拟化技术方式花费少(cheap)并且可以安全过渡到linux。它可以切换到含有丰富应用的linux上,并且允许保留RTOS的实时任务。另外,从技术实现角度,虚拟化可以分为硬件仿真,完全虚拟化和半虚拟化。
硬件仿真技术是虚拟化实现中最复杂的一种,它通过对虚拟机运行时的特权指令进行扫描捕获,之后对指令重写即仿真。由于其性能损失较大,对系统的硬件要求较高,不适合采用该方式改善linux的实时性。
完全虚拟化中特权指令由底层硬件进行处理,它最大的特点是guest os不需要修改,但是需要硬件支持,例如较新的ARM处理器已经集成了该功能。所以采用此方式改善linux实时性对硬件平台的限制较大。
半虚拟化需要需要修改guest os,由guest os处理特权指令,其性能相对较高。目前,采用这种方式的嵌入式虚拟化解决方案较多。
嵌入式linux的实时性解决方案VLX的实现中,VLX虚拟机之上需要运行一个RTOS和linux,而xtimes的实现则不同。虚拟机xtimes自身实现了实时系统的基本功能,因此仅需虚拟机xtimes和修改过的linux内核就可以实现双内核方式增强linux的实时性。下一章是嵌入式虚拟机xtimes的具体实现。
嵌入式系统无处不在,它改变了我们的工作、生活和学习方式。嵌入式系统中,往往有实时需求,因此很多嵌入式系统同时又是实时操作系统,即实时嵌入式系统。此外,linux作为一个开源,低成本,而且经时间检验是一个比较成熟的操作系统,在生活中已得到广泛的应用。如果能利用已有的linux操作系统优势,服务于嵌入式系统将是一个双赢的结果。
然而,目前广泛运用的Linux系统,由于其在开发时作为GPOS设计,并非RTOS,没有全面考虑嵌入式系统的实时需求,因此在系统的实时性方面仍需改进。
参考文献:
[1]Raj Kamal.陈曙辉,译.嵌入式系统——体系结构?编程与设计[M].北京:清华大学出版社,2003.
[2]嵌入式.Linux[OL].http://zh.wikipedia.org/wiki/嵌入式Linux.
[3]毛德操,胡希明.嵌入式系统——采用公开源代码和Strong ARM/XScale处理器[M].杭州:浙江大学出版社,2003.
作者简介:王慧敏(1983.11-),女,讲师,本科,研究方向:计算机软件应用。
作者单位:甘肃武威职业学院,甘肃武威 733000