【操作系统】2016 年操作系统真题 (还原版)
一、内存管理题在一个虚拟内存管理系统中,某进程的驻留集 (Resident Set) 大小为 3,虚拟时间(Virtual Time) 1 至 12 的访问序列如下:R1, W2, R3, R2, W4, R2, R4, W5, R3, R1, R5, R2其中 R 表示读,W 表示写,数字为页号。初始状态内存为空,采用兼顾使用位 (u)和 修改位 (m)的改进型 CLOCK算法。(1) 请画出内存分配过程图,并计算缺页中断次数。(图例:p(u, m),* 表示指针)(2) 若窗口大小 ∆ = 3,当虚拟时间 t = 6 时,驻留集和工作集 (Working Set)分别是什么?(3) 若 TLB 只有 2 项且采用 FIFO 策略,请分析哪个时间点的地址翻译由 TLB命中?(4) 分析哪个时间点的内存行为会触发“写磁盘 (Write to Disk)”操作解答:(1)改进型 CLOCK 算法内存分配过程与缺页中断次数计算改进型 CLOCK 算法核心规则改进型 CLOCK(二次机会 + 修改位)将页面分为 4 类,优先级从低到高为:(u=0,m=0) (u=0,m=1) (u=1,m=0) (u=1,m=1)(u 为使用位,m 为修改位)。初始时所有页面 u=0、m=0,指针 * 指向内存首个页面;访问页面(读 / 写)时,若缺页则按优先级查找替换页:先找 (u=0,m=0),无则找 (u=0,m=1),依此类推;找到后,若替换页m=1 需先写磁盘,再替换为新页面;读操作(R):页面 u 置 1,m 保持不变;写操作(W):页面 u 置 1,m 置 1;指针遍历到页面时,若 u=1 则置 u=0 并继续遍历,直到找到最低优先级页面。驻留集大小 = 3,初始内存为空,访问序列:R1, W2, R3, R2, W4, R2, R4, W5, R3, R1, R5, R2图例:p(u, m)表示页号 p,使用位 u,修改位 m;*表示算法指针;缺页标注缺页中断,替换标注页面替换,写盘标注替换前写磁盘操作。内存分配过程表(虚拟时间 t:1~12,内存状态为驻留集,按指针遍历顺序排列):虚拟时间 t访问操作u/m 初始化内存状态(驻留集,* 为指针)页面状态更新缺页?替换?写盘?缺页累计1R11(0,0)*1 (1,0) 空 空R→u=1,m=0✅❌❌12W22(0,0)*1 (1,0) 2 (1,1) 空W→u=1,m=1✅❌❌23R33(0,0)*1(1,0) 2(1,1) 3(1,0)R→u=1,m=0✅❌❌34R2-*1(1,0) 2(1,1) 3(1,0)R2→u 保持 1❌❌❌35W44(0,0)1(0,0) *2(0,1) 3(0,0)遍历置 u=0;替换 1 (0,0) 为 4 (1,1)✅✅(1)❌46R2-4(1,1) *2(1,1) 3(0,0)R2→u 保持 1❌❌❌47R4-4(1,1) *2(1,1) 3(0,0)R4→u 保持 1❌❌❌48W55(0,0)4(0,1) 2(0,1) *3(0,0)遍历置 u=0;替换 3 (0,0) 为 5 (1,1)✅✅(3)❌59R33(0,0)4(0,1) *2(0,1) 5(0,1)遍历置 u=0;无 (u=0,m=0),选 4 (0,1) 替换为 3 (1,0)✅✅(4)✅(4)610R11(0,0)3(0,0) *2(0,1) 5(0,1)遍历置 u=0;选 3 (0,0) 替换为 1 (1,0)✅✅(3)❌711R5-1(1,0) *2(0,1) 5(1,0)R5→u 置 1❌❌❌712R2-1(1,0) *2(1,1) 5(1,0)R2→u 置 1❌❌❌7关键替换过程说明t=5(W4):内存满,指针从 * 1 开始遍历,依次将 1 (1,0)→1 (0,0)、2 (1,1)→2 (0,1)、3 (1,0)→3 (0,0),找到最低优先级 1 (0,0),替换为 4 (1,1),指针指向 2。t=8(W5):指针从 * 2 遍历,4 (1,1)→4 (0,1)、2 (1,1)→2 (0,1)、3 (0,0) 不变,找到最低优先级 3 (0,0),替换为 5 (1,1),指针指向 3(新页 5)。t=9(R3):指针从 * 5 遍历,4 (0,1) 不变、2 (0,1) 不变、5 (1,1)→5 (0,1),无 (u=0,m=0),选次低优先级 4 (0,1),因 4 的 m=1,先写磁盘再替换为 3 (1,0),指针指向 2。t=10(R1):指针从 * 2 遍历,3 (1,0)→3 (0,0)、2 (0,1) 不变、5 (0,1) 不变,找到最低优先级 3 (0,0),替换为 1 (1,0),指针指向 2。缺页中断次数总计 7 次,缺页发生在 t=1、2、3、5、8、9、10。内存分配过程图(简化版)t1:*[1(1,0)]空 空 (缺页1) t2:*[1(1,0)][2(1,1)]空 (缺页2) t3:*[1(1,0)][2(1,1)][3(1
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2415040.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!