1. 操作系统引导

操作系统引导:启动计算机时让操作体系运行起来。

安装了操作同的磁盘结构如下图:在这里插入图片描述
分区表:磁盘中不同盘分别占用的大小,以及每个分盘的地址。

将C盘继续细分如下图:
在这里插入图片描述
操作系统启动后需要将操作系统代码加载到主存上。

主存上有一块ROM芯片叫BIOS,包含了ROM引导程序(自举程序)。ROM上的数据不会因为断电消失。

ROM引导程序会指示CPU将磁盘中的主引导记录读入内存中。

CPU会执行内存中磁盘引导程序,根据主引导记录(MBR)中的分区表找到C盘的引导记录(PBR)。进而执行C盘中的启动管理器。启动管理程序就会完成操作系统初始化任务,完成开机任务。

根据上文,可以把操作系统引导分为四步:

  1. CPU从一个特定主存地址开始,取指令,执行ROM中的引导程序(先进行硬件自检,再开机)
  2. 将磁盘的第一块主引导记录读入内存,执行磁盘引导程序,扫描分区表
  3. 从活动分区(又称主分区,即安装了操作系统的分区)读入分区引导记录,执行其中的程序
  4. 从根目录下找到完整的操作系统初始化程序(即启动管理器)并执行,完成“开机”的一系列动作

2.虚拟机

传统计算机体系结构如下图:
在这里插入图片描述

虚拟机:使用虚拟化技术,将一台物理机器虚拟化为多台虚拟机器(Virtual Machine, VM),每个虚拟机器都可以独立运行一个操作系统

①直接运行在硬件上的虚拟机(第一类)

在这里插入图片描述

将总硬件资源划分为多个部分,分别给多个虚拟机上使用。

注意:

  1. 只有虚拟机程序在内核空间,可以使用特权指令。
    上层操作系统在用户态,但是操作系统也会使用特权指令,当使用时会被虚拟机程序截获,虚拟机程序负责执行上层的特权指令。

②直接运行到宿主操作系统上的虚拟机(第二类)

在这里插入图片描述

③二者对比

两种不同虚拟机程序之间的对比

第一类VMM第二类VMM
对资源的控制权直接运行在硬件之上,能直接控制和分配物理资源运行在Host OS之上,依赖于Host OS为其分配物理资源
资源分配方式在安装GuestOS时,VMM要在原本的硬盘上自行分配存储空间,类似于"外核"的分配方式,分配未经抽象的物理硬件GuestOS拥有自己的虚拟磁盘,该盘实际上是HostOS文件系统中的一个大文件。GuestOS分配到的内存是虚拟内存
性能性能更好性能差,需要HostOS做中介
支持的虚拟机数量更多,不需要和HostOS竟争资源,相同的硬件资源可以支持更多的虚拟机更少,Host OS本身需要使用物理资源,HostOS上运行的其他进程也需要物理资源
虚拟机的移植性优,只需导出虚拟机镜像文件即可迁移到另一台HostOs 上,商业化应用更广泛
运行模式第一类VMM运行在内核空间,可以执行最高特权的指令。第二类VMM部分运行在用户态、部分运行在内核态(虚拟机驱动程序)。GuestOS发出的系统调用会被VMM截获,并转化为VMM对HostOS的系统调用
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐