第二章 操作系统的硬件基础

支持操作系统的最基本硬件结构:CPU、内存、中断、时钟

CPU的态

CPU的工作状态,对资源和指令使用权限的描述
硬件按“态”来区分CPU的状态,OS按“进程”来区分CPU的状态

  • 核态

    • 能够访问所有资源和执行所有指令
    • 管理程序/OS内核
  • 用户态

    • 仅能访问部分资源,其他资源受限
    • 用户程序
  • 管态

    • 介于核态和用户态之间

用户态和核态之间的转换

  • 用户态向核态转换

    • 用户请求OS提供服务
    • 发生中断
    • 用户进程产生错误(内部中断)
    • 用户态企图执行特权指令
  • 核态向用户态转换

    • 一般是中断返回:IRET

存储器

  • 寄存器
  • 高速缓存(CACHE)
  • 主存:直接和CPU交换信息——内存
  • 辅存:不能直接和CPU交换信息——硬盘、软盘

中断定义

  • 指CPU对突发的外部事件的反应过程或机制
  • CPU收到外部信号(中断信号)后,停止当前工作,转去处理该外部事件,处理完毕后回到原来工作的中断处(断点)继续原来的工作
  • 引起系统中断的时间称为中断源

引入中断的目的

  • 实现并发活动
  • 实现实时处理
  • 故障自动处理

中断类型

  • 强迫中断和自愿中断

    • 强迫中断:程序没有预期:例:I/O、外部中断
    • 自愿中断:程序有预期。例:执行访管指令
  • 外中断(中断)和内中断(俘获)

    • 外中断:由CPU外部事件引起。例:I/O,外部事情
    • 内中断:由CPU内部事件引起。例:访管中断、程序中断
  • 外中断分为不可屏蔽中断和可屏蔽中断

    • 不可屏蔽中断:中断的原因很紧要,CPU必须响应
    • 可屏蔽中断:中断原因不很紧要,CPU可以不响应

中断响应过程

  1. 识别中断源
  2. 保护断点
  3. 保护现场
  4. 进入中断服务程序
  5. 恢复现场
  6. 中断返回

中断嵌套处理:高优先级打断低优先级中断服务

中断响应的实质

  • 交换指令执行地址
  • 交换CPU的态
  • 现场保护和恢复、参数传递(通信)

基本输入输出系统BIOS

  • 显示卡BIOS:C0000-C7FFF

  • IDE控制器BIOS:C8000-CBFFF

  • 系统BIOS:F0000-FFFFF,大小为64K

    功能:

    • 加电自检及初始化(POST)
    • CMOS设置
    • 系统自举/加载OS
    • 基本I/O服务(BIOS中断)

POST(Power On Self-Test)

按下PowerOn键开始执行POST程序

  • POST程序:执行首条指令(FFFF0):JMP POST;加电自检

    初始化基本硬件(CPU、内存、显卡)

CMOS设置

系统自举/加载OS

开机时加载并运行OS位用户建立用户环境

  • 现场引导方式:OS文件存储在本地存储设备
  • 下载引导方式:OS文件存储在网络存储设备中

基本I/O服务(BIOS中断)

BIOS使用的中断类型号为10H~1FH,每一组又分为不同的子功能,AH寄存器指定子功能编号。
INT 13H AH=02H 为读扇区

实模式和保护模式

  • 实模式

    • 寻址方式:物理地址(20位),可访问1MB空间(0~FFFFFh)
    • CPU单任务运行
  • 保护模式

    • 寻址方式:段(16位)和偏移量(32位),寻址4GB
      • 段的新含义和新工作机制
      • 段的属性:起始地址、存取属性、权限…
      • 段页式虚拟内存管理机制(段,页)
      • 新增多个寄存器(GDR,LDR,CR0,CR1,CR2)
    • 虚拟地址,进程,封闭空间
    • 应用程序和操作系统的运行环境都被保护
    • CPU支持多任务

操作系统的启动

从加电到用户工作环境准备好的过程

  • 初始引导
  • 核心初始化
  • 系统初始化

初始引导

目的:把OS内核装入内存并使之开始工作接管计算机系统

  • 加电,JUMP POST(FFFF0

  • 跳入BIOS的启动程序

    • 读取0面0道第一扇区内容
    • MBR(Master Boot Record):主启动记录:引导程序
      (BIOS 从MBR 读入引导程序,装入内存的特定位置)
  • 运行引导程序

    • 根据相关参数,读取硬盘指定位置的OS内核到内存
    • 初始化基本参数
  • OS内核:逐步加载OS剩余部分,直到最后完全控制计算机

核心初始化

目的:OS内核初始化系统的核心数据

各种寄存器的初始化、存储系统和页表初始化、核心进程构建…

系统初始化

目的:为用户使用系统做准备,使系统处于待命状态

初始化文件系统、初始化网络系统、初始化控制台、初始化图形界面…

MBR(主引导记录、主启动记录)

存放引导代码:OS启动相关的数据和代码,存放在主启动扇区(0面0道第一扇区),大小为512字节(510+AA55h)

  • 结构
    • 引导程序
    • 该磁盘的分区表
    • 主引导签名:55AA表示MBR结束

其中分区表的作用记录硬盘分区信息(多个操作系统)。每个分区的第一个扇区叫作分区引导记录(PartitionBoot Record,PBR),也叫次引导记录,其结构与MBR类似。

  • 功能
    • 直接指向引导代码加载OS
    • 提供启动选项菜单
    • 跳转到PBR以加载特定OS BootLoader
  • 工作原理
    • 初启过程
      POST\rightarrowCMOS设置\rightarrow读取MBR\rightarrow控制权交给MBR
    • MBR工作
      • MBR读取分区表,查找并确认唯一的活动分区
      • MBR读取活动分区PBR,并加载到内存
    • PBR控制后续引导过程
      • 读OS内核

操作系统原理复习 第二章 操作系统的硬件基础
https://lmc20020909.github.io/OSP_Chapter02/
作者
Liu Mingchen
发布于
2022年11月14日
许可协议