虚拟机器与容器镜像的深入解析
1. 虚拟化基础概念
1.1 特权级别与虚拟机类型
在虚拟化领域,“内核级别”意味着管理程序(hypervisor)运行在 Ring 0。而客户操作系统(guest OS)内核通常运行在 Ring 1,这表明它的权限低于管理程序。
虚拟机主要分为两类:
- Type 2 VMM :当在笔记本或台式机上运行虚拟机时,如通过 VirtualBox,这些虚拟机属于“托管型”或 Type 2 虚拟机。以运行 macOS 的笔记本为例,安装 VirtualBox 作为独立应用程序,它可以管理与主机操作系统共存的客户虚拟机,这些客户虚拟机可以运行 Linux 或 Windows 等系统。除了 VirtualBox,Parallels 和 QEMU 也是 Type 2 VMM 的例子。
- 基于内核的虚拟机(KVM) :KVM 是一个 Linux 内核模块,通常被认为是 Type 1 管理程序,因为客户操作系统无需穿越主机操作系统。不过,这种分类过于简单,因为 KVM 常与 QEMU 一起使用,QEMU 可将客户操作系统的系统调用动态转换为主机操作系统的系统调用,并且能利用 KVM 提供的硬件加速。
1.2 虚拟化实现技术 - 陷阱与模拟(Trap-and-Emulate)
虚拟化的基本思想是“陷阱与模拟”。一些 CPU 指令是特权指令,只能在 Ring 0 执行,若在更高的环中尝试执行,会引发陷阱(trap),类似于应用程序中的异常触发错误处理程序,陷阱会使 CPU 调用 Ring 0 代码中的处理程序。
<
超级会员免费看
订阅专栏 解锁全文
770

被折叠的 条评论
为什么被折叠?



