1. 某操作系统采用动态分区分配存储管理方法,用户区为512K且始址为0,用空闲分区
表管理分区。若采用分配空闲区低地址部分方案,且初始用户区的512K空闲空间,对下述申请序列:申请300K、申请100K、释放300K、申请150K、申请30K、申请40K、申请60K、释放30K。
采用首次适应算法,空闲分区中有哪些空闲块(给出始址,大小) 解:采用首次适应算法时的操作流程:
操作 已分配空间 空闲块
初始 无 (0,512K)
申请300K (0,300K) (300K,212K) 申请100K (0,300K) (400K,112K) (300K,100K)
释放300K (300K,100K) (0,300K) (400K,112K)
申请150K (0,150K) (150K,150K) (300K,100K) (400K,112K)
申请30K (0,150K) (180K,120K) (150K,30K) (400K,112K) (300K,100K)
申请40K (0,150K) (220K,80K) (150K,30K) (400K,112K) (180K,40K) (300K,100K)
申请60K (0,150K) (280K,20K) (150K,30K) (400K,112K) (180K,40K) (220K,60K) (300K,100K)
释放30K (0,150K) (150K,30K)
(280K,20K)
(400K,112K) (180K,40K) (220K,60K) (300K,100K)
2. 有一页式存储管理系统,其页表存放在主存中。
(1) 如果对主存的一次存取需要1.5微秒,试问:实现一次页面访问的存取时间是
多少?
(2) 如果系统加有快表,平均命中率为85%,当页表项在快表中时,其查找时间匆
略为0,试问此时的存取时间是多少?
解:(1)若页表在主存中,实现一次页面访问需要访问两次主存,一次是访问页表,确
定所存取页面的物理地址,第二次才是根据该地址存取页面数据,所以实现一次页面访问需要时间:1.5*2=3(微秒)
(3) 系统增加快表后,在快表中找到页表项的概率是85%,实现一次页面访问需要
的时间:0,85*1.5+(1-0.85)*2*1.5=1.725(微秒)
3. 在一页式存储管理系统中,某进程的页表如下所示。已知页面大小为1024B,试将逻辑
地址1011、5012转化为相应的物理地址。 页号 0 1 2 3 块号 2 3 1 6 解:为了描述方便,设页号为P,页内位移为W,逻辑地址为A,页面大小为L,则: P=int(A/L) W=A%L 对于逻辑地址A=1011
P=int(1011/1024)=0 W=101124=1011
查页表,第0页在第2物理块,所以,物理地址是: 2*1024+1011=3059B 对于逻辑地址A=5012
P=int(5012/1024)=4 W=501224=916
查页表,页号大于或等于页表长度4,地址越界,该逻辑地址非法。
4. 在一个请求分页存储管理系统中,一个进程的页面流为:4、3、2、1、4、3、5、4、3、
2、1、5,当分配给该进程的物理块数是3时,试计算采用下述页面淘汰算法时的缺页率或置换率(假设开始执行时主存中没有页面)。 (1) 最佳页面淘汰算法 (2) 先进先出页面淘汰算法 解:
(1) 根据页面流,使用最佳页面淘汰算法时,进程在内存中的页面映象图为: 流向 块1 块2 块3 缺页 置换 4 3 2 1 4 3 5 4 3 2 1 5 4 4 4 4 4 2 2 3 3 3 3 3 1 2 1 5 5 5 # # # # # # # $ $ $ $ 缺页率=7/12 置换率=4/12
(2) 根据页面流,使用先进先出页面淘汰算法时,进程在内存中的页面映象图为: 流向 块1 块2 块3 缺页 置换 4 3 2 1 4 3 5 4 3 2 1 5 4 4 4 1 1 1 5 5 5 3 3 3 4 4 4 2 2 2 2 2 3 3 3 1 # # # # # # # # # $ $ $ $ $ $ 缺页率=9/12 置换率=6/12