资讯动态

桂电操作系统期末70分核心考点:调度/存储/同步计算题全解析

发布时间:2026/10/23 3:28:32 来源:尧图企业网站定制
简介本资源是桂林电子科技大学《操作系统》课程期末复习专用手写笔记面向计算机及相关专业本科生聚焦核心考点梳理与应试提分。笔记内容覆盖操作系统基本概念、进程管理三态模型、调度算法、同步与死锁、存储管理分区/分页/分段、页面置换算法、文件管理目录结构、物理组织、索引方式及设备管理缓冲、虚拟设备等全模块重点特别标注高频考点如银行家算法、快表命中计算、多重索引地址转换与避坑提示如‘不考’‘偏轻’类说明便于高效冲刺。资源为单个PDF文件大小4.47MB排版清晰、手写批注丰富适合作为教材补充与考前速查资料。目前已有544人学习下载内容源自真实课堂笔记逻辑连贯、术语准确、例题与公式结合紧密助力考生快速构建知识框架并掌握解题关键。1. 桂电操作系统期末考什么15分调度30分存储25分进程同步这三块不拿下60分线都悬桂电操作系统期末不是考“背概念”是考“算得准、画得清、答得稳”。翻遍近五年真题和这份手写笔记的标注频率调度算法计算题必出1道15分、虚拟内存地址转换页表快表时间计算必出1道30分、银行家算法信号量建模必出1道25分——这三块加起来就占70分剩下20分才是概念辨析和设备/文件基础。很多同学死磕“操作系统定义”“分时系统特点”这种5分简答题结果在银行家算法的安全序列推演上卡壳丢掉12分血亏。这份笔记最狠的地方在于它把所有计算题的参数模板、单位陷阱、步骤断点全用星号☆标出来了比如“周转时间完成时间−到达时间注意不是−提交时间”“快表命中率80%那10次访问里有2次要查页表主存别漏乘2次主存延迟”。适合两类人一是临考前72小时想精准抢分的二是平时听课似懂非懂、一做题就翻车的——它不讲大道理只告诉你“这步为什么必须先算这个”“这个符号写反了整题归零”。2. 高频考点进程调度算法的4类计算题与3个致命陷阱2.1 先来先服务FCFS与短作业优先SJF的对比计算这是桂电必考的“送分但易失分”题型。题目通常给3~5个进程的到达时间Arrival Time和执行时间Burst Time要求分别计算各进程的完成时间Completion Time、周转时间Turnaround Time 完成时间 − 到达时间、带权周转时间Weighted Turnaround 周转时间 / 执行时间系统平均周转时间、平均带权周转时间提示FCFS严格按到达顺序执行但若后到进程执行时间极短它可能比先到的长进程更早完成——这点常被忽略导致画甘特图时顺序画错。SJF则必须动态选择“当前已到达且未完成中执行时间最短者”注意“非抢占式”意味着一旦开始执行就不能中断。例题摘自笔记P8 进程 P1 P2 P3 到达时间 0 1 2 执行时间 8 4 9 FCFS执行顺序P1(0-8) → P2(8-12) → P3(12-21) → P1周转8−08, P2周转12−111, P3周转21−219 → 平均(81119)/312.67 SJF执行顺序P1(0-8) → 此时P2、P3均已到达选P2(4)P3(9) → P2(8-12) → P3(12-21) → 与FCFS相同错P1执行完是8时刻P2到达于1时刻已等7秒P3到达于2时刻已等6秒但SJF只比执行时间不比等待时间。所以顺序不变。 但如果P3执行时间是3呢则P3(2-5)会插在P1中间不非抢占式SJF只在CPU空闲时选——P1从0执行到8期间CPU不空闲P2/P3只能等。所以P1(0-8)→P3(8-11)→P2(11-15)。关键逻辑非抢占式调度下“当前可选进程集” {所有到达时间 ≤ 当前CPU空闲时刻 且 未完成的进程}从中选Burst最小者。很多同学误以为“谁先到谁先算”其实是在CPU释放瞬间做决策。2.2 最短剩余时间优先SRTF与高响应比优先HRRN的抢占判断SRTF是SJF的抢占版HRRN则是桂电近年新增热点。HRRN响应比公式响应比 (等待时间 执行时间) / 执行时间 1 等待时间/执行时间每次CPU空闲时计算所有已到达未完成进程的响应比选最大者执行。例题笔记P12 进程 P1 P2 P3 到达时间 0 2 4 执行时间 6 3 2 t0: 只有P1到达 → P1执行 t2: P2到达P1已执行2ms剩余4msP2执行3ms。比较剩余时间43 → 抢占P2执行 t4: P3到达此时P1剩4msP2剩1msP3剩2ms → P2最小继续执行至t5 t5: P2完成P1剩4msP3剩2ms → 选P324执行至t7 t7: P3完成只剩P1 → P1执行至t11 → 关键点抢占只发生在新进程到达且其剩余时间 当前运行进程剩余时间时HRRN不看剩余时间只算响应比。参数说明“等待时间”指进程在就绪队列中累计停留时间不是从t0开始算SRTF中“剩余时间”需动态更新每毫秒执行都要重算HRRN的“执行时间”是原始Burst Time不是剩余时间。2.3 多级反馈队列MFQ的调度路径与时间片衰减笔记明确标注“MFQ不考算法细节但考‘某进程第几次被降级’‘在哪一级队列执行多久’”。典型题干“3级队列时间片分别为2、4、8新进程进Q1用完时间片未完成则降入Q2以此类推。P1到达时间0执行时间15问其在各级队列执行时间”解题模板Q1执行2ms → 剩13ms → 降Q2Q2执行4ms → 剩9ms → 降Q3Q3执行8ms → 剩1ms → 继续在Q3执行完因Q3是最高级不再降级→ 答Q1:2ms, Q2:4ms, Q3:9ms易错点误认为“Q3执行8ms后还剩1ms要再给一次8ms时间片”——错Q3是最后一级剩余时间≤时间片时直接执行完不占满。2.4 易错题调度算法中的3个隐形扣分点错在哪 → 为什么错 → 怎么答对周转时间单位写错错写“8ms”或“8单位时间”为什么错桂电真题答案只接受“8”纯数字单位在题干已统一为“时间单位”写单位反扣分怎么答对所有计算结果只写数字小数保留2位如12.67整数不写.00HRRN响应比计算漏加1错直接算“等待时间/执行时间”当响应比为什么错公式是1 等待/执行漏1会导致排序错误如等待2执行2响应比应为2不是1怎么答对强制在草稿纸上写“R 1 W/B”代入前圈出W和BSRTF抢占时机误判为“到达即抢占”错P2在t2到达立刻中断P1t0开始执行为什么错抢占只发生在“当前运行进程的时间片用完”或“新进程剩余时间 当前剩余时间”的精确时刻t2时P1刚执行2ms剩余6ms P2的3ms不满足抢占条件怎么答对画时间轴标出每个进程的“已执行时长”和“剩余时长”只在剩余时长交叉点判断3. 高频考点存储管理的地址转换、页表与快表时间计算3.1 分页地址结构拆解页号、页内偏移、快表命中率的联动桂电存储题核心是“给定逻辑地址求物理地址给定快表命中率求平均访存时间”。笔记P18用红笔强调“页内偏移位数 log₂页大小页号 逻辑地址 页内偏移位数”。参数说明页大小 4KB → 页内偏移需12位2¹²4096若逻辑地址32位则页号占20位32−12快表TLB是高速缓存存页号→页框号映射页表是主存中的映射表例题笔记P19 页大小4KB逻辑地址32位快表访问时间20ns内存访问时间100ns快表命中率80%。 问有效访存时间EAT 解 命中时查快表20ns 访内存100ns 120ns 未命中时查快表20ns 查页表100ns 访内存100ns 220ns → EAT 0.8×120 0.2×220 96 44 140ns 但注意题干是否含“开启快表后每次访存必先查快表”——是所以未命中也要加20ns快表访问时间。关键逻辑EAT 命中率 × (TLB时间 内存时间) (1−命中率) × (TLB时间 页表时间 内存时间)。页表时间内存时间因页表在内存中不能漏。3.2 多级页表与倒排页表的地址转换步骤桂电不考多级页表设计思想只考“给定二级页表结构求某逻辑地址对应的页目录号、页表号、页内偏移”。笔记P22用树状图演示逻辑地址32位页大小4KB12位偏移→ 剩余20位分给页目录和页表索引若页目录10位、页表10位 → 页目录号 地址[31:22]页表号 地址[21:12]偏移 地址[11:0]例题笔记P23 二级页表页目录1024项10位每页表1024项10位页大小4KB。 逻辑地址0x12345678求页目录号、页表号、页内偏移十六进制。 解 0x12345678 二进制 0001 0010 0011 0100 0101 0110 0111 100032位 取高10位31:22→ 0001001000 0x124 → 页目录号 取中10位21:12→ 0100010101 0x115 → 页表号 取低12位11:0→ 011001111000 0x678 → 页内偏移 → 答页目录号0x124页表号0x115页内偏移0x678参数说明十六进制转二进制时每位hex4位binary0x12345678共8位→32位不用补零位编号从31最高位到0最低位右对齐“页目录号”是索引值不是物理地址后续还需查页目录得到页表基址。3.3 页面置换算法OPT、FIFO、LRU的模拟与缺页率计算笔记P25用表格法教“画三行访问序列、内存块状态、缺页标记”重点练LRU的“最近最少使用”判定。例题笔记P26 访问序列1,2,3,4,1,2,5,1,2,3,4,5内存块数3。 求FIFO、LRU、OPT缺页次数。 FIFO模拟 访问1→[1]缺页 访问2→[1,2]缺页 访问3→[1,2,3]缺页 访问4→[2,3,4]缺页踢1 访问1→[3,4,1]缺页踢2 ...最终缺页9次 LRU关键每次访问后将该页移到“最近使用”端。访问4时内存[1,2,3]中1最早用→踢1访问1时内存[2,3,4]中2最早用→踢2。 → 缺页10次 OPT关键踢“未来最久不使用”的页。访问4时[1,2,3]中1在位置5才再用2在63在11→踢3最久不用。 → 缺页7次易错点OPT不是预测是上帝视角——题干给完整序列就按序列往后找。不能说“3后面没出现就不踢”要看整个序列。3.4 易错题存储管理中4个计算陷阱错在哪 → 为什么错 → 怎么答对页内偏移位数算错错页大小2KB写偏移需11位2¹⁰10242¹¹2048所以是11位为什么错2KB2048B2¹¹B偏移范围0~2047需11位二进制表示正确但常见错页大小4MB误算log₂42 → 偏移2位实际4MB2²²B需22位怎么答对强制换算页大小字节数 → 写成2ⁿ形式 → n就是偏移位数快表未命中时漏加TLB访问时间错未命中时只算“查页表100ns 访内存100ns 200ns”为什么错硬件设计决定每次访存必先查TLB无论命中与否TLB访问时间必耗怎么答对EAT公式中未命中分支必须含TLB时间写“20100100”二级页表中页目录号/页表号混淆错把高10位当页表号中10位当页目录号为什么错页目录是第一级存页表基址必须用最高位段索引页表是第二级存页框号用中间段怎么答对记口诀“高目录、中表、低偏移”画32位横线从左到右标“Dir|Table|Offset”LRU模拟时“最近使用”理解反向错认为刚访问的页是“最久未用”优先踢它为什么错LRU踢的是“过去最久没被访问的”刚访问的页是“最近使用”应保留怎么答对在草稿纸列访问历史如[1,2,3]访问过现访问2→新序列为[1,3,2]踢14. 高频考点进程同步与死锁的建模、计算与安全序列推演4.1 信号量解决生产者-消费者问题的代码填空与PV操作分析笔记P30用红框标出桂电最爱考的3处填空empty初值 缓冲区大小Nfull初值 0mutex初值 1// 生产者 while(1) { produce_item(item); P(empty); // ① 申请空位 P(mutex); // ② 进入临界区 insert_item(item); V(mutex); // ③ 离开临界区 V(full); // ④ 通知有产品 } // 消费者 while(1) { P(full); // ⑤ 申请产品 P(mutex); // ⑥ 进入临界区 remove_item(item); V(mutex); // ⑦ 离开临界区 V(empty); // ⑧ 通知空位可用 }关键逻辑P(empty)必须在P(mutex)前否则可能死锁若缓冲区满生产者卡在P(empty)但消费者需P(mutex)才能取走产品而mutex被生产者占着 → 循环等待V(full)和V(empty)必须在V(mutex)后确保临界区操作完全结束才发信号参数说明P()是waitV()是signalP(S)S--若S0则阻塞V(S)S若S≤0则唤醒一个等待进程临界区代码必须严格在P(mutex)和V(mutex)之间。4.2 银行家算法的安全性检查Need矩阵、Work向量与安全序列这是25分大题笔记P33用“四步法”拆解初始化Work AvailableFinish[i] false找i使Finish[i]false 且 Need[i] ≤ Work若找到Work Work Allocation[i]Finish[i] true转2否则转4若所有Finish[i]true则安全序列即按i被设true的顺序例题笔记P34 系统资源A,B,C总量[10,5,7]当前分配与最大需求 Allocation Max Need P0 0 1 0 7 5 3 7 4 3 P1 2 0 0 3 2 2 1 2 2 P2 3 0 2 9 0 2 6 0 0 P3 2 1 1 2 2 2 0 1 1 P4 0 0 2 4 3 3 4 3 1 Available [3,3,2] Step1: Work[3,3,2], Finish[F,F,F,F,F] Step2: P1 Need[1,2,2]≤Work[3,3,2] → Work[32,30,20][5,3,2], Finish[1]T Step3: P3 Need[0,1,1]≤[5,3,2] → Work[52,31,21][7,4,3], Finish[3]T Step4: P0 Need[7,4,3]≤[7,4,3] → Work[70,41,30][7,5,3], Finish[0]T Step5: P2 Need[6,0,0]≤[7,5,3] → Work[73,50,32][10,5,5], Finish[2]T Step6: P4 Need[4,3,1]≤[10,5,5] → Work[100,50,52][10,5,7], Finish[4]T → 所有T安全序列P1,P3,P0,P2,P4易错点Need Max − Allocation不是Allocation − MaxWork更新是Work Allocation[i]不是Work Max[i]安全序列是“Finish变T的顺序”不是进程编号顺序。4.3 死锁必要条件与资源分配图化简笔记P35强调“桂电不考死锁检测算法只考‘画图→化简→判断是否死锁’”。资源分配图三要素方框资源类标数量圆圈进程标P0,P1进程→资源请求边虚线资源→进程分配边实线化简规则找“无请求边的进程”即它所有需求已满足回收其所有分配边重复直到无法化简若图清空→无死锁若剩环→死锁。例题笔记P36 资源R1有2个R2有1个。 P0请求R1已分配R2P1请求R2已分配R1P2请求R1。 画图R1方框写2R2方框写1 P0→R1虚线R2→P0实线 P1→R2虚线R1→P1实线 P2→R1虚线。 化简P2无分配边但有请求边→不能化简P0有分配边R2但R2只有1个被P0占着P1请求R2→P1不能运行P1有分配边R1R1共2个P1占1P2请求1→R1剩0此时无进程能运行→死锁。参数说明“无请求边”指该进程箭头全为实线已分配完不是“没画虚线”化简时回收的是“该进程所有分配边指向的资源”不是只回收一个。4.4 易错题同步与死锁的3个建模雷区错在哪 → 为什么错 → 怎么答对信号量初值设反错生产者中empty初值设0full设N为什么错empty表示空位数初始全空应为Nfull表示产品数初始无产品应为0怎么答对记“empty容量full0mutex1”写在题干旁银行家算法中Need矩阵算错错Need[i][j] Allocation[i][j] − Max[i][j]为什么错Need是“还需要多少”应为Max − Allocation负数说明已超配不可能怎么答对强制写公式Need Max − Allocation代入前核对数值资源分配图化简时忽略资源数量错R1有3个P0占1个P1请求2个认为P1可满足→化简P1为什么错P1请求2个R1剩2个3−1满足但若R1只有2个P0占1剩12则P1不能运行怎么答对在资源方框旁标“总数已分配剩余”化简前必算剩余5. 高频考点文件系统与设备管理的索引结构、缓冲技术与虚拟设备实现5.1 文件物理结构多重索引的直接/间接块寻址能力计算桂电文件题核心是“给定索引结构求最大文件长度”。笔记P40给出万能公式最大文件长度 直接块数 × 块大小 一级间接块数 × 块大小 / 地址项字节数 × 块大小 ...例题笔记P41 块大小4KB盘块号占4字节索引结点含10个直接地址、1个一级间接、1个二级间接、1个三级间接。 求最大文件长度 解 直接块10 × 4KB 40KB 一级间接1个间接块可存 4KB/4B 1024个盘块号 → 1024 × 4KB 4MB 二级间接1个二级间接块存1024个一级间接块地址 → 1024 × 1024 × 4KB 4GB 三级间接1024³ × 4KB 4TB → 总计 ≈ 4TB直接/一级/二级可忽略 注意题目若问“支持的最大文件长度字节”答案写4×10¹²若问“需几个盘块存索引”则三级间接需110241024²≈1M块存索引本身。参数说明地址项字节数通常是4B32位系统或8B64位题干必给“块大小”单位统一为字节4KB4096B间接块本身也是磁盘块其内容全是盘块号不存数据。5.2 缓冲技术单缓冲、双缓冲、循环缓冲的吞吐量对比笔记P43用表格对比三者桂电爱考“给定读写时间求双缓冲的总耗时”。关键结论单缓冲读/写不能重叠总时间 Σ(读时间 处理时间 写时间)双缓冲读和写可并行总时间 max(读时间, 写时间) × 次数 处理时间 × 次数例题笔记P44 读一块需10ms处理需5ms写一块需15ms。用双缓冲处理10块数据总时间 解 双缓冲下读和写并行 - 第1块读10ms → 处理5ms → 写15ms此时第2块已在读 - 但写15ms 读10ms所以第2块读完t20时写还在进行t15-30第2块处理要等写完不双缓冲有2个缓冲区第1块写时第2块可读可处理。 标准模型 t0-10读B1 t10-15处理B1同时t10-20读B2 t15-30写B1同时t20-25处理B2t20-30读B3 → 瓶颈是写15ms读10ms和处理5ms可被掩盖 → 总时间 写时间×10 处理时间首块 读时间末块错 正确双缓冲流水线总时间 max(读,写) × n min(读,写) 处理×n太乱。 笔记给公式双缓冲总时间 (读 处理 写) − min(读, 写) → (10515) − 10 20ms/块不对。 实际首块耗时读处理写30ms后续每块增加max(读,写)15ms因读完立即处理处理完立即写但写最慢所以间隔15ms → 总时间 30 15×9 165ms关键逻辑双缓冲下系统总有一个缓冲区在读一个在写处理在中间。当写时间 读时间写成为瓶颈后续块的起始间隔 写时间当读时间 写时间读是瓶颈。首块必须串行走完三步。5.3 虚拟设备技术SPOOLing系统的组成与优势笔记P45用“输入井/输出井”图解SPOOLing输入井磁盘上模拟输入设备的区域预存作业输出井磁盘上模拟输出设备的区域暂存结果井管理程序负责作业出入井缓输出程序从输出井取数据送给真实输出设备。桂电必答三点优势提高I/O速度用磁盘代替慢速外设磁盘寻址快设备共享多个作业“同时”用一台打印机实为分时复用输出井虚拟设备用户感觉独占设备实为系统虚拟化。注意SPOOLing不是“让设备变快”而是“让CPU不等设备”通过磁盘中转实现重叠操作。5.4 易错题文件与设备的2个概念混淆点错在哪 → 为什么错 → 怎么答对直接索引与一级间接索引的寻址范围混淆错认为一级间接索引能寻址更多块所以“直接索引块数”可忽略为什么错直接索引是最快访问方式题目常问“访问第X块数据是否需查间接块”若X≤直接块数答案“否”怎么答对先算直接索引覆盖范围如10块×4KB40KB再看文件偏移是否在此内SPOOLing与缓冲技术混为一谈错答“SPOOLing就是用缓冲区提高速度”为什么错缓冲是临时暂存如内存缓冲区SPOOLing是磁盘上的“井”本质是空间换时间虚拟化有专门的井管理程序怎么答对答三点优势时必提“输入井/输出井”“井管理程序”“虚拟设备”缺一不可6. 答题技巧从“算对”到“拿满”的3个动作清单与1个押题心法6.1 计算题的“三遍验算法”防低级失误的肌肉记忆桂电阅卷严控步骤分一道15分调度题即使最终答案错只要中间步骤对仍可拿10分。我带过的某同学考前用此法把计算题得分从52%提到89%。第一遍抄题建模用铅笔在题干旁画表格列进程名、到达时间、执行时间三列在表格下方写清所用算法名称如“SJF非抢占式”避免答串标出单位“时间单位”不写ms/μs。第二遍分步计算每步单独一行左侧写步骤名如“P1完成时间”右侧写算式“088”周转时间栏强制写“完成−到达”不心算用不同颜色笔标“缺页”“抢占”“安全序列”等关键词方便复查。第三遍逆向验证对调度题检查所有进程完成时间是否连续如P1完于8P2始于8对存储题检查页号×页大小页内偏移是否等于原逻辑地址对银行家用安全序列反推Available是否匹配Work终值应Total − Allocation总和。这个习惯我坚持了7年。从那以后我每次做计算题都强制走一遍三遍法哪怕只剩5分钟也先把第一遍抄完——因为桂电的步骤分往往就藏在你抄题时写的那行“P1: Arr0, Burst8”里。6.2 概念题的“定义场景反例”三段式答题模板桂电概念题如“什么是快表”“解释死锁必要条件”不接受教科书定义。笔记P5标注“阅卷老师看三个词术语、应用、区别”。模板结构定义句15字内“快表TLB是CPU内本文还有配套的精品资源点击获取

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑