计算机操作系统课后答案

程序A: int i,j;

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

程序B: int i,j;

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

若在程序执行过程中,内存中只有一个页面用来存放数组的信息,试问程序A和程序B执行时产生的中断次数分别是多少?

答案

1. 答:缺页中断与一般中断一样,需要经历保护CPU香肠、分析中断原因、转中断处理程序进行及恢复中断现场等步骤。但缺页中断是一种特殊的中断,他与一般中断的区别: (1)在指令执行期间产生和处理中断,。通常cpu是在一条至六年个执行之后去检查是否有中断发生,若有边去处理中断;否则继续执行下一跳指令。而缺页中断是在指令执行期间发现所要访问的指令或数据不再内存时产生和处理中断。

(2)一条指令执行期间可能产生多次中断。对于一跳要求读取多个字节数据的指令,指令中的数据可能跨越两个页面。该指令执行时可能要发生3次中断,一次是访问指令,另外两次访问数据。

2. 答:局部置换是指当前进程在执行过程中发生缺页时,旨在分配给该进程的物理块中选择一页换出。全局置换是指在所有用户使用的整个存储空间中选择一个页面换出。 在多道程序系统中建议使用局部置换策略。这样即使某个进程出现了抖动现象,也不致引起其他程序产生抖动,从而将抖动局限在较小的范围内。

3. 答:虚拟存储器的特征有以下几个方面:

(1)离散性:指进程不必装入连续的内存空间,二十“见缝插针”。 (2)多次性:只一个进程的程序和数据要分多次调入内存。

(3)对换性:指进程在运行过程中,允许将部分程序和数据换进、换出。 (4)虚拟性:指能从逻辑上扩充内存容量。

虚拟存储器的容量主要是受计算机的地址长度和外存容量的限制。

4. (1)先进先出置换算法。

页面调度表 页面走向 物理块1 物理块2 缺页 1 2 1 3 1 2 4 2 1 3 4 1 1 3 3 2 2 1 1 4 2 2 1 1 4 4 3 3 缺 缺 缺 缺 缺 缺 缺 缺 缺 答:页面引用11次,缺页9次,缺页率为9/11=81.8%。

(3) 假如有一种页面置换算法,它总是淘汰刚使用过的页面。 页面调度表 页面走向 物理块1 物理块2 缺页 1 2 1 3 1 2 4 2 1 3 4 1 1 3 1 1 1 3 4 2 2 2 4 2 2 2 缺 缺 缺 缺 缺 缺 缺 缺 答:页面引用11次,缺页8次,缺页率为8/11=72.7%。

5. 答:如果一个进程的页面走向为4、3、2、1、4、3、5、4、3、2、1、5,若给该进程非配3个物理块,其页面调度情况如表所示:

页面走向 物理块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 缺 缺 缺 缺 缺 缺 缺 缺 缺 引用12次,缺页9次。

若给该进程分配4个物理块,其页面调度情况如下: 页面走向 物理块1 物理块2 物理块3 物理块4 缺页 4 3 2 1 4 3 5 4 3 2 1 5 4 4 4 4 5 5 5 5 1 1 3 3 3 3 4 4 4 4 5 2 2 2 2 3 3 3 3 1 1 1 1 2 2 2 缺 缺 缺 缺 缺 缺 缺 缺 缺 缺 引用12次,缺页10次

6. 答:由于页的代谢奥为100字,因此访问序列10、205、110、40、314、432、320、225、80、130、272、420、128对应的页号是0、2、1、0、3、4、3、2、0、1、2、4、1。给该进程分配3个物理块,采用LRU置换算法,其页面调度情况如表。 页面走向 物理块1 物理块2 物理块3 缺页 0 2 1 0 3 4 3 2 0 1 2 4 1 0 0 0 0 0 2 2 2 2 2 2 3 3 3 3 1 1 1 1 4 4 0 0 4 缺 缺 缺 缺 缺 缺 缺 缺 缺 被淘汰的页号分别是2、1、0、4、3、0,共9次。 7.

进程4个页面的情况 页号 存储块号 加载时间 访问时间 访问位 修改位 0 2 30 160 0 1 1 1 160 157 0 0 2 0 10 162 1 0 3 3 220 165 1 1 (2) OPT(最佳)置换算法;

答:OPT(最佳)置换算法是选择永久不用的也活长时间不用的也,将其患处,题目中

没有给出页面的将来走向,所以无法判断将置换哪一页。 (3) FIFO(先进先出)置换算法;

答:FIFO(先进先出)置换算法是选择最先装入内存的页面,将其换出。从表中可知,

应考察的是页面的加载时间,加载时间最小的是10,因此最先装入内存的是第2页。

(4) LRU(最近最少使用)置换算法;

答:LRU(最近最少使用)算法时选择最近最久没有被访问的页面,将其换出。应考察

的是页面的访问时间,访问时间最小的是157,因此最近最久没有被访问的是第1页。

(5) Clock置换算法。

答:CLOCK置换算法时LRU算法的变种,他首先选择访问位和修改位均为0的一页,将

其换出。满足该条件的是第1页。

8.

(1) 0X0A5C

物理地址是0001001001011100 (2) 0X103C

产生缺页中断 (3) 0X257B

产生越界中断 (4) 0X8A4C 地址错误

9. 答:由题知,数组a中有50X50=2500个整数,每个整数占2个字节,数组共需要2X2500=5000字节。儿页面的大小是100字节,则数组占用的空间为5000/100=50页。 对于程序A:由于数组是按行存放的,而初始化数组的程序也是按行进行初始化的。

因此当缺页后调入的一页,位于该页的所有数组元素全部进行初始化,然后再调入另一页。 所以缺页的次数为50次。

对于程序B由于数组是按行存放的,而初始化数组的程序却是案例额进行初始化

的。因此当缺页后调入的一页中,位于该页撒谎能够的数组元素只有一个,所以程序B每访问一个元素长生一次缺页中断,则整个数组将长生2500次缺页。

第七章 设备管理 思考与练习题

1. 数据传输控制方式有哪几种?试比较它们的优缺点。 2. 何为设备的独立性?如何实现设备的独立性?

3. 什么是缓冲?为什么要引入缓冲?操作系统如何实现缓冲技术? 4. 设备分配中为什么可能出现死锁?

5. 以打印机为例说明SPOOLing技术的工作原理。

6. 假设一个磁盘有200个柱面,编号为0~199,当前存取臂的位置是在143号柱面上,并

刚刚完成了125号柱面的服务请求,如果存在下列请求序列:86、147、91、177、94、150、102、175、130,试问:为完成上述请求,采用下列算法时存取的移动顺序是什么?移动总量是多少?

(1) 先来先服务(FCFS)。

(2) 最短寻道时间优先(SSTF)。 (3) 扫描算法(SCAN)。

(4) 循环扫描算法(C-SCAN)。

7. 磁盘的访问时间分成三部分:寻道时间、旋转时间和数据传输时间。而优化磁盘磁道上

的信息分布能减少输入输出服务的总时间。例如,有一个文件有10个记录A,B,C,??,J存放在磁盘的某一磁道上,假定该磁盘共有10个扇区,每个扇区存放一个记录,安排如表所示。现在要从这个磁道上顺序地将A~J这10个记录读出,如果磁盘的旋转速度为20ms转一周,处理程序每读出一个记录要花4ms进行处理。试问: (1) 处理完10个记录的总时间为多少?

(2) 为了优化分布缩短处理时间,如何安排这些记录?并计算处理的总时间。

8. 假设一个磁盘有100个柱面,每个柱面有10个磁道,每个磁道有15个扇区。当进程的

要访问磁盘有12345扇区时,计算该扇区在磁盘的第几柱面、第几磁道、第几扇区? 9. 一个文件记录大小为32B,磁道输入输出以磁盘块为单位,一个盘块的大小为512B。当

用户进程顺序读文件的各个记录时,计算实际启动磁盘I/O占用整个访问请求时间的比例。

10.如果磁盘扇区的大小固定为512B,每个磁道有80个扇区,一共有4个可用的盘面。假设磁盘旋转速度是360rpm。处理机使用中断驱动方式从磁盘读取数据,每字节产生一次终端。如果处理中断需要2.5ms,试问:

(1)处理机花费在处理I/O上的时间占整个磁盘访问时间的百分比是多少(忽略寻道时间)?

(2)采用DMA方式,每个扇区产生一次中断,处理机话费在处理I/O上的时间占整个磁盘访问时间的半分比是多少?

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4