先给结论:软考中级软件设计师上午题里,操作系统考点一般占6到8分,它不是分值最高的板块,但绝对是性价比之王。原因很简单,操作系统知识点高度收敛,四大块内容——进程管理、存储管理、文件管理、设备管理——出题模式极其固定,计算题套路清晰,概念题翻来覆去就是那几个状态转换和算法特征。我备考那会儿把操作系统放在所有科目里第二优先级,仅次于数据结构。数据结构决定下午题的编程底气,操作系统决定上午题的基本盘。上午题45分及格,如果你操作系统这6到8分只能拿一半,后面要靠计算机网络和数据库那些细碎知识点去补,压力会瞬间拉满。反过来,操作系统拿满,等于给整个上午题买了一份保险。
很多人复习操作系统容易走进一个死胡同:把教材从第一页读到最后一页,读完发现啥也没记住。操作系统和计算机网络不一样,不需要你背一堆协议端口号,它考的是"原理加计算"。我的建议是:先花两小时把四大块的核心概念过一遍,然后直接刷真题,做完题再回头翻教材对应章节的理论。先做题、再读书,这个顺序比先精读再做题高效得多。下面我把四大块的考点按考试优先级全部拆开讲,每个考点都带计算过程或判断技巧,文末还有真题风格的实战演练,可以直接对照复习。
1. 分值构成与复习顺序:操作系统这门课到底先啃哪块
1.1 上午题的分值分布规律
软考中级软件设计师上午一共75道选择题,每题1分,45分及格。操作系统通常稳定在6到8分这个区间,具体分布大概是:进程管理2到3道,存储管理2到3道,文件管理1到2道,设备管理1道。从这个分布就能看出来,进程管理和存储管理合起来占了操作系统一半以上的分值,这也是我把它们列为第一优先级的原因。
从历年真题的反馈来看,操作系统部分很少出现偏题怪题,考的就是教材里最核心的机制和公式。比如进程状态转换、PV操作、死锁资源计算、页式存储地址转换、页面置换算法、位示图计算、磁盘调度寻道长度,这些是每年轮流坐庄的常客。只要你把这些计算题全部练熟,概念题顺带背一背,操作系统这6到8分基本是稳拿的。
1.2 章节优先级怎么排
我自己的复习优先级排序是这样的:进程管理排第一,尤其是PV操作和死锁计算;存储管理排第二,重点是页式存储的地址转换和页面置换算法;文件管理排第三,核心是索引文件大小计算和位示图;设备管理排第四,主要就是磁盘调度算法和I/O控制方式。
这个排序的逻辑很简单:进程管理和存储管理的计算题分值高、规律强,属于"投入半小时、稳稳拿一分"的题目。文件管理虽然计算题也多,但概念题占比略高,需要记忆的点比较碎。设备管理每年基本就一道题,把磁盘调度三种算法的计算过程搞明白就够了。
还有个容易被忽略的点:操作系统知识点的分布并不均匀。有些年份连续两三道题都压在存储管理上,有些年份PV操作和死锁扎堆出现。所以不要押宝某一个章节,四大块都要过一遍,但计算题的优先级一定高于概念题。概念题有时候选项里会埋坑,比如把"进程"和"线程"的特征互换、把"段式存储"和"页式存储"的优缺点互换,稍不留神就掉进去。计算题只要理解了原理,做出来就是对的,不存在模棱两可的情况。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 进程管理:状态机、PV操作和死锁是三个固定得分点
2.1 进程状态转换:记住"只有就绪能进运行"
进程管理第一个必考点是进程的三大基本状态:运行态、就绪态、阻塞态。很多人死记硬背状态图,考场上还是选错,我建议用"生活中的例子"去理解。你打开电脑,同时开着微信、浏览器、音乐播放器,但CPU只有一个核,同一时刻只能执行一个进程。正在被CPU执行的就是运行态;其他已经准备好、只等CPU空闲的进程就是就绪态;而等用户输入、等磁盘数据、等网络响应这类需要等待外部事件的进程,就是阻塞态。
三个状态之间的转换关系是固定的,必须背熟:就绪态通过调度进入运行态;运行态时间片用完或优先级被抢占,退回就绪态;运行态等待某个事件(比如I/O完成),变成阻塞态;阻塞态等待的事件完成后,进入就绪态。这里最容易出错的点是:阻塞态不能直接进入运行态,必须先进就绪态排队;就绪态也不能直接变阻塞态,因为就绪进程还没运行,不存在"等待事件"这回事。真题经常把这两个错误路径混在选项里,一眼就能排除。
另外提一个高频概念:进程和线程的区别。进程是资源分配的最小单位,线程是CPU调度的最小单位。同一进程下的多个线程共享该进程的地址空间和资源,但每个线程有自己的栈和寄存器。考试爱考的点是"线程之间切换开销小、不需要切换地址空间",以及"进程之间相互独立、一个进程崩溃不影响其他进程"。
2.2 信号量与PV操作:从原理到真题的完整推导
PV操作是进程管理里公认的难点,也是每年几乎必考的大题点。很多考生看到伪代码就晕,其实PV操作的核心就一句话:用信号量保护临界资源,解决进程之间的同步和互斥。
先解释两个基本操作。P操作(荷兰语Proberen,意为"测试")执行时,信号量S减1,如果S小于0,进程进入阻塞状态;V操作(荷兰语Verhogen,意为"增加")执行时,信号量S加1,如果S小于等于0,唤醒一个阻塞进程。信号量的初值很关键:互斥信号量初值为1,代表临界资源只有一个;同步信号量的初值根据资源数量设定,比如缓冲区有n个空位,空位信号量初值就是n。
考试最常考的是生产者-消费者问题。生产者进程往缓冲区放数据,消费者进程从缓冲区取数据。缓冲区容量为n,需要三个信号量:mutex(互斥访问缓冲区,初值1)、empty(空位数,初值n)、full(已填满的块数,初值0)。生产者执行"P(empty) -> 放入数据 -> V(full)",消费者执行"P(full) -> 取走数据 -> V(empty)",两者在访问缓冲区前后都要加P(mutex)和V(mutex)。这里有个容易搞错的地方:P(empty)和P(mutex)的顺序不能交换。如果先P(mutex)再P(empty),当缓冲区满时,生产者占着mutex等empty,消费者想P(mutex)进不来,就会互相等待形成死锁。真题经常在这里设陷阱,碰到PV操作的题,先检查P操作的顺序。
我给大家一个做题口诀:"先资源,后互斥;V操作与P操作成对出现"。同步信号量控制资源数量,互斥信号量保护临界区,P操作申请资源必须在P(mutex)之前,V操作释放资源在V(mutex)之后。按这个套路去看真题的PV代码,基本不会错。
2.3 死锁的四个必要条件与资源数计算
死锁是进程管理里的另一个高频考点,分两大类:概念题和计算题。概念题考死锁的四个必要条件——互斥条件、请求与保持条件、不可剥夺条件、循环等待条件——破坏任何一个条件,死锁就能解除。真题会问"下列哪个措施可以预防死锁",常见答案是"资源一次性分配"(破坏请求与保持条件)、"资源可剥夺"(破坏不可剥夺条件)、"资源按序分配"(破坏循环等待条件)。注意区分"预防""避免""检测与解除"这几个词,预防是破坏四个必要条件之一,避免是使用银行家算法在分配前判断安全性,检测与解除是事后用资源分配图找环路。
计算题更简单,考的是一个固定公式:系统有n个并发进程,每个进程最多需要w个同类资源,系统至少要有n×(w-1)+1个资源,才能保证不发生死锁。举个例子:某系统有3个并发进程,每个进程最多需要4个同类资源,那么系统至少需要3×(4-1)+1=10个资源。道理是这样的:最坏情况下,每个进程都分到了3个资源,然后各自申请第4个,此时一个进程还占着3个、另外两个进程各占3个,只需要再多1个资源,就必然有一个进程能拿到第4个资源运行完,释放后其他进程依次完成。这个公式不要求理解太深,记住就行,考场上直接带数字。
银行家算法偶尔也会出现在上午题里,通常会给你一个资源分配表,问某个状态是否安全、某个请求能否批准。做法就是模拟"预分配":尝试分配后,找一条能让所有进程都完成的顺序——先找一个剩余资源能满足其最大需求的进程,让它运行完释放资源,然后继续找下一个。如果能找到这样的顺序,就是安全状态。
2.4 调度算法:别背定义,直接算平均周转时间
进程调度算法这部分,真题很少让你背定义,而是给你一组进程的到达时间和服务时间,让你算平均周转时间或者平均等待时间。所以光记住算法名字没用,得会算。
先来先服务(FCFS)最好理解,谁先到谁先执行,算平均等待时间直接排时间轴。短作业优先(SJF)是"服务时间最短的先执行",注意它的平均周转时间在所有非抢占调度算法中是最短的,这个结论经常考。时间片轮转(RR)是每个进程轮流执行一个时间片,时间片用完了就到队尾重新排队,计算时要画时间轴,一格一格地推进。高响应比优先(HRRN)的公式是:响应比=(等待时间+要求服务时间)/要求服务时间,哪个进程的响应比高先执行哪个,这个公式必须记牢。
我给个建议:做调度算法的计算题,别心算,一定在草稿纸上画时间轴,标出每个进程的开始时刻、结束时刻。比如有三个进程A、B、C,到达时间分别是0、1、2,服务时间分别是3、2、1,用FCFS的话,A从0到3完成,B从3到5完成,C从5到6完成,平均周转时间是(3+4+4)/3=11/3。用SJF的话,0时刻只有A到达,A先执行到3,此时B、C都到了,C服务时间1最短先执行,C从3到4完成,B从4到6完成,平均周转时间是(3+3+4)/3=10/3。对比一下就知道SJF的优势。真题经常给你三四组数据,考的就是这种对比分析的能力。
3. 存储管理:页面置换和地址转换是上午题的"送分计算"
3.1 页式存储的逻辑地址转物理地址
存储管理考得最多的就是页式存储,核心题型是给你逻辑地址和页表,让你求物理地址。整个计算过程三步走:第一步,把逻辑地址拆成页号和页内偏移地址。怎么拆?看页面大小。如果页面大小是4KB,也就是2的12次方,那么逻辑地址的低12位是页内偏移,剩下的高位是页号。第二步,查页表,找到页号对应的物理块号(也叫页帧号)。第三步,物理地址=物理块号×页面大小+页内偏移。
举个例子,页面大小4KB,某进程的页表如下:页号0对应物理块号2,页号1对应物理块号3,页号2对应物理块号5。现在逻辑地址是8196,先算8196除以4096,商2余4,说明页号是2、页内偏移是4。查页表,页号2对应物理块号5,物理地址=5×4096+4=20484。
考试还喜欢考页内地址位数和页表项大小的关系。页面大小4KB,地址总线32位,那么页内地址占12位,页号占20位,最多可以容纳2的20次方个页面。如果每个页表项占4字节,页表本身最大就是4MB。这类题计算量不大,关键是搞清楚"页面大小决定页内地址位数"这个对应关系。
快表(TLB)的概念也常考。快表是存放在高速缓存中的部分页表项,用于加速地址转换。访问快表命中时,一次访问就能得到物理地址;未命中时,需要先查内存中的页表,再进行一次内存访问,开销更大。真题会问"引入快表的主要目的是什么",答案就是"减少访问内存的次数、提高地址转换速度"。
3.2 页面置换算法:OPT、FIFO、LRU的缺页次数对比
页面置换算法是存储管理的重头戏,几乎年年考,而且考法很固定:给你一个页面引用串和物理块数,让你算缺页次数,或者判断用的是哪种置换算法。三种算法的对比必须烂熟于心。
最佳置换算法(OPT)是理论上的最优解:淘汰以后最长时间不会被访问的页面。它只用于衡量其他算法的性能上限,实际系统无法实现,因为系统不知道未来的访问序列。先进先出算法(FIFO)是最简单的:淘汰最早进入内存的页面。它有个著名的Belady异常——内存块数增加时,缺页次数反而可能增加,这是FIFO的标志性考点。最近最久未使用算法(LRU)是考试重点:淘汰最近最长时间没有被访问的页面,它用"过去的访问历史"来近似"未来的访问趋势",性能接近OPT,是最常考的实现。
具体算缺页次数,我给大家演示一个例子。页面引用串为 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5,物理块数为3。用LRU算:1缺页调入;2缺页调入;3缺页调入;4缺页,此时内存是1、2、3,最久未使用的是1,淘汰1调入4;5缺页,此时内存是2、3、4,最久未使用的是2,淘汰2调入5;后面1、2缺页,淘汰3、4;进入3缺页,淘汰5;进入4缺页,淘汰1。整个过程缺页次数是10次。我建议大家找一张纸,把内存块画出来,每访问一个页面就在表格里加一列,这样不容易数错。考场上的真题数据不会太复杂,但计算量不小,时间要控制好。
还有一个必背的结论:FIFO算法中,分配的物理块数越多,缺页次数不一定越少,因为可能出现Belady异常;LRU和OPT在物理块数增加时,缺页次数一定不会增加。这个结论经常作为判断题出现。
3.3 段式与段页式存储:碎片问题的理解
段式存储和页式存储这对概念,经常放在一起考对比。页式存储把地址空间划分为大小固定的页,优点是内存利用率高、外碎片很小,缺点是页不是信息的逻辑单位,不方便共享和保护。段式存储按程序的逻辑结构划分为大小不等的段,比如代码段、数据段、栈段,优点是便于共享、保护、动态链接,缺点是段的长度不固定,会产生外部碎片,内存分配比较复杂。
段页式存储是两者的结合:先按逻辑结构分段,再把每段划分为固定大小的页,既有段式共享保护的优势,又有页式内存利用率高的优势。真题问"段页式存储管理中,地址结构由什么组成",答案是段号、段内页号、页内地址三部分。
这里我提醒一下,很多考生把"碎片"搞混。页式存储有页内碎片(也叫内碎片),因为最后一页往往用不满;段式存储有外部碎片,因为段的大小不固定,内存中留下的空闲区经常无法装下下一个段。选择题经常问"哪种存储方式产生外部碎片",答案是段式,记住了。
3.4 虚拟内存与局部性原理
虚拟内存的概念题几乎每年都会露个脸,核心是"局部性原理":程序在一段时间内,访问的指令和数据的地址往往集中在一个小范围内。时间局部性是指某个数据被访问后,不久可能再次被访问(比如循环变量);空间局部性是指某个数据被访问后,它附近的地址很快也会被访问(比如顺序执行的指令)。
虚拟内存的基本思想是:程序运行时不必全部装入内存,只装入当前需要的部分,其余部分留在磁盘上,需要时再调入。这样就解决了程序大小超过物理内存的问题。真题经常问"虚拟存储技术的基础是什么",答案就是局部性原理;问"虚拟内存的最大容量由什么决定",答案是计算机的地址结构(地址总线位数)和内存容量中较小的一个,比如32位地址结构最多寻址4GB,即使磁盘有再大的交换空间,虚拟内存也不能超过4GB。
4. 文件与设备管理:位示图、索引节点和磁盘调度的计算细节
4.1 文件的物理结构:连续、链接、索引怎么算磁盘块
文件管理部分,计算题主要集中在文件的物理结构上。连续分配就是文件占用磁盘上一段连续的块,优点是访问速度快,支持随机访问,缺点是有外部碎片,文件扩容困难。链接分配分为隐式链接和显式链接:隐式链接在每个块的末尾存下一块的指针,只能顺序访问;显式链接把指针集中存放在文件分配表(FAT)中,支持随机访问。索引分配给每个文件建一个索引块,里面存放所有数据块的地址。
索引分配的计算题每年必考,题型很固定:给磁盘块大小和地址项大小,算单级索引、两级索引支持的最大文件大小。假设磁盘块大小4KB,地址项大小4B,那么一个磁盘块能存4KB/4B=1024个地址项。单级索引:用一个索引块存放所有数据块的地址,最多能有1024个数据块,最大文件=1024×4KB=4MB。两级索引:一级索引块指向1024个二级索引块,每个二级索引块又指向1024个数据块,最大文件=1024×1024×4KB=4GB。
混合索引也是常客,典型的Unix系统用15个地址项:前12个直接地址指向数据块,第13个是一级间接索引,第14个是二级间接索引,第15个是三级间接索引。考题会让你算最大文件大小。我在做题时发现一个技巧:直接地址指向12个块,一级间接指向1024个块,二级间接指向1024×1024个块,三级间接指向1024的3次方个块,把这些块数加起来再乘以块大小就是答案。一步步列算式,别跳步。
4.2 位示图计算:盘块号、字号、位号的三层对应
位示图是表示磁盘空闲空间的方法之一,用一串二进制位表示每个盘块是否空闲,1表示已分配,0表示空闲。考试的计算套路是:给你字长(比如32位)、盘块总数,问需要多少个字,或者给你盘块号求对应的字号和位号。
公式记牢:假设字长为W位,盘块号从1开始编号,那么第i个盘块对应的字号=(i-1)整除W,位号=(i-1)取模W。反过来,第j个字、第k位(k从0开始)对应的盘块号=j×W+k+1。比如字长32位,要求表示4096个盘块,需要4096/32=128个字,如果除不尽就向上取整。
我见过一个高频易错点:题目说"字号和位号从0开始编号",和"从1开始编号",计算方法完全不同。如果从0开始编号,第i个盘块对应的字号=i整除W,位号=i取模W,不需要减1。做这类题第一步一定是看清编号起点,否则算出来的结果差一个数,选项里通常两个答案都有,专门坑粗心的人。
4.3 设备管理的I/O控制方式演进
设备管理概念题相对简单,核心是I/O控制方式的四种演进:程序查询方式、中断方式、DMA方式、通道方式。程序查询方式是CPU不断检查设备状态,忙等,CPU利用率极低。中断方式是设备完成I/O后主动向CPU发出中断请求,CPU不再忙等,但每次传输一个数据都要CPU介入。DMA(直接存储器存取)方式下,DMA控制器直接控制设备和内存之间的数据传输,CPU只在开始和结束时介入,按块传输,效率高。通道方式是更高级的I/O处理机,能独立执行通道程序,CPU的干预更少。
真题的典型问法是"下列哪种I/O方式适合高速块设备传输"或者"哪种方式的CPU干预最少",答案都是DMA或通道。注意区分中断方式和DMA方式的关键点:中断方式按字节传输、每次都要CPU参与;DMA方式按块传输、传输过程中不需要CPU参与。
Spooling技术(假脱机)也常考,它的作用是把独占设备改造为共享设备。最经典的例子是打印机:多个进程同时提交打印任务,系统把任务先放到磁盘的输入井和输出井中排队,由一个专门的进程统一调度打印,从外面看打印机好像被多个进程同时使用。真题问"Spooling技术的主要目的是什么",答案就是"将独占设备虚拟化为共享设备"。
4.4 磁盘调度算法:SSTF和SCAN的寻道计算
磁盘调度是设备管理里唯一的计算大题,给你当前磁头位置和一个磁道请求序列,让你算采用不同算法时的磁头移动总道数。先来先服务(FCFS)按请求顺序依次移动;最短寻道时间优先(SSTF)每次都选离当前磁头最近的磁道;扫描算法(SCAN,也叫电梯算法)让磁头沿一个方向移动,服务完这一方向的所有请求后,再反向移动。
具体算一道题,假设当前磁头在53号磁道,请求序列为98、183、37、122、14、124、65、67。FCFS的移动顺序就是请求顺序,移动总道数是|98-53|+|183-98|+|37-183|+|122-37|+|14-122|+|124-14|+|65-124|+|67-65|=45+85+146+85+108+110+59+2=640。SSTF从53开始,最近的65,然后67、37、14、98、122、124、183,移动总道数=12+2+30+23+84+24+2+59=236。SCAN如果向上服务,从53依次到65、67、98、122、124、183,然后反向到37、14,总道数=(183-53)+(183-14)=130+169=299。
考试时这类题一定要画数轴,把磁头位置和请求点标出来,一眼就能看出下一个该服务谁。我还发现一个规律:SSTF的寻道效率通常高于FCFS,但可能造成距离远的请求长期得不到服务,也就是"饥饿"现象。SCAN避免了饥饿,所以实际磁盘系统多用SCAN的变体(如C-SCAN)。这些优缺点对比是概念题的重点。
5. 真题实战演练:三类高频题型的正向推导与易错点复盘
5.1 三道经典计算题的正向推导
题目1(死锁资源计算):某系统有5个并发进程,每个进程都需要3个同类资源,系统至少需要多少个资源才能保证不发生死锁?按公式n×(w-1)+1=5×(3-1)+1=11个。注意审题:题目说"每个进程最多需要3个"还是"每个进程至少需要3个",措辞不同计算结果不同,但套路一致。
题目2(页式地址转换):某虚拟存储器的用户空间共有32个页面,每页1KB,主存16KB。逻辑地址为十进制的3500,求对应的物理地址。先把逻辑地址拆开:3500除以1024,商3余428,所以页号3、页内偏移428。如果页表给出页号3对应的物理块号是7,物理地址=7×1024+428=7596。这里有个坑:用户空间32页需要5位页号,主存16KB有16个页帧需要4位物理块号,地址转换时页表大小和页内偏移位数不要搞混。
题目3(位示图):某磁盘有4096个盘块,字长为32位,位示图的字号和位号都从0开始编号,问第1025号盘块对应的字号和位号。从0开始编号,直接算:1025整除32=32,1025取模32=1,所以字号32、位号1。如果题目说盘块号从1开始、字号位号从0开始,就要用(1025-1)整除32=32、(1025-1)取模32=0,答案是字号32、位号0。一个序号规则的区别,答案就差一位,必须在读题时圈出来。
5.2 易错概念题十连测
这部分是给考前自查用的,我把概念题最容易被坑的命题方式列出来,每道题都先想答案再看解析。
-
在操作系统中,并发性是指若干事件在同一时间间隔内发生,而不是同一时刻同时发生。宏观上同时、微观上交替,这就是并发的本质。
-
进程和程序的区别:进程是动态的、有生命周期的;程序是静态的、可以长期保存在磁盘上。进程是程序的执行过程,同一个程序可以被多个进程执行。
-
临界资源是指一次仅允许一个进程访问的资源,临界区是进程中访问临界资源的代码段。把临界资源和临界区搞混,是概念题最常见的失分点。
-
产生死锁的四个必要条件中,"循环等待条件"和"请求与保持条件"经常互换出现,注意区分:请求与保持是"占着一个资源等另一个",循环等待是"多个进程形成一个等待环"。
-
页式存储管理的主要缺点是产生内部碎片,因为最后一页经常用不满。段式存储的主要缺点是产生外部碎片。这两个方向一定不要记反。
-
FIFO算法可能产生Belady异常,LRU算法不会。这个结论直接背。
-
磁盘调度中,SCAN算法(电梯算法)的设计初衷是避免SSTF的"饥饿"问题。注意SCAN和C-SCAN的区别,C-SCAN只单向服务,返程不服务。
-
虚拟存储技术的基本特征是"多次性"和"交换性",基础是局部性原理。真题如果问"虚拟存储器是什么的扩充",答案是逻辑上扩充主存容量。
-
文件系统中,文件控制块(FCB)是文件存在的标志,存放文件的基本信息。目录文件就是FCB的集合。
-
通道方式与DMA方式的区别:通道可以控制多台设备,DMA只能控制一台设备;通道有自己的指令系统,DMA没有。
5.3 低频但容易丢分的零散考点
除了上述主考点,操作系统还有几个低频但出现过的小知识点,建议考前快速过一遍。中断的分类:外部中断(来自CPU外部,如I/O中断、时钟中断)和内部中断(来自CPU内部,如除数为0、越界),软中断又叫陷阱指令。系统调用是操作系统提供给应用程序的接口,运行在用户态的应用程序通过系统调用进入内核态执行特权操作。
还有操作系统的分类:批处理系统(效率高但无交互)、分时系统(时间片轮转、交互性好)、实时系统(响应时间短、可靠性高,如导弹控制系统)。真题问"分时系统的主要特征是",答案是同时性、独立性、及时性、交互性。实时系统则强调在规定时间内完成处理。用户态和内核态的转换也是一个高频选择:用户态不能执行特权指令,必须通过系统调用或中断进入内核态。这几个点不需要深究,但必须混个脸熟。
6. 考前两周的操作系统冲刺清单与考场时间分配
到了冲刺阶段,我不建议再翻教材了,而是用一套"概念清单加计算题卡"的组合拳。我当年给自己列了一个每日30分钟复习表,你可以直接参照:周一过进程状态转换和调度算法公式,周二刷PV操作题,周三过死锁计算和银行家算法,周四刷页式地址转换和页面置换,周五过文件索引和位示图,周六过磁盘调度和I/O方式,周日把本周所有错题重新做一遍。每一类计算题找三到五道真题练手,做到"看到题就知道考哪个公式"的程度,基本就稳了。
考场上,操作系统相关的题目一般出现在上午题的第10到第20题左右。建议每道选择题不超过1分钟,遇到PV操作或页面置换这类需要画图计算的题,果断在草稿纸上画出来,别凭感觉猜。计算类的操作系统题,只要认真推导,正确率可以做到很高,这是上午题里最值得花时间的地方。如果是死锁条件、虚拟内存这类概念题,选项里出现两个相似表述时,优先选"从局部性原理""从资源分配角度"这种教科书原话的表述。
最后分享一个我踩过的坑:备考前期我把操作系统和计算机网络的复习时间几乎对半开,结果操作系统计算题练得不够,考场上PV操作的题花了5分钟还没算对,导致后面时间紧张。第二次备考我调整了策略,把操作系统计算题的正确率刷到九成以上,上午题稳稳过线。我个人体会是,操作系统这块就像数学里的"基础应用题"——题型固定、规律明显,只要肯花时间把每个算法的执行过程画几遍,分数就是实打实的。你要是现在正处于复习中期,别贪多,先把我上面列的几类计算题全部亲手算一遍,再去碰真题套卷,效果会明显不一样。
