2.某虚拟存储器的用户编程空间共32个页面,每页为1KB,内存为16KB。假定某时刻一用户页表中已调入内存的页面的页号和物理块号的对照表如下:
页号 | 物理块号 |
0 | 3 |
1 | 7 |
2 | 11 |
3 | 8 |
则逻辑地址0A5C(H)所对应的物理地址是什么?要求:写出主要计算过程。
3.对于如下的页面访问序列:
1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5
当内存块数量分别为3和4时,试问:使用FIFO、LRU置换算法产生的缺页中断是多少?(所有内存开始时都是空的,凡**次用到的页面都产生一次缺页中断)
4. 在某个计算机系统中,磁头当前在15柱面,移臂方向为从小到大。磁盘访问请求序列为:15、20、9、16、24、13、29。请给出最短寻道时间优先算法和电梯调度算法的柱面移动数。(要求写出简单的计算过程)
5.一个进程被分配了4个页帧。下表列出了各页的虚拟页号,各页被装入页帧的时间,各页最近被访问的时间,以及各页的引用位和修改位(时间从进程启动时开始计算)。
虚拟页号 | 页帧号 | 装入时间 | 引用时间 | 引用位 | 修改位 |
2 | 1 | 60 | 161 | 0 | 1 |
1 | 2 | 130 | 160 | 0 | 0 |
0 | 3 | 26 | 162 | 1 | 0 |
3 | 4 | 20 | 163 | 1 | 1 |
①假如发生一个访问页号为4的页面缺页中断,试分别使用FIFO、LRU和NUR算法选择淘汰页面。
②对于下面的内存访问序列:4,0,0,0,2,4,2,1,0,3,2,如果使用窗口大小为4 的工作集方法来取代固定分配页帧的方法,则会出现多少次缺页中断?
6.假定把如表所示的4个作业同时提交给系统并进入后备队列,若使用最短作业优先调度算法,则作业的平均等待时间是多少?若使用最高优先数队列的调度算法,则作业的平均周转时间是多少?
作业 | 所需运行时间/小时 | 优先数 |
1 | 2 | 4 |
2 | 5 | 9 |
3 | 8 | 2 |
4 | 3 | 8 |
7. 有5个任务A、B、C、D、E,它们的到达时间依次是1、3、4、5、7,预计它们的运行时间为8、6、3、5、10(min)。其优先级分别为3、5、2、4、1,这里5为最高优先级。对于下列每一种调度算法,计算其平均周转时间。(要求写出简单的计算过程)
(1)先来先服务算法。
(2)抢占式的优先级调度算法。
2.
(1) 非抢占式优先级算法
作业1 作业3 作业2
(2)
作业 | 到达时间 | 运行时间 | 完成时间 | 周转时间 | 带权周转时间 |
1 | 0 | 10 | 10 | 10 | 1.0 |
2 | 1 | 4 | 17 | 16 | 4.0 |
3 | 2 | 3 | 13 | 11 | 3.7 |
平均周转时间 | 12.3 | ||||
平均带权周转时间 | 2.9 |
3.125C(H) (要求写出计算步骤)
[分析]:页式存储管理的逻辑地址分为两部分:页号和页内地址。
由已知条件“用户编程空间共32个页面”,可知页号部分占5位;由“每页为1KB”,1K=210,可知内页地址占10位。由“内存为16KB”,可知有16块,块号为4位。
逻辑地址0A5C(H)所对应的二进制表示形式是:000 1010 0101 1100 ,根据上面的分析,下划线部分为页内地址,编码 “000 10” 为页号,表示该逻辑地址对应的页号为2。查页表,得到物理块号是4(十进制),即物理块地址为:01 00 ,拼接块内地址10 0101 1100,得01 0010 0101 1100,即125C(H)。
4.
FIFO淘汰算法:
内存块为3时,缺页中断(或称缺页次数、页面故障)为9;
内存块为4时,缺页中断为10。
LRU淘汰算法:
内存块为3时,缺页中断为10;
内存块为4时,缺页中断为8。
(具体计算过程省略,解答时请同学们写出计算过程。)
5.
按照最短寻道时间优先算法,柱面的访问次序是:15、16、13、9、20、24、29,所以最短寻道时间优先算法的柱面移动数为:1+3+4+11+4+5=28;
按照电梯调度算法,柱面的访问次序是:15、16、20、24、29、13、9,所以电梯调度算法的柱面移动数为:1+4+4+5+16+4=34。
6.
(1)若使用FIFO方法选择淘汰页面,则应为装入时间最早的页面,即第3页。若使用LRU方法选择淘汰页面,则应为最近访问时间最早的页面,即第1页。若使用NUR方法选择淘汰页面,则应选择未引用且未修改的页面。从表中可看出,在时刻161系统将修改位全部清0,这里应选择引用位和修改位均为0的页面,即第1页。
(2)使用工作集方法的运行情况如表所示。从表中可以看出,总共会产生5次缺页中断。
访问页面 | 当前工作集 | 是否产生缺页中断 |
4 | {1,2,0,3} | 是 |
0 | {2,0,3,4} | 否 |
0 | {0,3,4} | 否 |
0 | {0,3,4} | 否 |
2 | {0,3,4,2} | 是 |
4 | {0,3,4,2} | 否 |
2 | {0,3,4,2} | 否 |
1 | {3,4,2,1} | 是 |
0 | {4,2,1,0} | 是 |
3 | {2,1,0,3} | 是 |
2 | {2,1,0,3} | 否 |
7.
对给定的4个作业,当采用最短作业优先调度算法时,作业的执行次序是1,4,2,3,它们的等待时间分别为0,2,5,10。所以,作业平均等待时间是
(2+5+10)h/4=4.25h
若用最高优先数队列的调度算法,则作业的执行次序是2,4,1,3,其周转时间分别为5,8,10,18。因此,作业的平均周转时间是
(5+8+10+18)h/4=10.25h
8.
(1)采用先来先服务调度算法时,5个任务在系统中完成时间及周转时间如表所示。
作业 | 到达时间 | 运行时间 | 开始时间 | 完成时间 | 周转时间 |
A | 1 | 8 | 1 | 9 | 8 |
B | 3 | 6 | 9 | 15 | 12 |
C | 4 | 3 | 15 | 18 | 14 |
D | 5 | 5 | 18 | 23 | 18 |
E | 7 | 10 | 23 | 33 | 26 |
根据表中的计算结果,5个进程的平均周转时间为:
(8+12+14+18+26)/5=15.6min
(2)采用高优先级调度算法时,5个任务在系统中的完成时间及周转时间如表所示。
作业 | 到达时间 | 运行时间 | 优先级 | 开始时间 | 完成时间 | 周转时间 |
A | 1 | 8 | 3 | 1 | 20 | 19 |
B | 3 | 6 | 5 | 3 | 9 | 6 |
C | 4 | 3 | 2 | 20 | 23 | 19 |
D | 5 | 5 | 4 | 9 | 14 | 9 |
E | 7 | 10 | 1 | 23 | 33 | 26 |
它们的平均周转时间为:
(19+6+19+9+26)/5=15.8min。