操作系统-计算机系统概述(操作系统引导BIOS、虚拟机)
CPU会执行内存中磁盘引导程序,根据主引导记录(MBR)中的分区表找到C盘的引导记录(PBR)。进而执行C盘中的启动管理器。虚拟机使用虚拟化技术,将一台物理机器虚拟化为多台虚拟机器(VirtualMachine,VM),每个虚拟机器都可以独立运行一个操作系统。主存上有一块ROM芯片叫BIOS,包含了ROM引导程序(自举程序)。ROM引导程序会指示CPU将磁盘中的主引导记录读入内存中。分区表磁盘中不
·
1. 操作系统引导
安装了操作同的磁盘结构如下图:
分区表:磁盘中不同盘分别占用的大小,以及每个分盘的地址。
将C盘继续细分如下图:
操作系统启动后需要将操作系统代码加载到主存上。
主存上有一块ROM芯片叫BIOS,包含了ROM引导程序(自举程序)。ROM上的数据不会因为断电消失。
ROM引导程序会指示CPU将磁盘中的主引导记录读入内存中。
CPU会执行内存中磁盘引导程序,根据主引导记录(MBR)中的分区表找到C盘的引导记录(PBR)。进而执行C盘中的启动管理器。启动管理程序就会完成操作系统初始化任务,完成开机任务。
根据上文,可以把操作系统引导分为四步:
- CPU从一个特定主存地址开始,取指令,执行ROM中的引导程序(先进行硬件自检,再开机)
- 将磁盘的第一块主引导记录读入内存,执行磁盘引导程序,扫描分区表
- 从活动分区(又称主分区,即安装了操作系统的分区)读入分区引导记录,执行其中的程序
- 从根目录下找到完整的操作系统初始化程序(即启动管理器)并执行,完成“开机”的一系列动作
2.虚拟机
传统计算机体系结构如下图:
虚拟机:使用虚拟化技术,将一台物理机器虚拟化为多台虚拟机器(Virtual Machine, VM),每个虚拟机器都可以独立运行一个操作系统
①直接运行在硬件上的虚拟机(第一类)
将总硬件资源划分为多个部分,分别给多个虚拟机上使用。
注意:
- 只有虚拟机程序在内核空间,可以使用特权指令。
上层操作系统在用户态,但是操作系统也会使用特权指令,当使用时会被虚拟机程序截获,虚拟机程序负责执行上层的特权指令。
②直接运行到宿主操作系统上的虚拟机(第二类)
③二者对比
两种不同虚拟机程序之间的对比
第一类VMM | 第二类VMM | |
---|---|---|
对资源的控制权 | 直接运行在硬件之上,能直接控制和分配物理资源 | 运行在Host OS之上,依赖于Host OS为其分配物理资源 |
资源分配方式 | 在安装GuestOS时,VMM要在原本的硬盘上自行分配存储空间,类似于"外核"的分配方式,分配未经抽象的物理硬件 | GuestOS拥有自己的虚拟磁盘,该盘实际上是HostOS文件系统中的一个大文件。GuestOS分配到的内存是虚拟内存 |
性能 | 性能更好 | 性能差,需要HostOS做中介 |
支持的虚拟机数量 | 更多,不需要和HostOS竟争资源,相同的硬件资源可以支持更多的虚拟机 | 更少,Host OS本身需要使用物理资源,HostOS上运行的其他进程也需要物理资源 |
虚拟机的移植性 | 差 | 优,只需导出虚拟机镜像文件即可迁移到另一台HostOs 上,商业化应用更广泛 |
运行模式 | 第一类VMM运行在内核空间,可以执行最高特权的指令。 | 第二类VMM部分运行在用户态、部分运行在内核态(虚拟机驱动程序)。GuestOS发出的系统调用会被VMM截获,并转化为VMM对HostOS的系统调用 |
更多推荐
已为社区贡献2条内容
所有评论(0)