简介这份手写笔记围绕桂电操作系统期末考点整理面向备考本科生的复习场景帮助快速串联操作系统基本概念、进程管理、存储管理、文件管理和设备管理等章节。笔记按章节标注了考试占比并重点梳理了三态模型、进程调度算法比较、信号量同步、死锁条件与银行家算法、动态分区分配、页面置换算法、文件物理结构与多重索引、缓冲技术与虚拟设备等高频内容同时配有地址转换、安全序列、快表命中时间等典型例题思路有助于在考前突破计算与应用题。资源以单个PDF文件提供共4.47MB便于在电脑或移动设备上按章节翻阅。当前已有543人学习过这份笔记适合作为考前查漏补缺和快速回顾的辅助材料。1. 为什么一份手写笔记比一沓PPT更值得你翻烂期末周翻出某高校操作系统课程的手写笔记PDF时最值钱的不是那些工整的标题和红笔划过的重点而是你当时写下它们时留下的思维痕迹。操作系统这门课的知识点密度极高进程管理、内存管理、文件系统、设备管理互相纠缠PPT一页接一页翻过去很容易产生“看一眼就懂、合上书就忘”的错觉。手写笔记则不一样它天然经过了你的手和脑的筛选能直接告诉你哪些是真正没掌握的环节。这篇笔记的价值不是让你去背它而是让你拿它当复习的骨架沿着自己在纸上留下的逻辑漏洞把整门课重新过一遍。接下来我会从操作系统复习的主干开始讲再教你如何把零散知识整理成纸上的一页图然后列一份典型翻车清单最后给出考场前最实用的一套验证方法。适合考前两周到考前一天的任意阶段使用新手能跟着走已经复习过一轮的人也能从坑里捞回不少分。2. 操作系统期末复习的主干先拿住进程、内存和文件系统这三根支柱操作系统内容看起来多期末考试真正能拉开差距的就集中在三根支柱上进程与并发、内存管理、文件与设备。这三块几乎涵盖了所有大题和一半以上的选择题。复习时不能按章节顺序从头翻而要按知识依赖关系搭框架否则就会出现“知道调度算法却算不出周转时间”这类尴尬。2.1 进程与线程复习时要分清“管理了什么”而不是背状态名进程这一章最容易陷入的状态是死记状态转换图。就绪、运行、阻塞三个状态来回切画图谁都会但期末卷子很少直接让你画图而是给出一个场景比如“某进程请求打印机此时状态如何变化”很多人在这一步就懵了。原因是没把“状态”和“资源”绑定在一起。进程状态变化背后是资源的获取与释放请求打印机导致阻塞不是进程自己累了是因为它需要的设备被占用。复习进程管理的正确顺序是先看进程控制块PCB里存了什么再去看状态转换最后才是调度。你可以在笔记上这样写“PCB 进程的唯一身份证调度器根据PCB里的优先级、状态、上下文来找进程。”然后自己画一张表把就绪队列、阻塞队列和运行态之间的转移条件写清楚旁边标注触发者是谁是进程自己主动等待还是被调度器剥夺CPU。这一步做好后面学同步互斥时思路会清晰很多。调度算法的复习则要落到计算上。先弄懂先来先服务FCFS、短作业优先SJF、时间片轮转RR、优先级调度这四种算法的核心指标周转时间和平均周转时间。不要只背算法名要在纸上模拟一个最简单的例子比如三个进程的到达时间分别是0、1、2服务时间分别是5、3、1分别算出FCFS和RR时间片为2的甘特图。手写笔记上适合放这类对比因为考试时你需要在五分钟内算出结果平时靠脑内模拟是练不出手感的。2.2 内存管理把地址转换和置换策略串成一条线内存管理是全书最抽象的部分原因在于它同时涉及硬件和软件。很多同学复习时把页表、段表、快表分别背了一遍但考试题目只要把“逻辑地址转物理地址”和“缺页中断”放在一个场景里就不知道这两者怎么衔接。本质问题是没有理解地址转换是一条完整链路CPU发出逻辑地址页表记录映射关系快表负责加速如果没有命中就查内存中的页表页表项缺失就触发缺页中断由操作系统决定把哪个页面换进来。复习时建议沿着这条链路走一遍并在笔记上画出流水线示意不需要多漂亮但每一步要标注数据来源和可能的异常分支。然后单独练习地址转换计算题重点是搞清楚页号和页内偏移的位数怎么划分。比如逻辑地址16位、页大小1KB那么页号占6位页内偏移占10位。这类题在考场上只要把公式写对再用二进制拆分地址基本稳拿。置换策略更像是一道“策略应用题”。最佳置换算法OPT没法实现只能作为比较标准先进先出FIFO会出现Belady异常最近最久未使用LRU是考试常客但很多人在手工模拟LRU时忘记更新访问顺序。我的做法是在笔记上画一个容量为3的物理块每次访问一个页面就把该页面提到最右侧缺页时淘汰最左侧的。这个方法虽然笨但准确率极高考场时间紧张时最可靠。2.3 文件与设备从inode到IO调度建立完整数据路径文件系统是期末复习中性价比最高的一块因为它逻辑清晰、分点明确背下来就有分。但容易出错的点在于把“用户视角的文件”和“磁盘上的存储结构”混在一起。比如你知道文件名是给人看的但系统真正识别文件靠的是文件描述符或inode编号。复习时要把文件系统拆成三层用户接口层文件目录、路径、文件组织层索引节点、文件控制块、存储设备层磁盘块、空闲空间管理。三层之间的关系是你打开文件、读写文件时操作系统逐层完成翻译的过程。在笔记上可以画一个打开文件的全过程用户输入文件名 → 系统在目录中查找对应项 → 找到inode → 根据inode中的索引表找到数据块 → 把数据读入缓冲区。这个流程理顺了关于硬链接、软链接的题目就很好做了。硬链接是多个目录项指向同一个inode软链接是一个独立文件它的内容存的是目标路径。试卷里很喜欢给一个场景问“删除原文件后硬链接还能不能访问”答案是能因为inode还在只是链接数减一。设备管理部分不用花太多精力重点记住缓冲区和SPOOLing技术以及磁盘调度算法里面的最短寻道时间优先SSTF和电梯算法SCAN。这里最容易丢分的地方是计算磁头移动的总距离画图时要把磁道编号按从低到高排好然后沿着移动顺序逐个标出距离计算时不要漏掉起始位置。一句口诀很实用SCAN就像电梯走到头再回头中途不反向。3. 从知识点到手写笔记你在纸上到底该写什么很多人的复习笔记其实是PPT的复制品大段大段抄定义颜色倒是用了七八种但合上本子什么都记不住。手写笔记的核心价值在于“压缩信息”和“暴露盲区”。你写下的每一个字都应该是经过思考后的结论而不是原文搬运。这一章我教你怎么把一章教材压缩成两页纸并且让这两页纸在考场上真的能派上用场。3.1 笔记的颗粒度一行字对应一个“为什么”写笔记时最常见的误区是追求完整性恨不得把教材每一段都缩写一遍。但期末复习的时间有限笔记的颗粒度应该控制在“一行字对应一个为什么”的级别。比如写调度算法不要写“FCFS是先来先服务算法”而要写“FCFS按到达顺序排队非抢占平均周转时间偏大适合长作业、不适合分时系统”。这样一行里包含了定义、性质、适用场景三个信息点复习时扫一眼就能想起一整套逻辑。我在整理时会把每一章按照“概念 - 机制 - 策略 - 适用场景”四栏来写。概念栏写下名词的精确定义机制栏写数据结构和流程策略栏写算法或策略名称适用场景栏写这个机制用在什么地方、有什么优缺点。这个格式能让你在复习时快速定位到某一块知识而不是在一堆杂乱颜色里翻找。对于容易混淆的概念比如进程和线程、页式和段式我还会专门在笔记边缘画一个双向箭头箭头两端写各自的区分点这个动作虽然简单但对记忆的巩固效果非常明显。3.2 用表格做对比银行家算法、信号量、调度策略的横向对照表格是手写笔记里性价比最高的形式尤其适合操作系统这种充满对比关系的课程。银行家算法、信号量P/V操作、各种调度策略单个看都明白放在一起就会乱。所以第二遍整理笔记时我建议每个大专题都配一张对比表表头是“维度”行是不同策略或机制列是“核心思想、需要的条件、典型问题、考试常考陷阱”。比如信号量和管程的对比可以这样写信号量是进程同步的底层机制有P/V操作经典问题有生产者消费者、读者写者管程则把同步操作封装在对象内部只能通过入口进入Java的synchronized就是管程思路。这种横向对比表贴在一页纸的中间周围用手写箭头标出它们的关系复习效率远高于反复读原文。银行家算法建议单独画一张表格把已分配、还需量、可用量的每一项数值列出来自己动手推一遍用安全序列验证的过程。考场上能画对这张表就说明你真的懂了。3.3 给笔记留“复查区”三色笔和页边距的用法手写笔记有一个隐形的优势你可以通过它在第二遍复习时快速找到那些“看了答案才懂”的知识点。做法是写笔记时留出较宽的页边距大概两到三厘米宽专门用来做二次批注。第一遍用黑色写下自己的理解第二遍复习时用红色笔在页边距里写“错因”或“考点”比如“这里的FIFO会触发Belady异常别写成LRU”。第三遍考前带看时只看红色部分就能把易错点全部过一遍。三色笔的分配也很讲究黑色笔写主体内容蓝色笔写自己的理解和例子红色笔专门用来标错误和警告。注意颜色的使用不要超过三种否则就失去了提醒作用。如果你在整理时发现某个知识点书上写得很明白但你写不出来那就不是笔记压缩的问题而是理解断档了。这时候不要硬写先回去查清楚再在笔记上把逻辑链补完整。一笔带过的内容将来一定会变成考场上丢分的黑匣子。4. 操作系统复习避坑清单五次翻车的现象、原因与解决办法这里整理的是复习过程中最常踩的五个坑每一条都是血泪经验。它们不是偏题怪题而是课本反复强调但大家反复掉进去的常规陷阱。考前看一遍这份清单比多做一套卷子更有用。4.1 死锁条件背得熟却不会用资源分配图判断现象问死锁的必要条件是哪些能流利说出互斥、持有并等待、不可剥夺、循环等待。但给出一张资源分配图让判断是否死锁以及找出参与死锁的进程就懵了。原因死锁条件只是充分条件的描述资源分配图是判断工具两者之间的转换练习不够。课本上的资源分配图简化了“多个资源实例”的情况但考试题喜欢在同一类资源给多个实例很多人就不会数了。解决办法复习死锁时不要只背条件要亲手画三四张资源分配图。画图时注意规则资源节点指向进程的边表示资源被进程持有进程节点指向资源的边表示进程请求该资源。判断时先看是否存在环路再看环路上的资源是否都只有一个实例。如果环上每个资源只有一个实例就一定死锁如果某个资源有多个实例可能不死锁。在笔记上写这条规则时我特意附了一张环状图的例子旁边用红笔写了“资源多实例时环路不等于死锁”这句话在考场上救了我一次。4.2 虚拟内存和物理内存混为一谈算题全错现象计算分页系统有效访问时间时把内存访问时间和磁盘访问时间直接相加忽略了快表TLB命中和不命中的概率分布。原因分不清逻辑地址空间和物理地址空间觉得虚拟内存大小就等于内存条大小导致有效访问时间的公式里概率权重全部错位。解决办法先建立两个独立概念。虚拟内存大小由计算机字长决定物理内存大小由内存条决定两者通过页表建立映射。有效访问时间EAT的公式要拆成三种情况TLB命中、TLB未命中但页表项在内存、页表项不在内存触发缺页中断每种情况乘以对应概率后再相加。我在笔记上把这个公式写成了三段式流程并在旁边标注了“命中率是题目给的别自己猜”。每次做题前先写公式再代入数值可以避免最后的计算结果偏离常识量级。4.3 文件系统只记格式化忘了目录项和inode是一对现象试卷问“删除一个文件时操作系统做了什么”很多人的答案就是“删除该文件”完全没有提及目录项和inode的差异。原因复习时把文件系统当成一个黑匣子记住了文件是怎么打开的但没记住删除是逆过程。解决办法把文件的“打开”和“删除”在笔记上配对写。打开时系统通过文件名找到目录项再获取inode建立进程与文件的对应关系删除时系统先检查硬链接数把链接数减一若链接数减到零才释放inode和数据块。注意目录项本身没有被立即删除而是被标记为空槽位。这个细节在考试里出现频率很高只要逻辑清楚了丢分点就堵住了。4.4 信号量P/V操作顺序写反同步逻辑全乱现象生产者消费者问题里生产者先P(empty)还是先P(mutex)搞混导致代码一旦运行就可能进入死锁。原因信号量的原则是把资源信号量放在访问临界区的互斥信号量之前。很多同学背了这个结论但不知道原因。其实逻辑很简单如果先P(mutex)再P(empty)当empty为0时生产者持有mutex阻塞消费者无法进入缓冲区取数据双方互相等待。解决办法用“先占资源再占门锁”来记。写代码前先在纸上画两个框一个代表缓冲区数量一个代表互斥量然后模拟“如果顺序反了会不会死锁”。这样就能理解例子中的核心结论而不是死记顺序。在笔记里我专门留了一小块区域写“信号量手顺检查法”每次做同步题时先画两条线一条是进程运行顺序一条是资源剩余量变化。走一遍流程死锁点马上暴露。4.5 磁盘调度只记算法名不会处理双向移动的细节现象SCAN算法能让磁盘臂先向某个方向移动但考试时题目说“当前磁头正在向磁道号增大方向移动”很多人依然按从低到高直接扫描。原因忽略了SCAN算法有方向依赖把电梯算法和简单先来先服务的排序混在一起。解决办法拿到题目先圈出“当前磁头位置”和“移动方向”两个关键信息再在纸上按磁道号从小到大排列请求队列。如果方向增大就从当前位置一路往最大方向走到尽头后反转回来途中按经过顺序服务。用一条折线图把移动轨迹画出来然后把每段移动距离算出相加。平时做题时养成“先画箭头再算数”的习惯这类题就稳了。5. 把笔记变成考场的强力技巧费曼检验与三遍扫描法手写笔记整理得再好不拿来做输出训练也只是精致的摆设。这里介绍两个我一直在用的方法能在考前最后一两天把笔记价值最大化。费曼检验的核心是“讲给别人听”。做法是随机从笔记里抽一个专题比如页面置换或死锁检测然后在不看笔记的情况下用大白话把这个专题讲给室友或自己听全程试着让对方听懂。中途一旦卡壳就在纸上做一个标记讲完后回去翻笔记把断掉的地方重新读一遍再在对应的笔记位置画一个波浪线。这一步能精准暴露你以为懂但实际没懂的知识点。经过三轮抽取后笔记上画波浪线的地方就是你最后的复习重点比反复通读整本笔记效率高得多。三遍扫描法适合考前一天的收尾。第一遍用15分钟只看笔记里每个专题的大标题和红笔部分回忆每部分的逻辑主干不求细节。第二遍花40分钟逐页细看蓝色笔和黑色笔的具体内容重点看自己标注过的例子。第三遍开始前把笔记合上拿出一张白纸凭记忆默写整个过程的主干图进程状态转换、地址转换链路、文件打开路径。每个图默写完再对照笔记看看哪里画错了。第三遍结束后你在考场上看到题目时脑内能直接定位到笔记的某一页某个位置这种画面感式的记忆非常稳。这个方法还有一个附加好处如果第二天要考的是上午睡前做一次第三遍扫描大脑在睡眠中会加深对刚才默写路径的巩固。我自己的习惯是考前只带笔记和一支红笔去考场候场时只看红笔标记和波浪线不再翻教材也不做新题。越到最后一刻越要相信你已经固化到纸上的那套逻辑而不是临时去拼凑碎片。希望这个思路能帮你在期末复习里少一些慌乱多一分把握。本文还有配套的精品资源点击获取