_ 计算机操作系统知识文档(考研复试与系统学习重点).md 8.6 KB


一、操作系统概述

1.1 定义与核心目标

  • 定义:操作系统(OS)是管理计算机硬件与软件资源的系统软件,作为用户与硬件之间的接口,提供任务调度、资源分配、设备控制等功能。
  • 核心目标
    • 有效性:提高资源利用率(如CPU、内存)和系统吞吐量。
    • 方便性:通过GUI、命令接口或系统调用简化用户操作。
    • 可扩展性:适应硬件和应用的升级需求(如微内核架构支持模块化扩展)。
    • 开放性:遵循国际标准,支持跨平台兼容性(如网络协议兼容)。

1.2 基本功能

  1. 处理器管理:进程调度、同步与通信。
  2. 存储管理:内存分配、虚拟内存实现。
  3. 文件管理:文件系统组织、权限控制。
  4. 设备管理:硬件驱动、I/O控制。
  5. 用户接口:GUI、命令行、系统调用。

1.3 基本特征

| 特征 | 描述 | 技术实现 |
|-----------|----------|--------------|
| 并发 | 多任务交替执行(单核)或并行执行(多核) | 进程/线程调度、时间片轮转 |
| 共享 | 资源被多个进程共用,分互斥共享(如打印机)和同时访问(如磁盘) | 信号量、临界区 |
| 虚拟 | 物理资源抽象为逻辑资源(如虚拟内存、虚拟CPU) | 时分复用(CPU)、空分复用(内存) |
| 异步 | 进程执行顺序不可预测,受资源竞争影响 | 进程状态管理、中断处理 |


二、进程管理

2.1 进程与线程

  • 进程:资源分配的基本单位,拥有独立内存空间(PCB描述)。
  • 线程:CPU调度的最小单位,共享进程资源,轻量级执行流。
  • 对比
    | 对比项 | 进程 | 线程 |
    |------------|------|------|
    | 资源开销 | 大(独立内存) | 小(共享内存) |
    | 通信成本 | 高(需IPC) | 低(共享变量) |
    | 切换速度 | 慢(上下文切换) | 快(仅寄存器) |

2.2 进程状态模型

  • 五状态模型
    | 状态 | 描述 |
    |------------|--------------------------|
    | 创建 | 分配PCB,资源未就绪。 |
    | 就绪 | 仅缺CPU,等待调度。 |
    | 执行 | 占用CPU运行指令。 |
    | 阻塞 | 等待I/O或资源,让出CPU。 |
    | 终止 | 释放资源,回收PCB。 |

2.3 进程同步与通信

  • 经典问题
    • 生产者-消费者:缓冲区同步问题,需信号量控制(empty/full/mutex)。
    • 哲学家进餐:死锁避免策略(如限制同时拿筷子数)。
  • 同步机制
    • 互斥锁:保证临界区资源独占访问。
    • 信号量:控制资源数量的计数器(P/V操作)。
    • 管程:封装共享变量和操作的高级同步结构。

2.4 调度算法

| 算法 | 特点 | 适用场景 |
|----------------|----------------------------------------|--------------|
| FCFS | 非抢占,公平但平均等待时间长。 | 批处理系统 |
| SJF | 最短作业优先,减少平均等待时间。 | 短任务密集 |
| 时间片轮转 | 公平分配CPU时间片,适用于分时系统。 | 交互式系统 |
| 优先级 | 高优先级优先,可抢占或非抢占。 | 实时系统 |


三、存储管理

3.1 内存管理

  • 分区分配:固定分区(易碎片) vs 动态分区(需紧凑技术)。
  • 分页机制:逻辑地址分为页,物理地址分为帧,页表映射。
  • 分段机制:按逻辑模块划分段,支持共享与保护。

3.2 虚拟内存

  • 原理:将部分程序装入内存,其余保留在磁盘(页式/段式)。
  • 页面置换算法
    • OPT:理想算法,淘汰未来最久不用的页。
    • LRU:淘汰最近最少使用的页(近似实现:时钟算法)。
    • FIFO:可能产生Belady异常(增加帧数反增缺页率)。

四、文件系统

4.1 文件管理功能

  1. 存储空间管理:位图、空闲链表跟踪磁盘块。
  2. 目录结构:树状目录(Windows/Linux)或图形化结构(macOS)。
  3. 文件操作:创建、删除、读写、权限控制(如Linux的chmod)。

4.2 文件系统类型

| 类型 | 特点 | 实例 |
|------------|------------------------------|----------------|
| FAT32 | 兼容性好,单文件最大4GB。 | 早期Windows |
| NTFS | 支持加密、压缩、大文件。 | Windows主流 |
| ext4 | 日志功能,高可靠性。 | Linux主流 |
| APFS | 优化闪存性能,支持快照。 | macOS |


五、设备管理

5.1 设备管理功能

  1. 缓冲技术:减少CPU与设备的等待时间(如磁盘缓存)。
  2. SPOOLing:将独占设备虚拟为共享设备(如打印机假脱机)。
  3. 驱动管理:内核模块与硬件交互(如USB驱动加载)。

5.2 I/O控制方式

  • 程序查询:CPU轮询设备状态,效率低。
  • 中断驱动:设备完成操作后通知CPU。
  • DMA:直接内存访问,减少CPU干预。

六、系统配置与优化

6.1 操作系统安装

  1. 选择系统:根据需求选Windows(易用)、Linux(开发)或macOS(设计)。
  2. 安装步骤:制作启动盘(Rufus工具)、BIOS设置U盘启动、分区与格式化。

6.2 性能优化

  • 磁盘清理:定期删除临时文件(Windows磁盘清理工具)。
  • 启动项管理:禁用非必要自启程序(msconfig或任务管理器)。
  • 虚拟内存调整:手动设置分页文件大小(避免系统自动管理延迟)。

七、安全与保护机制

7.1 安全威胁

  • 恶意软件:病毒、蠕虫、木马(需安装防病毒软件如Windows Defender)。
  • 权限提升:缓冲区溢出攻击(需代码安全审计)。

7.2 保护机制

  1. 访问控制:用户权限分级(如Linux的root与普通用户)。
  2. 加密技术:文件加密(BitLocker)、通信加密(SSL/TLS)。
  3. 备份与恢复:定期系统镜像备份(如Windows系统还原点)。

八、操作系统发展历史

8.1 发展阶段

  1. 手工操作(1940s):无OS,直接操作硬件。
  2. 批处理系统(1950s):磁带机批量处理任务。
  3. 分时系统(1960s):多用户交互(如UNIX)。
  4. 现代OS(1980s后):图形化界面、网络支持、多核并行。

8.2 典型操作系统

| 类型 | 特点 | 代表系统 |
|----------------|------------------------------|--------------|
| 桌面OS | 图形化交互,易用性强。 | Windows、macOS |
| 服务器OS | 高稳定性、支持多任务并发。 | Linux、Windows Server |
| 实时OS | 严格响应时间约束(如工业控制)| VxWorks、RT-Linux |


九、常见问题与真题示例

9.1 高频考点

  • 进程 vs 线程:资源分配与调度的区别。
  • 死锁条件:互斥、占有且等待、不可抢占、循环等待。
  • 页面置换算法对比:LRU与FIFO的缺页率差异。

9.2 真题示例

题目:某系统采用分页存储管理,逻辑地址24位,页面大小4KB,页表项4B,求页表长度和逻辑地址结构。
解答

  • 页面大小=4KB=(2^{12}) → 页内偏移12位。
  • 页号位数=24-12=12位 → 页表长度=(2^{12}=4096)项。
  • 逻辑地址结构:页号12位 + 页内偏移12位。

十、记忆口诀与学习建议

  1. 进程状态口诀
    > “创建就绪等CPU,执行阻塞资源求,终止释放万事休。”
  2. 死锁避免四策略
    > “互斥等待不可抢,循环等待破局方。”
  3. 学习建议:结合实验(如Linux内核模块编程)加深理解。

参考文献与扩展阅读

  • 操作系统原理与实现技术(书籍推荐)
  • Linux内核源码分析(如进程调度模块)
  • 考研真题解析与模拟题训练