1/08/2026 175 BLOG

操作系统笔记

叁七

参考课程 / 资料:王道考研 操作系统


一、 计算机系统层次结构

[ 用户 ] ───> [ 软件 ] ───> [ 操作系统 ] ───> [ 硬件 ]

1.1 操作系统定义

操作系统(Operating System, OS):控制和管理整个计算机系统的硬件和软件资源,并合理组织、调度计算机的工作和资源分配,以提供给用户和其他软件方便的接口和环境,是计算机系统中最基础的系统软件。


二、 操作系统功能

2.1 作为系统资源的管理者

  • 处理机管理 / 进程管理:进程控制、进程同步、进程通信、死锁处理、处理机调度等。
  • 存储器管理:内存分配与回收、地址转换、内存保护与共享、虚拟内存。
  • 文件管理:文件存储空间管理、目录管理、文件读/写管理与保护。
  • 设备管理:缓冲管理、设备分配、设备驱动与处理。

2.2 向上层提供服务

  • 命令接口(供普通用户使用,非 GUI 接口):
    • 联机命令接口:交互式执行(如终端命令行)。
    • 脱机命令接口:批处理执行(如批处理脚本 .bat / .sh)。
  • 程序接口(供程序员使用):通过系统调用(System Call)提供给应用程序使用。
  • GUI 接口(图形用户界面):通过图标、窗口等形式方便用户操作。

2.3 对硬件机器的扩展

  • 操作系统对裸机进行扩充,提供更方便、更强大的服务,称为虚拟机 / 扩充机器

三、 操作系统的四大特征

并发共享是操作系统最基本的两个特征,二者互为存在条件。

3.1 并发(Concurrency)

  • 概念:指两个或多个事件在同一时间间隔内发生(宏观上同时发生,微观上交替执行)。
  • 对比
    • 并发:单核 CPU 在同一时刻只执行一个程序,各程序微观上交替执行。
    • 并行(Parallelism):多核 CPU 同一时刻可以执行多个程序,各程序微观上同时执行。

3.2 共享(Sharing)

  • 概念:系统资源可供内存中多个并发执行的进程共同使用。
  • 共享方式
    • 互斥共享:一段时间内只允许一个进程访问该资源(如摄像头、打印机等临界资源)。
    • 同时共享:允许微观上交替或宏观上同时访问该资源(如磁盘读写、可重入代码等)。

3.3 虚拟(Virtual)

  • 概念:把一个物理上的实体变为若干个逻辑上的对应物。物理实体是实际存在的,逻辑对应物是用户感受到的。
  • 主要技术
    • 空分复用技术:如虚拟存储器技术(物理内存不足时逻辑上扩展内存空间)。
    • 时分复用技术:如虚拟处理器技术(单 CPU 通过分时复用逻辑上变为多个 CPU)。

3.4 异步(Asynchronism)

  • 概念:在多道程序环境下,多个程序并发执行,但由于资源有限,进程的执行不是一贯到底,而是“走走停停”,以不可预知的速度向前推进。

四、 操作系统的发展历程

手工操作阶段 ──> 单道批处理系统 ──> 多道批处理系统 ──> 分时操作系统 ──> 实时操作系统 ──> 网络/分布式/个人计算机操作系统

五、 操作系统的运行机制与体系结构

5.1 内核与指令集

  • 内核(Kernel):操作系统最核心的部分,由核心内核程序组成。
  • 指令分类
    • 特权指令:只允许操作系统内核程序执行(如修改 PSW、关中断、清内存等)。
    • 非特权指令:应用程序和内核程序均可执行(如基本算术运算、逻辑运算等)。

5.2 CPU 状态(处理器模式)

CPU 中有一个寄存器称为程序状态字寄存器(PSW),用来指示当前 CPU 所处的运行状态:

  • 内核态(管态 / 核心态):能够执行特权指令和非特权指令,运行内核程序。
  • 用户态(目态):只能执行非特权指令,运行用户应用程序。

5.3 状态切换

  • 内核态 ──> 用户态:执行一条修改 PSW 的特权指令(如中断返回指令)。
  • 用户态 ──> 内核态:通过中断/异常机制实现,由硬件自动完成(非特权指令无法直接切换状态)。

六、 中断和异常

中断是操作系统内核重新夺回 CPU 使用权的唯一途径

6.1 中断分类

  • 内中断(又称 异常 / Exception / Internal Interrupt)
    • 信号来源于 CPU 内部,与当前执行的指令相关。
    • 分类 / 原因
      1. 指令非法/参数非法:如除零异常、缺页中断、非法访问地址。
      2. 陷入指令(Trap / 访管指令):应用程序主动请求内核服务时执行,陷入指令是非特权指令,但会引发内中断使 CPU 切换到内核态。
  • 外中断(狭义的中断 / Interrupt / External Interrupt)
    • 信号来源于 CPU 外部,与当前执行的指令无关。
    • 分类 / 原因
      1. 时钟中断:由时钟部件发来的中断信号,用于进程调度和时间片管理。
      2. I/O 中断:由输入/输出设备发送的中断信号,告知内核数据传输或任务已完成。

6.2 中断处理的基本原理

  1. CPU 每执行完一条指令后,硬件会自动检测是否有外中断信号。
  2. 不同的中断信号对应不同的中断处理程序
  3. CPU 检测到中断信号后,会根据中断类型查询中断向量表,找到对应中断处理程序在内存中的入口地址并跳转执行。

七、 系统调用

7.1 概念

系统调用(System Call)是操作系统提供给应用程序调用的接口,应用程序可以通过系统调用向操作系统内核请求服务(如文件读写、内存分配、进程创建等)。

7.2 系统调用与库函数的区别

  • 普通库函数:运行在用户态,部分库函数内部会封装系统调用,部分纯计算库函数则不会。
  • 系统调用:运行在内核态,提供底层资源管理和服务。

7.3 系统调用的执行过程

  1. 用户程序传递参数:将系统调用所需的参数放入寄存器或栈中。
  2. 执行陷入指令(Trap / Syscall / Int):引发内中断,CPU 状态从用户态转为内核态
  3. 内核处理:由操作系统内核中的系统调用处理程序根据服务号执行相应逻辑。
  4. 返回用户态:处理完毕后恢复现场,CPU 返回用户态继续执行用户程序。

操作系统体系结构

大内核(宏内核/单内核)

将操作系统的主要功能模块都作为系统内核运行在和心态
包含进程管理、存储器管理、设备管理、时钟管理、中断处理、原语完整功能的内核结构
优点:高性能
缺点:内核代码庞大,结构混乱,难以维护
如linux UNIX

微内核

只把最基本的功能保存在内核
只包含时钟管理、中断处理、原语的结构
进程、存储、设备管理属于用户态
优点:内核功能少,结构清晰,便于维护
缺点:需要频繁在核心态与用户态切换,性能低
如Windows NT

分层结构

最底层硬件,最高层用户接口 每层可调用更低一层
缺点:只能高层调用低层 不可跨层导致效率低

模块化

将内核划分位多个模块 各模块相互协作
内核=主模块+可加载模块
优点:清晰易于维护,确定接口即可同时开发 通信效率高 支持动态加载新模块
缺点: 模块接口定义未必合理实用 相互依赖更难调试验证

外核

负责为用户进程分配未经抽象的硬件资源,并保证资源使用安全
减少了虚拟硬件资源的映射层,提高了效率
缺点:降低一致性 使系统变得复杂

操作系统引导(Boot)

磁盘:主引导记录(MBR)+C盘(引导记录PBR负责找到启动管理器+根目录+其他)+D……

虚拟机

使用虚拟化技术,把一台物理机器虚拟化为多台虚拟机器,每个虚拟机器都可以独立运行一个操作系统
第一类VMM,直接运行在硬件上。性能更好
第二类VMM,运行在宿主操作系统上,易于迁移

处理机管理

进程

程序:静态可执行文件
进程:动态,是程序执行过程

进程被创造初始会被分配一个唯一不重复的PID 用于区分进程
记录给进程分配了哪些资源(内存、I/O设备、文件)实现资源管理
记录运行情况(CPU使用时间、磁盘/网络使用情况等)实现进程控制调度
这些数据都被保存在一个数据结构——PCB(进程控制块)中
进程包括PCB、程序段、数据段
程序段: 程序的代码(指令序列)
数据段:运行中产生的各种数据

进程特性:动态性、并发性、独立性、异步性、结构性

进程的状态

创建态、就绪态、运行态、阻塞态、终止态

进程控制

用原语实现对进程的控制
原语的执行具有原子性,即执行过程只能一气呵成,期间不允许被中断
可以用关中断指令和开中断指令两个特权指令实现原子性
进程的创建:用户登录、作业调度、提供服务、应用请求
进程的中止:正常结束、异常结束、外界干预

< 上一篇:没有了
— S.Q. —
下一篇:计算机网络笔记 >
首页 相册 小说 AI