操作系统概论第三章答案

发布时间 : 星期日 文章操作系统概论第三章答案更新完毕开始阅读

(1) 字号=[块号/字长]= [399/32]=12 位号=块号mod字长=399mod 32=15

(2)9号字的18号位对应的页面号为: 9×32+18=306

140.分别采用先进先出(FIFO)和最近最久未使用调度算法(LRU)调度1—9九个页面的

作业。该作业运行时,调用页面的次序为:。如果该作业运行时最多可以占用4个主存块,且前4页1、2、5、6已装入主存。请说明完成该作业 (1)两算法各自发生缺页中断的次数; (2)两算法各自淘汰页面的次序。

141.某系统采用页式存储管理,运行一个共有九页的作业,依次访问的页面的次序为,若前五页已装入主存且维持五个页在主存工作,试问分别用FIFO和LRU调度算法时,完成该作业会产生的缺页中断次数和淘汰页面的次序? 答:采用先进先出(FIFO)算法:

1 2 3 7 8 2 1 4 1 2 3 1 5 2 6 3 9 3 5 2 6 1 2 3 7 1 2 3 7 1 2 3 7 1 2 3 7 1 2 3 7 1 2 3 7 1 2 3 7 4 2 3 7 4 1 3 7 4 1 2 7 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 6 1 2 3 6 1 2 3 6 9 2 3 6 9 2 3 5 6 9 2 3 5 6 9 2 3 5 6 9 2 3 5 8 8 8 8 8 8 8 8 8 8 8 8 5 5 5 5 5 1 2 3 7 8 4 1 采用先进先出(FIFO)算法共产生7次缺页中断。 依次淘汰的页为:1,2, 3, 7, 8, 4, 1

采用最近最久未使用(LRU)调度算法:

1 2 3 7 8 2 1 4 1 2 3 1 5 2 6 3 9 3 5 2 6 1 2 3 7 8 1 2 3 7 8 1 2 3 7 8 1 2 3 7 8 1 2 3 7 8 1 3 7 8 2 3 7 8 2 1 7 8 2 1 4 7 8 2 4 1 7 8 4 1 2 8 4 1 2 3 8 4 2 3 1 4 2 3 1 5 4 3 1 5 2 3 1 5 2 6 1 5 2 6 3 5 2 6 3 9 5 2 6 9 3 2 6 9 3 5 6 9 3 5 2 9 3 5 2 6 3 7 8 4 1 采用最近最久未使用(LRU)调度算法共产生5次缺页中断。 依次淘汰的页为:3,7,8,4,1

142.某操作系统采用可变分区分配存储管理方法,用户区为512K且始值为0,用空闲分区表管理空闲分区。若分配时采用分配空闲低地址部分的方案,其初始时用户区的512K

空间空闲,对下述申请序列:申请300K,申请100K,释放300K,申请150K,申请30K,申请40K,申请60K,释放30K;回答下列问题:

(1)采用首次适应算法,空闲分区中有哪些空闲块(给出始址,大小)? (2)采用最佳适应算法,空闲分区中有哪些空闲块(给出始址,大小)? 0 0 209 299 149 149 179 219 279 299 399 399 429 469 511

511 (1)图 (2)图

(1)有3块空闲块: (2)有3块空闲块: 始址 149K 279K 399K 大小 30K 20K 112K

始址 209K 399K 469K 大小 90K 30K 42K 143.试述可变分区存储管理中采用移动技术的作用和限制。

144.分页式存储空间的分配由于块的大小是固定的,可以用一张位示图(Bit map)来构成主存分配表。现设主存有8192块,则可用字长为32位的256个字作为位示图。若块号、字号、位号(从高位到低位)都是从0开始,试问4999块对应的字号和位号;129字的29位对应哪一块?

(1) 字号=[块号/字长]= [4999/32]=156 位号=块号mod字长=4999mod 32=7

(2)129字的29位对应的块号为: 129×32+29=4157

145.分页式存储空间的分配由于块的大小是固定的,可以用一张位示图(Bit map)来构成主存分配表。现设主存有8192块,可用字长为32位的256个字作为位示图。若块号,字号,位号(从高位到低位)分别从1、0、0开始,试问5999块对应的字号和位号?99字的19位对应哪一块?

(1) 字号=[块号/字长]= [(5999-1)/32]= 187 位号=块号mod字长=(5999-1)mod 32=14 (2)99字的19位对应的块号为: 99×32+19+1=3188

146.可变分区存储管理中,作业的撤离必定会修改内存的“空闲区表”,试画出因作业撤离修改“空闲区表”的四种情况。

147.假定在一个请求页式存储管理系统中,某作业J所涉及的页面依次为: 3,2,1,4,4,

5,3,4,3,2,1,5并已知主存中有3个可供作业J使用的空白存储块(块的大小与页面大小相同),试说明采用FIFO和LRU两种算法进行页面置换时,缺页中断的次数各是多少?写出内存块中页面变化的过程。 答:采用先进先出(FIFO)算法: 3 3 3 4 4 4 4 4 4 2 2 2 2 2 2 2 5 5 5 5 5 1 1 1 1 1 1 3 3 3 3 3 5 √ √ √ √ √ √ √ √ √ 采用先进先出(FIFO)算法共产生9次缺页中断。

采用最近最久未使用(LRU)调度算法: 3 3 3 2 2 1 4 5 5 4 3 2 2 2 1 1 4 5 3 4 3 2 1 1 4 4 5 3 4 3 2 1 5 √ √ √ √ √ √ √ √ √ 采用最近最久未使用(LRU)调度算法共产生9次缺页中断。

148.在一个请求分页系统中,假如系统分配给一个作业的物理块数为3,且此作业的页面走

向为3 2 4 2 1 3 1 5 2 3 4 2。试用先进先出(FIFO)调度算法时,作业执行过程中会产生多少次缺页中断(包括首次访问一页时的缺页)?写出依次产生缺页中断后应淘汰的页。

答:采用先进先出(FIFO)算法:

3 2 4 2 1 3 1 5 2 3 4 2 3 3 3 3 1 1 1 1 2 2 2 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 3 2 4 1 3 采用先进先出(FIFO)算法共产生8次缺页中断。 依次淘汰的页为:3,2, 4,1, 3

149.假定某页式存储管理的系统允许作业使用的最大逻辑地址空间有128页,每页1024

个字节,而主存被划分成32块。那么,逻辑地址需要用多少位来表示?表示主存的地址需要多少位? 逻辑地址:7+10=17 主存的地址:5+10=15

150.在一个请求分页系统中,假如系统分配给一个作业的物理块数为3,并且此作业的页面走向为2、3、2、1、5、2、4、5、3、2、5、2。试用FIFO和LRU两种算法分别计算出程序访问过程中所发生的缺页次数,写出物理块中页号变化过程。 答:采用先进先出(FIFO)算法:

2 3 2 1 5 2 4 5 3 2 5 2 2 2 2 2 5 5 5 5 3 3 3 3 3 3 3 3 2 2 2 2 2 5 5 1 1 1 4 4 4 4 4 2 √ √ √ √ √ √ √ √ √ 采用先进先出(FIFO)算法共产生9次缺页中断。 采用最近最久未使用(LRU)调度算法:

2 3 2 1 5 2 4 5 3 2 5 2 2 2 3 3 2 1 5 2 4 5 3 3 3 2 2 1 5 2 4 5 3 2 5 1 5 2 4 5 3 2 5 2 √ √ √ √ √ √ √ 采用最近最久未使用(LRU)调度算法共产生7次缺页中断。 151.考虑一个460字的程序的下述内存访问序列:

10 19 154 170 54 334 185 245 247 456 458 378 (1)假定页面大小为100字,试给出页访问串;

(2)假定内存中有200个字可供程序使用且采用FIFO算法,那么有关该访问串的缺页

中断次数是多少?

(3)若使用LRU算法,则有关该访问串的缺页中断次数是多少? (1)页访问串:0,0,1,1,0,3,1,2,2,4,4,3 (2)采用先进先出(FIFO)算法:

0 0 1 1 0 3 1 2 2 4 4 3 0 0 0 0 0 3 3 3 3 4 4 4 1 1 1 1 1 2 2 2 2 3 √ √ √ √ √ √ 采用先进先出(FIFO)算法共产生6次缺页中断。 (3)采用最近最久未使用(LRU)调度算法:

0 0 1 1 0 3 1 2 2 4 4 3 0 0 0 0 1 0 3 1 1 2 2 4 1 1 0 3 1 2 2 4 4 3 √ √ √ √ √ √ √ 采用最近最久未使用(LRU)调度算法共产生次7缺页中断。

152. 假定某采用分页式存储管理的系统中,每页大小为2048字节。某作业的地址空间占4

页,其页号为0,1,2,3,被分配到主存的第2,4,1,5块中。回答:作业中第0页和第2页在分到的主存块中的起始地址分别为多少? 作业中第0页在分到的主存块中的起始地址:2×2048=4096 作业中第2页在分到的主存块中的起始地址:1×2048=2048

153.有一个程序要将256×256的整型数组的初值置为“0”,每个整数占用2个字节,页面大小为512字节,数组中的元素按行编址存放。假定只有一个主存块可用来存放数组信息,初始状态为空。将数组初始化为0的程序分别如下: (A程序) int a[256][256]; int i,j;

for(i=0;i<=255;i++) for(j=0;j<=255;j++) a[i][j]=0;

(B程序) int a[256][256];

int i,j;

for(j=0;j<=255;j++)

for(i=0;i<=255;i++) a[i][j]=0;

试问整个数组占用多少页面?上述两个程序执行时,各产生多少次缺页中断? 占总页数是256*256*2=65536*2/512=256页 A程序中断256 B程序中断256*256=65536

联系合同范文客服:xxxxx#qq.com(#替换为@)