- 主题:有点不明白hyperviser这类虚拟机的工作原理
x86我不太清楚
在arm平台
linux通过el0 和el1两个层级来实现用户态和内核态
arm的hypervisor运行在el2上
如果你能理解linux的用户态和内核态的实现原理,就能理解hypervisor的原理了
【 在 wjhtingerx 的大作中提到: 】
: 比如hyperviser上跑了两个Linux,这个Linux是直接跟硬件打交道的,那hyperviser怎么能把这两个Linux隔离管理呢?难道hyperviser会修改Linux内核的东西吗?
:
: 这个基本原理是啥呢?
:
: --
发自「今日水木 on iPhone 12 mini」
--
FROM 111.206.214.*
古代都是这么搞的啊
【 在 wjhtingerx (ca6140) 的大作中提到: 】
: 不直接使用还能咋用?难道指令是通过hyperviser解释运行的?
--
FROM 113.108.77.*
不完全是,如果全部釆用java虚拟机或模拟器的方式就太慢了。
【 在 wjhtingerx 的大作中提到: 】
: 我就是不清楚啊,不知道目前市面上那些各种虚拟机都用的啥技术?我唯一能理解的可能是你说的Software virtualization,这个就是把指令一个一个解释了执行,类似java虚拟机?
:
--
FROM 202.62.112.*
你这还停留在20年前啊,找几本虚拟化的书好好看看吧,论坛上这么问讲不清楚的
【 在 wjhtingerx 的大作中提到: 】
: 我就是不清楚啊,不知道目前市面上那些各种虚拟机都用的啥技术?我唯一能理解的可能是你说的Software virtualization,这个就是把指令一个一个解释了执行,类似java虚拟机?
:
:
: ....................
- 来自「最水木 for iPhone Xr」
--
FROM 124.160.217.*
两个Linux VM就是主机上的两个进程
【 在 wjhtingerx 的大作中提到: 】
: 比如hyperviser上跑了两个Linux,这个Linux是直接跟硬件打交道的,那hyperviser怎么能把这两个Linux隔离管理呢?难道hyperviser会修改Linux内核的东西吗?
:
: 这个基本原理是啥呢?
- 来自「最水木 for iPhone12,8」
--
FROM 123.121.165.*
这样的话,hyperviser相当于一个内核,两个Linux相当于两个进程?由hyperviser来控制两个Linux做分时或其他方式的共享CPU资源?
这样的话,虚拟的Linux切换时,hyperviser需要保护和恢复所有CPU的上下文信息之类的?
【 在 irreallich 的大作中提到: 】
: x86我不太清楚
: 在arm平台
: linux通过el0 和el1两个层级来实现用户态和内核态
: ...................
--
FROM 106.3.192.*
据我所知,arm的实际hypervisor有至少两种方式
第一种是passthrough,可以理解为按照一定规则透传
第二种就是运行在ros上面
这个我没深入研究,网上应该有相应资料
【 在 wjhtingerx 的大作中提到: 】
:
: 这样的话,hyperviser相当于一个内核,两个Linux相当于两个进程?由hyperviser来控制两个Linux做分时或其他方式的共享CPU资源?
:
: 这样的话,虚拟的Linux切换时,hyperviser需要保护和恢复所有CPU的上下文信息之类的?
: --
:
发自「今日水木 on iPhone 12 mini」
--
FROM 223.104.41.*