概要

我总结了 2009~2024 年 408 操作系统的选择题部分. 简要分析了其命题规律, 将所有题目分为 7 类进行归纳, 并对解题手段做了简要介绍.

分类标准纯主观, 解题手段纯主观.

命题规律与解题手段

题目的考察内容与考试大纲大致符合.

与前两科不同, 操作系统的试题内容与结构并未严格遵守大纲, 而是非常跳跃与综合. 很多选项你很难在特定的教材上找到, 试题内容很明显综合了多本教材.

举一些例子:

  1. 进程, 子进程, 线程资源的共享在不同教材里有不同的说法与侧重点, 不同的 os 里也有不同的实现, 但 408 对子进程, 线程的资源继承与共享明显有一个默认的规则 (高频考点).
  2. 操作系统的引导与初始化有众多实现, 但 408 明显默认采用了一种特定的实现 (2021 年第 46 题), 而且很侧重中断向量表相关的内容 (2022 年第 24 题, 2023 年第 23 题).
  3. 时钟并未出现在大纲中, 某些教材也并没有讲解, 但 408 多次出现与时钟相关的内容.

题目常常不孤立考察某个概念, 而是涉及到操作系统的每一个模块. 有时还会考察某操作在内核里的实现细节, 尤其是内核对相关数据结构和内存的处理. 如果并不知道具体的实现, 需要依靠合理推断来做题.

举一些例子:

  1. 2024 年第 24 题考察了终止进程时 os 对外部设备, 内存, 进程数据结构的处理.
  2. 2021 年第 25 题和 2018 年第 29 题考察了解 os 对时钟中断和进程数据结构的处理.
  3. 2014 年第 29 题考察了进程打开文件过程中 os 对内存缓冲区和进程数据结构的处理.

408 的操作系统综合了多本教材, 很多地方找不到明确的标准. 但经核查, 这些地方都与_北大某教授_的操作系统课件内容高度相似. 相关资料在网上有公开.

分类归纳

操作系统基础概念, 运行环境与机制, 引导与初始化

进程线程模型

同步互斥的概念与实现, 死锁的概念

内存, 外存, 存储管理

文件模型, 文件系统及其实现

I/O 概念, I/O 层次, I/O 实现

操作系统各模块的算法

包含处理机调度, 页面置换, 磁盘调度, 死锁避免, 死锁检测.

总结

像基本概念, 中断异常, 存储器, 虚拟内存, I/O 等知识在计组里已经学过了, OS 只是从软件视角重新走一遍. 计组学扎实了操作系统里有一大半甚至都不用学了.

理解操作系统的设计思路, 熟悉内核的数据结构的相关操作之后, 所有概念题都不是难点. 剩下的就是练习各模块的常见算法, 会手动模拟即可.