存储管理综合题1. 试述缺页中断与一般中断的主要区别解:缺页中断作为中断,同样需要经历保护CPU现场、分析中断原因、转缺 页中断处理程序进行处理、恢复CPU现场等步骤但缺页中断又是一种特殊的中 断,它与一般中断的主要区别是:(1) 在指令执行期间产生和处理中断信号通常,CPU都是在一条指令执 行完后去检查是否有中断请求到达若有便去响应中断;否则继续执行下一条指 令而缺页中断是在指令执行期间,发现所要访问的指令或数据不在内存时产生和 处理的2) 一条指令在执行期间,可能产生多次缺页中断例如,对于一条读取 数据的多字节指令,指令本身跨越两个页面,假定指令后一部分所在页面和数据所 在页面均不在内存,则该指令的执行至少产生两次缺页中断2. 已知页面走向为1、2、1、3、1、2、4、2、1、3、4,且开始执行时主 存中没有页面若只给该作业分配2个物理块,当采用FIFO页面淘汰算法时缺页 率为多少?假定现有一种淘汰算法,该算法淘汰页面的策略为当需要淘汰页面时, 就把刚使用过的页面作为淘汰对象,试问就相同的页面走向,缺页率又为多少?[分析及相关知识] 在进行内存访问时,若所访问的页已在主存,则称 此次访问成功;若所访问的页不在主存,则称此次访问失败,并产生缺页中断。
若 程序P在运行过程中访问页面的总次数为S,其中产生缺页中断的访问次数为F,则 其缺页率为:F/s.解:根据所给页面走向,采用FIFO淘汰算法的页面置换情况如下: 页面走向1 2 1 3 1 2 4 2 1 3 4从上述页面置换图可以看出:页面引用次数为11次,缺页次数为9次,所以 缺页率为9/11若采用后一种页面淘汰策略,其页面置换情况如下: 页面走向1 2 1 3 1 2 4 2 1 3 4物理块11131113 4物理块2 2 2 2 4 2 2 2缺页缺缺缺缺缺缺缺缺9•某操作系统采用可娈分区分配存储管理方法,用户区为512K且始址为 0,用空闲分区管理空闲分区若分配采用分配空闲区低地址部分的方案,且初始 时用户区的512K空间空闲,对下述申请序列:申请300K,申请100K,释放300K,申请150K,申请30K,申请40K,申请 60K,释放 30K回答下列问题:(1) 采用首次适应算法,空闲分区中有哪些空块(给出始址,大小)?(2) 采用最佳适应算法,空闲分区中有哪些空块(给出始址,大小)?(3)台再申请100K,针对(1)和(2)各有什么结果?初始无(0512K)申请 300K212K)(0,300K)(300K,申请 100K112K)(0,300K)(400K,操作:已分配空间空闲块300K,100K)释放 300K300K,100K)0,300K)400K,112K)申请 150K150K)0,(150K,150K)300K,100K)400K,112K)申请 30K150K)0,(180K,120K)150K,30K)400K,112K)申请 40K150K)0,(220K,80K)150K,30K)400K,112K)170K,40K) 300K,100)申请 60K (0280K,20K)(400K,112K)150K)(150K,30K)(180K,40K)(220K,60K)(300K,100K)释放 30K150K)180K,40K)0,(150K,30K)280K,20K)400K,112K)300K,100K)采用最佳适应算法时的操作流程:操作: 已分配空间 空闲块初始 无512K)申请 300K0,300K)300K,212K)112K)300K,100K)释放 300K300K,100K)0,300K)400K,112K)申请 150K(0,150K)(150K,150K)(300K,100K)(400K,112K)申请 30K(0,150K)(150K,150K)300K,100K)430K,82K)(400K,30K)申请 40K150K)(300K,100K)(400K,30K)(430K,40)0,(150K,150K)(470K,42K)申请 60K (0,150K)210K,90K)(150K,60K)(300K,100K)(400K,30K)(430K,40K)释放 30K(470K, 42K)150K)0,(210K,90K)400K,30K)150K,60K)300K,100K)470K,42K)430K,40K)解:(1)采用首次适应算法,在完成了题目所给的毓申请及释放内存操作后,内存分配情况如图 5,11,空闲分区表如下所示。
150K180K220K280K300K400K512K-1150K40K60K100K图 5.11 采用首次适应算法的内存分配情况分区小1 30K1280K20K2400K112大起始地址150K(2)采用最佳适应算法,完成了题目所给的系列申请及释放内存操作后,内存分配情况如图5.12所示(用阴影表示空闲空间),空闲分区表如下:150K150K60K210K300K400K430K470K512K-1100K40K图5.12 采用最佳适应算法的内存分配情况大起始地址分区小30K400K42K470K2 90K210K(3)如再申请空间100K空间,由上述结果可知,采用首次适应算法后剩下的 空闲分区能满足这一申请要求;而采用最佳适应算法后剩下的空闲分区不能满足这 一申请要求10.有一页式系统,其页表存放在主存中1) 如果对主存的一次存取需要1.5微秒,试问实现一次页面访问的存取 时间是多少?(2) 如果系统加有快表,平均命中率为85%,当页表项在快表中时,其查 找时间忽略为0,试问此时的存取时间为多少?解:若页表存放在主存中,则要实现一次页面访问需要两次访问主存,一次 是访问页表,确定所存取页面的物理地址,第二次才根据该地址存取页面数据。
1)由于页表存放在主存,因此CPU必须两次访问主存才能获得所需数 据,所以实现一次页面访问的存取时间是:1.5X2=3 微秒(2)在系统增加了快表后,在快表中找到页表项的概率为85%,所以实现一次 页面的访问的存取时间是0.85X 1.5+(1-0.85)X2X 1.5=1.725 微秒11.若在一分页存储管理系统中,某作业的页表如下所示已知页面大小为1024字节,试将逻辑地址1011,2148,3000,4000,5012转化为相应的物理地 址块号页号解:本题中,为了描述方便,设页号为P,页内位移为W,逻辑地址为A,页 面大小为L,则:p=int(A/L)w=A mod L 对于逻辑地址1011 p=int(1011/1024)=0 w=1011 mod 1024=1011 查页表第0页在第二块 对于逻辑地址2148 p=int(2148/1024)=2 w=2148 mod 1024=100 查页表第2页在第1块 对于逻辑地址3000 p=int(3000/1024)=2 w=3000 mod 1024=928 查页表第2页在第1块, 对于逻辑地址4000 p=int(4000/1024)=3所以物理地址为3059。
所以物理地址为1124所以物理地址为1796w=4000mod 1024=928查页表第3页在第6块, 所以物理地址为7072对于逻辑地址5012p=int(5012/1024)=4w=5012mod1024=916因页号超过页表长度,该逻辑地址非法12.在一个请求分页存储管理系统中,一个作业的页面走向为4,3,2,1, 4,3,5,4,3,2,1,5,当分配给该作业的物理块数分别为3,4时,试计算采 用下述页面淘汰算法时的缺页率(假设开始执行时主存中没有页面),并比较所得 结果1) 最佳置换淘汰算法(2) 先进先出淘汰算法(3) 最近最久未使用淘汰算法解:(1)根据所给页面走向,使用最佳页面淘汰 算法时,页面置换情况如 下:走向 432143543215块1 4 4 4 4块2块32 1 5 5 5缺页 缺 缺 缺缺 缺 缺 缺缺页率为:7/12块1块2块3块4缺页缺缺缺页率为:6/12 由上述结果可以看出,增加分配给作业 的内存块数可以降低缺页率2)根据所给页面走向,使用最佳页面淘汰 算法时,页面置换情况如下:走向4 3 2 1 4 3 5 4 3 2 1 5块1 4 4 4 1 1 1 5 5 5块2 3 3 3 4 4 4 3 2块3 2 2 2 3 3 2 1缺页 缺 缺 缺缺 缺 缺 缺缺页率为:9/12块1 4 4 4 45 5 5 5 1 1块2 3 3 3块3 2 2块4 13 4 4 4 4 52 2 3 3 3 31 1 1 2 2 2缺页 缺 缺 缺缺缺页率为:10/12由上述结果可以看出,对先进先出算法而言,增加分配给作业的内存块数反而使缺页率上升,这种异常现象称为Belady现象。
3) 根据所给页面走向,使用最佳页面淘汰算法时,页面置换情况如下:块14 4 4 1115222块23244 441 1块32323 333 5缺页 缺缺缺缺缺■缺! 缺走向4 3 2 1 4 3 5 4 3 2 1 5缺页率为:10/12走向4321435 4 3 2 1 5块14444444 5块2333。