# 操作系统的逻辑结构

OS的设计和实现思路

# 逻辑结构的种类

  1. 整体式结构
  2. 层次式结构

029f066d939cff732ebc55b010cbcfba

  1. 微内核结构

操作系统 = 微内核 + 核外服务器

微内核:足够小,提供OS最基本的核心功能和服务

  • 实现与硬件紧密相关的处理
  • 实现一些基本的功能
  • 负责客户和服务器间的通信

核外服务器:完成OS的绝大部分服务功能,等待应用程序提出请求

  • 完成OS的绝大部分服务功能,等待应用程序提出请求
  • 由若干服务器或进程共同构成:例如进程/线程服务器、虚存服务器,设备管理服务器等,以进程形式运行在用户态

# CPU的态(Mode)

CPU的工作状态,对资源和指令使用权限的描述,一些特权指令(不能随便使用)
d69d70de6602ab4c7e1494644cc67ba8

# 态的分类

  • 核态(kernel mode):能访问所有资源和执行所有的指令,管理程序/OS内核
  • 用户态(User mode):仅能访问部分资源,其他资源受限,用户程序
  • 管态(Supervisor mode)
    介于核态和用户态之间

硬件按照“态”来区分CPU的状态
OS按照“进程”来区分CPU的状态

Intel CPU的态 Ring0~Ring3
9b683a5a580d882bfd2cc423be7d673c

# 中断机制

指CPU对外部的突发事件的反应过程或机制,CPU收到外部信号后,停止当前工作,转去处理外部事件,处理完毕后回到原来工作的中断处(断点)继续原来的工作。

# 中断源和中断类型

引起系统中断的事件称为中断源
中断类型:

  • 强迫性中断:程序没有预期,例如I/O、外部中断
  • 自愿中断:程序有预期的,例如执行访管指令(访问内核)
  • 外中断(中断):由CPU外部事件引起,例如I/O,外部事件
  • 内中断(俘获):由CPU内部事件引起,例如访管中断、程序中断

# 断点

程序中断的地方,将要执行的下一指令的地址
CS:IP 两个寄存器

# 现场

程序正确运行所依赖的信息集合

  • 现场的保护:进入中断服务程序之前,入栈
  • 现场的恢复:推出中断服务程序之后,出栈

# 中断响应过程

  1. 识别中断源
  2. 保护断点和现场
  3. 装入中断服务程序的入口地址(CS:IP)
  4. 进入中断服务程序
  5. 恢复现场和断点
  6. 中断返回:IRET