已读9%
预计阅读本页时间:-
预计阅读本页时间:-
1.7.6 外核
与虚拟机克隆真实机器不同,另一种策略是对机器进行分区,换句话说,给每个用户整个资源的一个子集。这样,某一个虚拟机可能得到磁盘的0至1023盘块,而另一台虚拟机会得到1024至2047盘块,等等。
在底层中,一种称为外核(exokernel,Engler等人,1995)的程序在内核态中运行。它的任务是为虚拟机分配资源,并检查试图使用这些资源的企图,以确保没有机器会使用他人的资源。每个用户层的虚拟机可以运行自己的操作系统,如VM/370和Pentium虚拟8086等,但限制在只能使用已经申请并且获得分配的那部分资源。
外核机制的优点是,它减少了映像层。在其他的设计中,每个虚拟机都认为它有自己的磁盘,其盘块号从0到最大编号,这样虚拟机监控程序必须维护一张表格用以重映像磁盘地址(以及其他资源)。有了外核这个重映像处理就不需要了。外核只需要记录已经分配给各个虚拟机的有关资源即可。这个方法还有一个优点,它将多道程序(在外核内)与用户操作系统代码(在用户空间内)加以分离,而且相应负载并不重,这是因为外核所做的一切,只是保持多个虚拟机彼此不发生冲突。