当前位置: 首页 > news >正文

操作系统引导和虚拟机(包含os结构,选择题0~1题无大题)

操作系统引导

基本概念

活动分区:启动os的地方

分区表:一个数据结构,说明了每一个盘当中分别占多大空间,每个盘的地址范围

os引导过程(开机过程)

cpu从一个特定主存地址开始取指令,执行ROM(BIOS)中的引导程序(自举程序):硬件初始化,硬件自检

将磁盘的第一块---主引导记录(MBR)读入内存,执行磁盘引导程序,扫描分区表

从活动分区(主分区,安装了os的分区)读入分区引导记录(PBR,负责找到“启动管理器”),执行其中 程序

从根目录下找到完整的os初始化程序(启动管理器)并执行,完成开机操作

补充:ROM不会因为断电而丢失数据

虚拟机

基本概念

虚拟机管理程序(虚拟机监控程序、VMM):使用虚拟化技术,将一台物理机器化成多台虚拟机,每个虚拟机都可以单独运行一个os

第一类VMM直接运行在硬件上

用户空间包含虚拟用户空间,虚拟内核空间

内核空间:虚拟机管理程序

当虚拟机当中的os想要运行特权指令,实际上是由vmm进行转换。因为在虚拟机中的os属于用户态。内核态只有VMM

第二类VMM运行在宿主操作系统上

用户空间包含虚拟用户空间,虚拟内核空间、虚拟机管理程序,宿主os进程

内核空间:宿主操作系统,VMM一部分以虚拟机驱动程序的方式加载到宿主操作系统内核态

两类虚拟机管理程序(VMM)的对比

对物理资源的控制权

第一类:直接运行在硬件上,能直接控制和分配物理资源

第二类:运行在host os上,依赖它分配物理资源

资源分配方式

第一类:安装Guest OS时,VMM要在原本的硬盘上自行分配存储空间,类似“外核”的分配方式,分配未经抽象的物理硬件

第二类:Guest OS拥有自己的虚拟磁盘,实际上就是host os文件系统的一个大文件。分配到的内存是虚拟内存

性能

第一类:更好

第二类:更差,需要host os作为媒介

可支持的虚拟机数量

第一类:更多,不需要跟host os竞争资源,相同的硬件资源可以支持更多的虚拟机

第二类:更少,host os本身也要使用物理资源,运行的进程也需要物理资源

虚拟机的可迁移性

第一类:更差

第二类:更好,只需要导出虚拟机镜像文件即可迁移,商业用途广泛

运行模式

第一类:运行在最高特权级(Ring 0),可以执行最高特权指令

补充:可以给虚拟内核空间分配中等特权指令,这样就可以解决第一类VMM的操作系统执行特权指令都需要转换的问题了

第二类:部分运行在用户态,部分运行在核心态,guest os发出的系统调用会被VMM截获,由VMM代理对host os进行系统调用

错题总结

单向依赖、单项调用、易扩展、功能分层式结构os的特点,层次定义好后,相当于各层之间的依赖关系也就固定了,依赖不够灵活

微内核os特点:内核足够小、基于客户/服务器模式(c/s模式)、应用“机制与策略分离”原理、采用面向对象技术

采用微内核结构的os中,内核功能通常有:(IPC 机制)进程/线程通信功能、低级I/O功能、低级进程管理和调度、中断和陷入处理。

微内核结构的优点:添加系统服务时,不必修改内核(使得微内核架构的可扩展性和灵活性更强),系统可靠、微内核结构稳定(内核服务越少内核越稳定)

微内核缺点:性能不行

windows是宏内核os、windows NT是微内核os

由于微内核结构能有效支持多处理机运行并且在微内核架构中,客户和服务器之间、服务器与服务器之间的通信采用消息传递机制,故非常适合于分布式操作系统环境

微内核:可增加os的可靠性、可移植性、可扩展性、安全性。

用户进程可以通过调用"库"请求os外核的服务

常驻内存的只是os内核,其他部分仅在需要时调入

引导程序分为两种:一种是位于ROM中的自举程序(BIOS的组成部分),用于启动具体的设备;另一种是位于装有操作系统硬盘的活动分区的引导扇区中的引导程序(称为启动管理器),用于引导操作系统。

计算机启动过程:cpu加电,cs:ip指向FFFF0H,执行JMP指令跳转到BIOS,登记BIOS中断程序入口地址,硬件自检,进行操作系统引导

BIOS 将控制权交给排在首位的启动设备后,CPU将该设备主引导扇区的内容(主引导记录MBR)加载到内存中,然后由MBR检查分区表,查找活动分区,并将该分区的引导扇区的内容(分区引导记录 PBR)加载到内存加以执行。

软件能实现的功能也能由硬件实现,因为虚拟机软件能实现的功能也能由硬件实现只有在(拥有多核处理机)物理机器上才能多台虚拟机同时运行实现真正并行,类似于多个程序运行在同一个系统中。

VMware workstation 虚拟机属于第二类虚拟机管理程序如果真实硬件直接执行虚拟机中的敏感指令,那么该指令非法时可能会导致宿主操作系统崩溃,而这是不可能的,实际上是由第二类虚拟机管理程序模拟真实硬件环境。虚拟机看起来和真实物理计算机没什么两样,因此当然可以安装多个操作系统VMware workstation 就是一个安装在计算机上的程序,在创建虚拟机时会为该虚拟机创建一组文件,这些虚拟机文件都存储在主机的磁盘上。

VMM的功能没有os的功能复杂,代码量少于一个完整的os

os初始化的过程中需要创建中断向量表,以实现通电自检POST,CPU检测到中断信号后,根据中断号查询中断向量表,跳转到相应的中断处理程序

在硬盘逻辑格式化之前,需要先对硬盘进行分区,即创建硬盘分区表。分区完成后,对物理分区进行逻辑格式化(创建文件系统),为每个分区初始化一个特定的文件系统,并创建文件系统的根目录。如果某个分区采用 Unix 文件系统,则还要在该分区中建立文件系统的索引结点表

考研 408 高频考点总结

1. 引导流程三阶段模型
  • 固件阶段(BIOS/UEFI)

    • 核心功能
      • 上电自检(POST):检测硬件完整性。
      • 初始化中断向量表:建立中断号与处理程序的映射9。
      • 启动设备选择:根据 CMOS 设置查找启动盘(如硬盘、U 盘)。
    • 关键术语:BIOS(传统固件)、UEFI(新型固件,支持更大磁盘和安全启动)。
  • MBR 阶段(Master Boot Record)

    • 核心功能
      • 加载主引导记录(MBR):位于磁盘 0 磁道 0 扇区,包含分区表和引导代码。
      • 查找活动分区:通过分区表标记确定操作系统所在分区9。
    • 命题陷阱
      • MBR 的大小固定为 512 字节,其中最后两个字节为 0x55AA 标志。
      • 分区表最多支持 4 个主分区(或 3 主 + 1 扩展)。
  • PBR 阶段(Partition Boot Record)

    • 核心功能
      • 加载分区引导记录(PBR):位于活动分区的第一个扇区,包含文件系统引导程序(如 GRUB)。
      • 执行操作系统加载程序:将内核映像从磁盘读入内存并跳转执行9。
    • 关键术语:启动管理器(Boot Loader)、根文件系统挂载。
2. 磁盘初始化流程
  • 物理初始化:划分扇区,创建校验码等底层结构。
  • 分区:通过 MBR/PBR 划分主分区、扩展分区和逻辑分区。
  • 逻辑初始化:格式化分区,创建文件系统数据结构(如 inode 表、FAT 表)9。
3. 典型错误分析
  • 错误表述:“BIOS 直接加载操作系统内核”。
  • 正确逻辑:BIOS→MBR→PBR→内核,BIOS 仅负责启动设备选择和 MBR 加载9。
4. 真题高频考点
  • 引导顺序:BIOS→MBR→活动分区 PBR→内核初始化。
  • 关键文件系统
    • Unix/Linux:根文件系统必须包含 init 进程。
    • Windows:NTLDR(旧)或 Bootmgr(新)负责引导。

三、虚拟机高频考点

1. 虚拟机管理程序(Hypervisor)分类
  • Type 1(裸金属架构)

    • 特点:直接运行在物理硬件上,性能高、安全性强。
    • 典型案例:VMware ESXi、KVM。
    • 命题陷阱:Type 1 Hypervisor 无需宿主 OS,自身承担资源管理67。
  • Type 2(寄居架构)

    • 特点:运行在宿主 OS 之上,依赖宿主 OS 提供硬件抽象。
    • 典型案例:VMware Workstation、VirtualBox。
    • 命题陷阱:Type 2 Hypervisor 通过二进制翻译或半虚拟化处理敏感指令,性能低于 Type 167。
2. 敏感指令处理
  • 问题:虚拟机中执行特权指令可能导致宿主 OS 崩溃,如何解决?
  • 解决方案
    • 硬件辅助虚拟化(如 Intel VT-x/AMD-V):CPU 提供虚拟化扩展,将敏感指令截获到 VMM 处理10。
    • 二进制翻译:VMM 动态替换敏感指令为等效操作(如修改 CR3 寄存器时触发 VMM 介入)。
3. 虚拟机与容器的区别
  • 核心差异
    • 隔离性:虚拟机通过 Hypervisor 实现硬件级隔离,容器共享宿主 OS 内核。
    • 资源开销:虚拟机启动慢、占用资源多;容器轻量级、启动快。
  • 命题陷阱:容器技术(如 Docker)属于操作系统层虚拟化,非硬件虚拟化。
4. 硬件辅助虚拟化优势
  • 性能提升:减少 VMM 模拟开销,支持内存虚拟化(EPT)和 I/O 虚拟化(SR-IOV)10。
  • 安全性增强:通过 VMCS(Virtual Machine Control Structure)隔离虚拟机状态。
5. 真题高频考点
  • VMware Workstation 类型:Type 2 Hypervisor,依赖宿主 OS host。
  • 虚拟机启动流程:VMM 创建虚拟机→加载客户 OS 内核→模拟硬件中断 / 异常。
http://www.xdnf.cn/news/1057339.html

相关文章:

  • 编译链接实战(27)动态库实现变了,可执行程序需要重新编译吗
  • 互联网思维概念和落地
  • 如何写一个简单的python类class
  • 影视剧学经典系列-梁祝-《闲情赋》
  • 如何让DeepSeek-R1-Distill-Qwen-32B支持Function calling
  • 学习昇腾开发的第三天--将服务器连接网络
  • 【锂电池剩余寿命预测】XGBoost锂电池剩余寿命预测(Pytorch完整源码和数据)
  • 外观模式Facade Pattern
  • 02- 六自由度串联机械臂(ABB)运动学分析
  • C++面向对象编程:简洁入门
  • RPG29:制作ui基础
  • YoloV12改进策略:Block改进|MKP,多尺度卷积核级联结构,增强感受野适应性|即插即用|AAAI 2025
  • 命令模式Command Pattern
  • 多线程并发编程硬核指南:从互斥锁到生产者模型的全场景实战与原理揭秘
  • C++(初阶)(二十一)——unordered_set和unordered_map
  • Addressable-引用计数
  • DDD领域驱动设计学习路线
  • VS202静态库制作和使用指南
  • 【Android】输入路由
  • 将CVAT点云格式标注格式由datumaro转换为kitti格式
  • 软件测试用例(一)
  • Java锁机制:ReentrantLock深度解析与锁粒度优化实践(时序图详解)
  • 交互式编程:编程范式的静默革命
  • 在windows10上安装nvm以及配置环境
  • 【推荐】城市灾害应急管理系统【面试模拟题目——字节跳动面试原题】
  • java复习 13
  • (二十八)深度解析领域特定语言(DSL)第六章——语法分析:巴科斯-诺尔范式
  • 适合 Acrobat DC 文件类型解析
  • 6.15 操作系统面试题 锁 内存管理
  • Appium + .NET 测试全流程