操作系统基础

发布于:2026-05-11 #操作系统#基础#计算机科学 共 1,223 字 约 4 分钟

操作系统管理 CPU、内存、磁盘等硬件资源,为用户和应用程序提供稳定友好的运行环境。

操作系统四大特性

特性说明
并发性多个程序在同一时间段内运行
共享性多个进程共同使用系统资源
虚拟性一个物理资源映射为多个逻辑资源
不确定性执行顺序受调度和资源影响

五大核心功能

功能说明
进程管理调度、创建、撤销进程
存储管理内存分配、地址转换、虚拟内存
文件管理创建/删除文件、目录、权限
设备管理管理输入输出设备
作业管理组织用户提交的作业执行

进程管理

进程是运行中的程序实例,通过 PCB (进程控制块) 唯一标识。

Text
UTF-8|1 Line|
进程 = PCB + 程序 + 数据

三态模型

Text
UTF-8|3 Lines|
就绪 -> 运行 -> 等待
  ^      |       |
  +------+-------+
状态说明
就绪具备运行条件,只差 CPU
运行正在使用 CPU 执行
等待等待某事件/I/O 完成

五态模型在此基础上增加了就绪挂起阻塞挂起状态,用于进程换出内存。

前驱图

表示进程之间的先后依赖关系:

Text
UTF-8|3 Lines|
A \
B - -> D -> E
C /

A/B/C 可并行执行,D 需等三者完成,E 需等 D 完成。

资源分配图

  • P = 进程,R = 资源
  • R → P:资源已分配给进程
  • P → R:进程正在请求资源

形成循环等待链时可能触发死锁

同步与互斥

概念说明
互斥多个进程不能同时访问临界资源(如打印机、共享变量)
同步进程按指定顺序协调执行(如生产者-消费者)

信号量

通过 P/V 操作实现同步与互斥:

  • P 操作 (申请资源):S = S - 1,若 S < 0 则阻塞
  • V 操作 (释放资源):S = S + 1,若 S <= 0 则唤醒一个等待进程

死锁

死锁的四个必要条件:

  1. 互斥条件 — 资源一次只能被一个进程使用
  2. 请求并保持 — 进程已占资源并请求更多
  3. 不可剥夺 — 已分配资源不能强制剥夺
  4. 循环等待 — 进程间形成资源等待环

银行家算法

分配资源前判断系统是否处于安全状态,只有安全时才分配。核心数据结构:

Text
UTF-8|4 Lines|
Available  - 当前可用资源
Max        - 各进程最大需求
Allocation - 已分配资源
Need       - 还需资源 (= Max - Allocation)

线程

维度进程线程
资源单位拥有资源的单位不独立拥有资源
调度单位可调度最小调度单位
共享进程间隔离同进程线程共享内存、文件

存储管理

逻辑地址 vs 物理地址

Text
UTF-8|1 Line|
逻辑地址 -> 地址转换 -> 物理地址

三种存储方式

方式特点问题
分区存储固定/可变分区内部/外部碎片
页式存储等分页,通过页表映射无外部碎片
段式存储按逻辑结构分段有外部碎片
段页式存储先分段再分页地址转换复杂

页式存储将逻辑地址分为页号+页内地址,通过页表找到物理块号,拼接后得到物理地址。好处是无外部碎片、便于实现虚拟内存。