1.6_虚拟机

文章介绍了计算机的两种虚拟化方式。一类虚拟机管理程序直接运行在硬件上,为每个虚拟机分配独立的硬件资源,而二类则运行在宿主操作系统之上,通过请求操作系统分配资源。这种方式会导致性能损耗,因为需要多层映射。此外,第一类虚拟机管理程序由于直接控制硬件,理论上能支持更多虚拟机。
摘要由CSDN通过智能技术生成

1.传统计算机

c9ba961863474ef3a0aaaabe2ca3bd6a.jpg

 一台物理机器上只能运行一个操作系统,若两个进程同时使用操作系统会出现安全问题。解决方法就是让其中一个进程使用虚拟机。

2.虚拟机 

(1)分类e87cc268aa9b48a98dfecbc10e842cc9.jpg

第一类:

虚拟机管理程序运行在硬件上,直接为各个虚拟机分配硬件。CPU按时间片划分,硬盘与内存按空间划分,由此实现各虚拟机拥有独立的硬件资源。

只有VMM运行在内核态,可以使用特权指令。但操作系统认为自己还在内核态,就会使用特权指令。当操作系统使用特权指令时,这个行为动作被VMM截获,VMM会负责把操作系统想要执行的这个特权指令进行特价交换,模拟出这个特权指令成功的感觉。因此上层操作系统运行在虚拟内核空间,并不是真正的内核空间,实际在用户空间。

第二类:

虚拟机管理程序运行在宿主操作系统上,当VMM想要为上层操作系统分配硬件资源时,需要向宿主操作系统发出请求。

(2)对比

23fdac0708794885a49b39a23243b003.jpg

资源分配方式:

对物理资源的控制权决定了它们的资源分配方式不同。比如第一类VMM为VM1分配存储空间为1-1024,为VM2分配1025-2048。当第二类VMM想为VM1 分配10GB的磁盘存储空间,VMM会向操作系统申请创建一个10GB的大文件,这个大文件具体放在磁盘当中的位置有宿主操作系统决定。当虚拟机管理程序获得了10GB的大文件后,会将10GB的空间分配给第一台虚拟机器,让第一台虚拟机以为自己拥有了10GB的磁盘存储空间。但实际上这只是一个虚拟磁盘,这10GB的空间在磁盘中的存储未必是连续的背后对应的是宿主操作系统文件系统当中的一个大文件而已。

内存分配:当第二类虚拟机管理程序请求宿主操作系统分配给它4GN的内存空间,宿主操作系统给它分配了4GB的内存空间,实际是虚拟存储。当虚拟机操作系统获得了这4GB的虚拟后,又可以把4GB虚拟内存拆分,分给不同的虚拟机器。比如第一台虚拟机分2GB,第二台虚拟机分2GB。显然,这是层层套娃,宿主操作系统为虚拟机管理程序分配的虚拟内存,虚拟机管理程序将它再虚拟再分配给不同的虚拟机。

性能:

每进行一次硬件的虚拟化,意味着上层的用户操作系统在使用这些硬件资源的时候,需要先将改地址映射到虚拟机管理程序获得的虚拟地址空间,宿主操作系统又需要把4GB的虚拟地址空间映射到实际的物理地址空间。所以,经过多层的虚拟,意味着在使用这些资源时需要经过多层映射,才能最终对应到实际的物理地址上。

可支持虚拟机的数量:

第一类虚拟机管理程序拥有所有的硬件资源。第二类虚拟机管理程序除了宿主操作系统需要硬件资源,宿主操作系统本身的进程也需要硬件资源。因此,在硬件资源相同的条件下,第一类虚拟机管理程序可以支持更多的虚拟机。

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值