- 主题:有点不明白hyperviser这类虚拟机的工作原理
比如hyperviser上跑了两个Linux,这个Linux是直接跟硬件打交道的,那hyperviser怎么能把这两个Linux隔离管理呢?难道hyperviser会修改Linux内核的东西吗?
这个基本原理是啥呢?
--
修改:wjhtingerx FROM 106.3.192.*
FROM 106.3.192.*
这么说是硬件完全虚拟出几个CPU这种?那hyperviser基本就是起个开机引导和监控的作用?
【 在 Mikov 的大作中提到: 】
: 对于KVM, 需要有硬件的支持, 而且这个支持也根据硬件分成不同的等级, 最基本的CPU需要支持VT, 高级的外设支持VF, 例如支持SR-IOV的硬件可以虚拟化为多个设备, 这些虚拟的设备对于虚机而言性能几乎等同于单独的物理设备.
: 首先, CPU需要支持虚拟化, 其次, 主板需要支持VT-x, 最好支持VT-d, 最后, 支持VF的外设
: * VT-x: 运行64bit Guest OS基本指令
: ...................
--
FROM 106.3.192.*
不直接使用还能咋用?难道指令是通过hyperviser解释运行的?
【 在 JulyClyde 的大作中提到: 】
: 很显然里面那个不能直接使用正经cpu啊
:
--
FROM 106.3.192.*
我就是不清楚啊,不知道目前市面上那些各种虚拟机都用的啥技术?我唯一能理解的可能是你说的Software virtualization,这个就是把指令一个一个解释了执行,类似java虚拟机?
【 在 Mikov 的大作中提到: 】
: 先的说清楚你说的这个hyperviser到底指的啥? 具体说哪个虚拟化方案? 虚拟化也分三六九等, Full virtualization, Paravirtualization, Software virtualization, Containerization, 你这问的, 不同情况回答的就不一样啊
: 举个例子, 做模拟器的, 基本上都是Software virtualization, 就是通过hyperviser解释运行的
:
--
FROM 106.3.192.*
这样的话,hyperviser相当于一个内核,两个Linux相当于两个进程?由hyperviser来控制两个Linux做分时或其他方式的共享CPU资源?
这样的话,虚拟的Linux切换时,hyperviser需要保护和恢复所有CPU的上下文信息之类的?
【 在 irreallich 的大作中提到: 】
: x86我不太清楚
: 在arm平台
: linux通过el0 和el1两个层级来实现用户态和内核态
: ...................
--
FROM 106.3.192.*