1.操作系统引导的过程
- ①CPU从一个特定主存地址开始取指令,执行ROM中的引导程序(先进行硬件自检,再开机)
- ②将磁盘的第一块:主引导记录读入内存,执行磁盘引导程序,扫描分区表
- ③从活动分区(又称主分区,即安装了操作系统的分区)读入分区引导记录,执行其中的程序
- ④从根目录下找到完整的操作系统初始化程序(即启动管理器)并执行,完成“开机”的一系列动作
2.虚拟机
虚拟机:使用虚拟化技术,将一台物理机器虚拟化为多台虚拟机器(Virtual Machine, VM),
每个虚拟机器都可以独立运行一个操作系统。
同义术语:虚拟机管理程序/虚拟机监控程序/Virtual Machine Monitor/Hypervisor
1.第一类VMM
- 直接运行在硬件之上,能直接控制和分配物理资源
- 资源分配方式:在安装Guest OS时,VMM要在原本的硬盘上自行分配存储空间,类似于“外核"的分配方式,分配未经抽象的物理硬件。
- 性能更好
- 可以支持的虚拟机的数量:更多,不需要和Host OS竞争资源,相同的硬件资源可以支持更多的虚拟机。
- 虚拟机的可迁移性:更差
- 运行模式:第一类VMM运行在最高特权级(Ring o) ,可以执行最高特权的指令。
2.第二类VMM
- 运行在Host os(宿主系统)之上,依赖于Host Os为其分配物理资源、
- 资源分配:GuestOS拥有自己的虚拟磁盘,该盘实际上是Host oS文件系统中的一个大文件。GuestOS分配到的内存是虚拟内存。
- 性能更差,需要HostOS作为"中介"
- 可以支持的虚拟机的数量:更少,Host OS本身需要使用物理资源,HostoS上运行的其他进程也需要物理资源。
- 虚拟机的可迁移性:更好只需导出虚拟机镜像文件即可迁移到另一台HostOs 上,商业化应用更广泛。
- 运行模式:第二类VIMM部分运行在用户态、部分运行在内核态。GuestOS发出的系统调用会被VMM截获,并转化为VMM对HostOS的系统调用。