虚拟化技术在服务器领域已经得到广泛应用,可以在一台服务器或服务器集群上同时运行几个不同的操作系统,诸多优点包括:故障隔离、高效利用资源、负载均衡、安全性等.常用的虚拟化系统如VMware、Virtual PC等采用全虚拟化技术,比较消耗资源,因此不适用于嵌入式领域的应用.而Xen采用半虚拟化技术,性能方面得到了很大提升,为虚拟化技术在嵌入式领域的应用创造了条件.由于嵌入式设备有着数据实时采集、现场控制、高危环境等特殊应用背景,嵌入式系统对实时性都有一定的要求.目前的虚拟化技术没有很好的方法来保障系统的实时性.本文在XEN虚拟化环境中设计并实现基于资源预留的实时调度算法,即在虚拟机监视器(Virtual Machine Monitor,VMM)层面实现常量带宽服务器(Constant Bandwidth Server,CBS)调度算法,用于有效调度实时和非实时的虚拟机子系统,并保障不同子系统之间的性能隔离.
Virtualization technology has found wide applications in the server application space. It enables running multiple different operating systems simultaneously on a single server or server cluster. Its many advantages include : fault isolation, high resource utili- zation, load balancing, security, etc. Popular virtualization systems like VMWare, Virtual PC use full virtualization technology with high resource consumption, hence they are not suitable for application in embedded systems. Xen adopts para-virtualization technolo- gy to improve performance, making it a good candidate for application in embedded systems. Embedded systems applications, such as real-time data collection, field control, safety-critical environment, have stringent requirements on real-time properties, but today" s virtualization technology cannot make real-time guarantees. In this paper, we design and implement real-time scheduling algorithms based on resource reservation, i. e., implement the resource reservation algorithm Constant Bandwidth Server (CBS ) within the Xen Virtual Machine Monitor ( VMM), used for effective scheduling of real-time and non-real-time virtual machine subsystems while en- suring performance isolation between different subsystems.