前言
大家好吖,欢迎来到 YY 滴 操作系统不挂科 系列 ,热烈欢迎! 本章主要内容面向接触过C++的老铁
本博客主要内容,收纳了一部门基本的操作系统题目,供yy应对期中考试复习。大家可以参考
一.选择题 1.若处理器有32位地址,则它的虚拟地址空间为()字节: A.2GB
B.4GB
C.100KB
D.640KB
2.有关虚拟存储器的叙述中正确的是() A.要求作业运行前,必须全部装入内存,且在运行中必须常驻内存
B.要求作业运行前,不必全部装入内存,且在运行中不必全部常驻内存
C.要求作业运行前,不必全部装入内存,但在运行中必须全部常驻内存
D.要求作业运行前,必须全部装入内存,且在运行中不必常驻内存
3.考虑页面置换算法,系统有m个物理块供调度,初始时全空,页面引用串长度为p,包含了n个不同的页号,无论用什么算法,缺页次数不会少于() A.2GB
B.4GB
C.100KB
D.640KB
答案:C 解析:无论用什么页面置换算法,每个页面第一次访问时不可能在内存中,必然发生缺页,所以缺页次数大于等于n 4.在请求分页系统中,( )没有优先考虑最近使用过的页面 A.最佳置换算法
B.最近最久未使用算法
C.先进先出算法
D.时钟置换算法
5.当系统发生抖动(thrashing)时,可以采取的有效措施是( ) 6.在请求页式存储管理中,页表项中使用修改位的目的是() A.实现LRU置换算法
B.实现FIFO算法
C.在快表中检查页面是否进入
D.检查页面是否最近被写过
7.在缺页处理过程中,操作系统执行的操作可能是( ) 答案:D 解析:在缺页处理过程中,操作系统会修改页表(如页表项中“有效位”),磁盘I/O(从磁盘交换区调入页面)并分配页框 8.作业在执行中发生缺页中断,经操作系统处理后,应让其执行( )指令 A.被中断的前一条
B.被中断的那一条
C.被中断的后一条
D.启动时第一条
答案:B 解析:因为中断是由执行指令自己产生的,因不在物理内存中而无法执行,故中断返回时,就重新执行被中断的那条指令 (异常)过程调用时,跳转到处理程序之前,处理器将返回地址压入栈中。异常处理会根据异常的类型,返回地址或是当前指令,或是下一条指令,也可能不再返回(终止执行)。 9.某计算机采用二级页表的分页存储管理方式,按字节编址,页大小为210字节,页表项大小为2字节,逻辑地址结构为下图所示;逻辑地址空间大小为216页,则表示整个逻辑地址空间的页目录表中包含表项的个数至少是( ): A.64
B.128
C.256
D.512
页大小为2的10次方字节——页内偏移(Offset)占10位 页表项大小2字节——在一页内最多放的页表项数为2的10次方/2的9次方,即二级页表每块最多放2的9次方个页表项 ,即“页号”最多占9位 逻辑地址空间大小为2的16次方页——(页目录号+页号)是16位 页目录号=16-9=7,即一级页表至少可编址2的7方=128个 10.某系统采用改进型CLOCK置换算法,页表项中字段A为访问位,M为修改位。A=0表示页最近没有被访问,A=1表示页最近被访问过。M=0表示页没有被修改过,M=1表示页被修改过。按(A,M)所有可能的取值,将页分为四类:(0,0),(0,1),(1,0)和(1,1),则该算法淘汰页的次序为( ) A.(0, 0),(0,1),(1,0),(1,1)
B.(0,0),(1,0),(0,1),(1,1)
C.(0,0),(0,1),(1,1),(1,0)
D.(0, 0),(1,1),(0, 1),(1, 0)
答案:A 解析:
1)与CLOCK相比只使用了一位A,改进的CLOCK使用A和M两位
2)按照(A,M)值的顺序由小到大选择替换。即(0,0),(0,1),(1,0),(1,1)顺序替换.
3)之所以 (0,1)较(1,0)先替换是因为淘汰一个没有被访问的已修改的页面要比淘汰一个被频繁使用的“干净”页面好. 二.填空题 1.由于内存大小有限,为使得一个或多个作业能在系统中运行,常要用外存来换取内存。其中以作业为单位对内外存进行交换的技术称为( ① )技术,在作业内部对内外存进行交换的技术称为( ② )技术。用外存换内存是以牺牲程序运行时间为代价的。为提高CPU利用率,避免内外存的频繁交换,( ② )技术常用某种( ③ )来选择换出内存的页面,它的基础是程序的( ④ )。据此,操作系统可根据( ⑤ )来改善系统的性能,( ⑤ )是一个进程在定长的执行时间内涉及到的页面的集合。【**,1996高级程序员】 ① ②.A.Spooling B.Swapping C.虚拟存储 D.虚拟机 E.进程管理 F.设备管理
③. A.页面分配策略 B.页面标志策略 C.页面淘汰策略 D.段设置策略
④. A.完整性 B.局部性 C.递归性 D.正确性
⑤. A.工作集 B.页面集 C.段号集 D.元素集
第一问:B 第二问:C 第三问:C 第四问:B 第五问:A 三.简答题 ※四种置换算法详细解析博客传送门 1.考虑下面的页面引用串: 7,2,3,1,2,5,3,4,6,7,7,1,0,5,4,6,2,3,0,1 假设采用3个帧的请求调页,以下置换算法会发生多少次缺页错误?1) LRU置换2) FIFO置换3) 最优置换 注: 缺页错误——>即缺页 答案:LRU置换:18 FIFO置换:17 最优置换:13 解析: LRU替换算法: 使用lru算法进行页面置换时,每次替换 最近,最久,未被使用 的页面。下面是使用LRU算法进行页面置换时的过程 遇到重复的,就 直接跳过 就行 考虑下面的页面引用串: 7,2,3,1,2,5,3,4,6,7,7,1,0,5,4,6,2,3,0,1 假设采用3个帧的请求调页,LPU置换算法会发生多少次缺页错误? 18 fifo置换 当需要淘汰一个页面时,总是选择驻留主存时间最长的页面进行淘汰,即 先进入主存的页面先淘汰。 遇到重复的,就 直接跳过 就行 考虑下面的页面引用串: 7,2,3,1,2,5,3,4,6,7,7,1,0,5,4,6,2,3,0,1 假设采用3个帧的请求调页,FIFO置换算法会发生多少次缺页错误? 17 最优算法: 遇到重复的,就 直接跳过 就行 需要淘汰页面时,选择将来 最长时间内不再被访问 的页面,或者选择 以后永不使用的页面 进行淘汰, 往后看 。————————(例题1) 重点:需要淘汰页面时,遇到要选择 两个/两个以上页面以后永不使用的页面谁要淘汰时 ,这时我们用 先进先出原则 ——————————(例题2) 考虑下面的页面引用串: 7,2,3,1,2,5,3,4,6,7,7,1,0,5,4,6,2,3,0,1 假设采用3个帧的请求调页,OPT置换算法会发生多少次缺页错误? 13 >
如果后面没有出现7,即找到不再用到的数字(7)的物理块替换 2.考虑下面的页面引用串: 1、2、3、4、1、2、5、1、2、3、4、5假设使用3个帧的请求调页,分别采用最近最少使用(LRU)、最优(OPT)和时钟(Clock)三种页面置换算法,在下表中填写各算法物理帧的内容,回答缺页次数。 缺页7
解析:lru算法和opt算法具体过程参考上一题,这里解析clock算法
总结:内存块满时,循环扫描各页面,第一轮淘汰访问位=0的,若没选中(访问位由1改0),进行下一轮循环 每个页面设置一个 访问位 : 当某页被访问时,其访问位,置为1 当需要淘汰一个页面时,只需检查页的访问位; 如果是0,选择此页换出; 如果是1,把它置0,暂不换出; 继续检查下一个页 每次新换入一个页面后,访问位,置1; 指针指向下一个页面 考虑下面的页面引用串: 1、2、3、4、1、2、5、1、2、3、4、5假设采用3个帧的请求调页,CLOCK置换算法会发生多少次缺页错误?
9
每次新换入一个页面后, 访问位,置1;
指针指向下一个页面 第二轮循环
发现内存块物理1,的1,的访问位=0,替换掉
换入一个新页面,4的标志位,置1;指针指向下一个页面 下一步我们继续沿用这个原则,要么直接替换,要么进行一轮循环二轮循环