type2客户机整套操作系统都在宿主机的进程里(不一定非得是一个进程包一个vm)。
多进程、多线程本质上是分时共享系统资源,vm视角看到的多进程多线程和外面宿主机的进程、线程没对应关系,也不需要对应。宿主机里其他打酱油的程序看不到vm里在跑多进程多线程,只知道vmware在跑,占了很多cpu和内存。
【 在 wjhtingerx 的大作中提到: 】
: 非常感谢,明白了很多,但是好像疑惑更多了。
: 比如type1, hypervisor运行在L3,客户机内核态运行在L2,客户机用户态运行在L1。hypervisor首先运行,给各个客户机设置(虚拟)好CPU、内存等资源,这样客户机就能在自己的硬件环境里运行了。直到访问些功能敏感资源,比如外设,就会陷入到L3,让hypervisor去处理。这个逻辑很清晰。
: 但是type2,客户机是运行在宿主机的一个进程里吗?如果这样,客户机的多进程是如何实现的?如果客户机做系统条用,客户机会真的进入硬件的内核态吗?
: ...................
--
FROM 111.201.129.*