1
0
在大多数架构中,除了supervisor之外还添加了另一个级别,而supervisor在某种程度上被降级了。内核认为自己可以控制机器,但这是hypervisor制造的假象。
在大多数体系结构中,hypervisor安装一组额外的页表,这些页表在guest的页表安装之后生效。因此,您的unix内核认为它是在1M物理位置加载的,可以是任意地址,并且您的unix内核认为在页面边界上相邻的每个地址都可能分散在大量的实际(总线)地址上。 即使您的体系结构不允许额外级别的页表,hypervisor也可以直接“捕获和模拟”来宾构建的页表,并以完全透明的方式维护一个实际的集。然而,向较长管道的连续移动增加了每个陷阱的成本,因此额外的级别页表非常受欢迎。 因此,您的UNIX认为它自己拥有全部的8M内存;然而在它不知情的情况下,一个鬼鬼祟祟的hypervisor可能会将这8M内存分页到一个非常大的软盘驱动器上,只给它一个微不足道的640K真正的RAM。所有正常的unix-y都工作得很好,只是它可能有一种相当混乱的时间感,时间在交替的阶段减慢和加快,因为hypervisor试图假装一个250毫秒的软盘访问在一个60毫微秒的dram访问时间内完成。 这就是hypervisor变得困难的地方。 |