计算机操作系统课后答案

更新时间:2024-05-25 12:38:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第一章操 作系统引论

思考与练习题

1. 2. 3. 4. 5. 6. 7. 8. 9.

什么是操作系统?它的主要功能是什么?

什么是多道程序设计技术?多道程序设计技术的主要特点是什么? 批处理系统是怎样的一种操作系统?它的特点是什么?

什么是分时系统?什么是实时系统?试从交互性,及时性,独立性,多路性,可靠性等几个方面比较分时系统和实施系统。 实时系统分为哪俩种类型? 操作系统主要特征是什么?

操作系统也用户的接口有几种?它们各自用在什么场合? “操作系统是控制硬件的软件”这一说法确切吗?为什么?

设内存中有三道程序,A,B,C,它们按A~B~C的先后顺序执行,它们进行“计算”和“I/o操作”的时间如表1-2所示,假设三道程序使用相同的I/O设备。

表1-2 三道程序的操作时间 操作 程序 A B C 20 30 10 30 50 20 10 20 10 计算 I/o操作 计算 (1) 试画出单道运行时三道程序的时间关系图,并计算完成三道程序要花多少时间。 (2) 试画出多道运行时三道程序的时间关系图,并计算完成三道程序要花多少时间。 10.将下列左右两列词连接起来形成意义最恰当的5对。 DOS 网络操作系统 OS/2 自由软件 UNIX 多任务 Linux 单任务

Windows NT 为开发操作系统而设计 C语言

11.选择一个现代操作系统,查找和阅读相关的技术资料,写一篇关于操作系统如何进行内存管理、存储管理、设备管理和文件管理的文章。

答案

1. 答:操作系统是控制和管理计算机的软、硬件资源,合理地组织计算机的工作流程,以

方便用户使用的程序集合。

2.答:把多个独立的程序同时放入内存,使她们共享系统中的资源。 1)多道,即计算机内存中同时放多道相互独立的程序。

2) 宏观上并行,是指共识进入系统的多道程序都处于运行过程。

3)微观上串行,是指在单道处理机环境下,内存中的多道程序轮流地占有CPU,交

替执行。

3.答:批处理操作系统是一种基本的操作系统类型。在该系统中用户的作业被成批地输入

到计算机中,然后在操作系统的控制下,用户的作业自动的执行。

特点是:资源利用率高。系统吞吐量大。平均周转时间长。无交互能力。

4.答:分时系统:允许多个终端用户同时使用计算机,在这样的系统中,用户感觉不到其

他用户的存在,好像独占计算机一样。实时系统:对外输入出信息,实时系统能够在规定的 时间内处理完毕并作出反应。

1)多路性:分时系统是为多个终端用户提供服务,实时系统的多路性主要表现在经

常对多路的现场信息进行采集以及多多个对象或多个执行机构进行控制。

2)独立性:每个终端向实时系统提出服务请求时,是彼此独立的工作、互不干扰。 3)及时性:实时信息处理系统与分时系统对及时性的要求类似,都以人们能够接受

的等待时间来确定。实时控制系统对一时性的要求更高,是以控制对象所要求的开始截止时间或完成截止时间来确定的。

5.答:(1)实时控制系统 (2)实时信息处理系统。 6.答:1)并发性 2)共享性 3)虚拟性 4)不确定性。 7.答:两种,命令接口 ,程序接口。

命令接口:分为联机命令接口,脱机命令接口,图形用户命令接口。方便用户直接控

制自己的作业而提供的接口。

程序接口:又称系统调用,是为了用户在程序一级访问操作系统功能而设置的。 8.答:不正确,因为操作系统不仅仅是控制硬件,同时它还控制计算机的软件。 9.(1)

20ms+30ms+10ms+30ms+50ms+20ms+10ms+20ms+10ms=200ms

(2)

20ms+30ms+10ms+40ms+20ms+10ms=130ms

10.

DOS OS/2 UNIX Linux WindowsNT

网络操作系统 自由软件 多任务 单任务

为开发操作系统而设计的C语言

第二章 进程与线程 思考与练习题

1. 操作系统中为什么要引入进程的概念?为了实现并发进程之间的合作和协调,以及保证

系统的安全,操作系统在进程管理方面要做哪些工作?

2. 试描述当前正在运行的进程状态改变时,操作系统进行进程切换的步骤。 3. 现代操作系统一般都提供多任务的环境,是回答以下问题。

(1) 为支持多进程的并发执行,系统必须建立哪些关于进程的数据结构? (2) 为支持进程的状态变迁,系统至少应该供哪些进程控制原语? (3) 当进程的状态变迁时,相应的数据结构发生变化吗?

4. 什么是进程控制块?从进程管理、中断处理、进程通信、文件管理、设备管理及存储管

理的角度设计进程控制块应该包含的内容。

5. 假设系统就绪队列中有10个进程,这10个进程轮换执行,每隔300ms轮换一次,CPU

在进程切换时所花费的时间是10ms,试问系统化在进程切换上的开销占系统整个时间的比例是多少?

6. 试述线程的特点及其与进程之间的关系。 7. 根据图2-18,回答以下问题。

(1) 进程发生状态变迁1、3、4、6、7的原因。

(2) 系统中常常由于某一进程的状态变迁引起另一进程也产生状态变迁,这种变迁

称为因果变迁。下述变迁是否为因果变迁:3~2,4~5,7~2,3~6,是说明原因。

(3) 根据此进程状态转换图,说明该系统CPU调度的策略和效果。

8. 回答以下问题。

(1) 若系统中没有运行进程,是否一定没有就绪进程?为什么?

(2) 若系统中既没有运行进程,也没有就绪进程,系统中是佛就没有阻塞进程?解

释。

(3) 如果系统采用优先级调度策略,运行的进程是否一定是系统中优先级最高的进

程?为什么?

9. 假如有以下程序段,回答下面的问题。

S1: a=3-x; S2: b=2*a; S3: c=5+a;

(1) 并发程序执行的Bernstein 条件是什么? (2) 是画图表示它们执行时的先后次序。

(3) 利用Bernstein 条件证明,S1、S2和S3哪两个可以并发执行,哪两个不能。

答案

1. 答:①为了从变化角度动态地分析研究可以并发执行的程序,真实的反应系统的独立性、

并发性、动态性和相互制约,操作系统中不得不引入进程的概念。 ②为了防止操作系统及其关键的数据结构受到用户程序破坏,将处理机分为核心态和用户态。对进程进行创建、撤销以及在某些进程状态之间的转换控制。

2. 答:①运行状态→就绪状态:此进程根据自身的情况插入到就绪队列的适当位置,系统

收回处理及转入进程调度程序重新进行调度。 ②运行状态→阻塞状态:一个进程从运行状态道阻塞状态后。系统会调用进程调度程序重新选择一个进程投入运行。 3.

(1) 答:为支持多进程的并发执行,系统必须建立的数据结构式PCB,不同状态进程的

PCB用链表组织起来,形成就绪队列、阻塞队列。

(2) 答:阻塞原句、唤醒原句、挂起原句、激活原句

(3) 答:创建原句:建立进程的PCB,并将进程投入就绪队列。 撤销原句:删除进程的PCB,并将进程在其队列中摘除。

阻塞原句:将京城PCB中进程的状态从运行状态改为阻塞状态,并将进程投入阻塞队列。

唤醒原句:将进程PCB中进程的状态从阻塞状态改为就绪状态,并将进程从则色队列摘下,投入到就绪队列中。

4. 答:进程控制块(PCB)是为了描述进程的动态变化而设置的一个与进程相联系的数据

结构,用于记录系统管理进程所需信息。PCB是进程存在的唯一标识,操作系统通过PCB得知进程的寻在。

为了进程管理,进程控制块包括以下几方面。

(1) 进程的描述信息,包括进程标识符、进程名等。 (2) 进程的当前状况。 (3) 当前队列链接指针。 (4) 进程的家族关系。

为了中断处理,进程控制块的内容应该包括处理机状态信息和各种寄存器的内容,如通用寄存器、指令计数器、程序状态字(PSW)寄存器及栈指针等。 为了内存管理的需要,进程控制块的内容应该包括进程使用的信号量、消息队列指针等。

为了设备管理,进程控制块的内容应该包括进程占有资源的情况。

5. 答:就绪队列中有10个进程,这10个进程轮换执行,每隔进程的运行时间是300ms,

切换另一个进程所花费的总时间是10ms,隐刺系统化在进程切换上的时间开销占系统整个时间的比例是:10//(300+10)=3.2%.

6. 答:线程是进程内的一个相对独立的运行单元,是操作系统调度和分派的单位。线程只

拥有一点必不可少的资源(一组寄存器和栈),但可以和同属于一个进程的其他线程共享进程拥有的资源。

线程是进程的一部分,是进程内的一个实体;一个进程可以有多个线程,但至少必须有一个线程。 7.

(1) 答:1表示新进程创建后,进入高优先级就绪队列;3表示进程因请求I/O活等待某

件事儿阻塞;4表示进程运行的时间片到;6表示进程I/O完成或等待的时间到达;7表示进程运行顽皮而退出。

(2) 答:3→2是因果变迁,当一个进程从运行态变为阻塞态时,此时CPU空闲,系统首

先到高优先级队列中选择一个进程投入运行。

4→5是因果变迁,当一个进程运行完毕时,此时CPU空闲,系统首先到高优先级队列中选择进程,但如果高优先级队列为空,则从低优先队列中选择一个进程投入运行。

7→2 是因果变迁,当一个进程运行完毕时,CPU空闲,系统首先到高优先级队列中选择一个进程投入运行。

3→6不是因果变迁。一个进程阻塞时由于自身的原因而发生的,和另一个进程等待的时间到达没有因果关系。

(3) 答:当进程调度时,首先从高优先级就绪队列选择一个进程,赋予它的时间片为

100ms。如果高优先级就绪队列为控,则从低优先级就绪队列选择进程,但赋予该进程的时间片为500ms。

这种策略一方面照顾了短进程,一个进程如果在100ms运行完毕它将退出系统,更主要的是照顾了I/O量大的进程,进程因I/O进入阻塞队列,当I/O完成后它就进入了高优先级就绪队列,在高优先级就绪队列等待的进程总是优于低优先级就绪队列的进程。而对于计算量较大的进程,它的计算如果在100ms的时间内不能完成,它将进入低优先级就绪队列,在这个队列的进程被选中的机会要少,只有当高优先级就绪队列为空,才从低优先级就绪队列选择进程,但对于计算量大的进程,系统给予的适当照顾时间片增大为500ms。

8.

(1) 答:是。若系统中没有运行进程,系统会马上选择一个就绪进程队列中的进程投入

运行。只有在就绪队列为空时,CPU才会空闲。

(2) 答:不一定。当系统中所有进程分别等待各自希望发生的事件时,它们都处于阻塞

状态,此时系统中既没有运行进程,也没有就绪进程。这种情况出现时,如果各个进程没有相互等待关系,只要等待的时间发生了,进程就会从等待状态转化为就绪状态。但如果处于阻塞状态的进程相互等待彼此占有的资源,系统就有可能发生死锁。

(3) 答:不一定。因为高优先级的进程有可能处于等待状态,进程调度程序只能从就绪

队列中挑选一个进程投入运行。被选中进程的优先级在就绪队列中是最高的,但在整个系统中它不一定是最高的,等待队列中进程的优先级有可能高于就绪队列中所有进程的优先级。

9.

(1) 答: P1和P2并发执行的条件是,当且仅当

R(P1)∩W(P2) ∪R(P2) ∩W(P1) ∪W(P1)∩W(P2)={}

(2)

S2 S1 S3

(3) 答:R(S1)={x},W(S2)={a},R(S2)={a},W(S2)={b},R(S3)={a},W(S3)={c}

所以W(S1) ∩R(S2)={a}, 因此S1和S2不能并发执行。

W(S1)∩R(S2)={a}, 因此S1和S3也不能并发执行。

而R(S2) ∩W(S3) ∪R(S3) ∩W(S2) ∪W(S2) ∩W(S3)={}, 因此S2和S3可以并发执行。

第三章 进程同步与通信

思考与练习题

1. 一下进程之间存在相互制约关系吗?若存在,是什么制约关系?为什么?

(1) 几个同学去图书馆借同一本书。 (2) 篮球比赛中两队同学争抢篮板球。

(3) 果汁流水线生产中捣碎、消毒、灌装、装箱等各道工序。 (4) 商品的入库出库。 (5) 工人做工与农民种粮。

2. 在操作系统中引入管程的目的是什么?条件变量的作用是什么? 3. 说明P、V操作为什么要设计成原语。

4. 设有一个售票大厅,可容纳200人购票。如果厅内不足200人则允许进入,超过则在厅

外等候;售票员某时只能给一个购票者服务,购票者买完票后就离开。试问: (1) 购票者之间是同步关系还是互斥关系? (2) 用P、V操作描述购票者的工作过程。

5. 进程之间的关系如图3-16所示,试用P、V操作描述它们之间的同步。

6. 有4个进程P1、P2、P3、P4共享一个缓冲区,进程P1向缓冲区存入消息,进程P2、

P3、P4从缓冲区中去消息,要求发送者必须等三个进程都去过本消息后才能发送下调消息。缓冲区内每次只能容纳一个消息,用P、V操作描述四个进程存取消息的情况。 7. 分析生产者——消费者问题中多个P操作颠倒引起的后果。 8. 读者——写者问题中写者优先的实现。

9. 写一个用信号量解决哲学家进餐问题不产生锁死的算法。 10. 一个文件可有若干个不同的进程所共享,每个进程具有唯一的编号。假定文件可

有满足下列限制的若干个不同的进程同时访问,并发访问该文件的哪些进程的编号的总和不得大于n,设计一个协调对该文件访问的管程。 11. 用管程解决读者——写者问题,并采用公平原则。

答案

1. (1) (2) (3) (4)

答:存在互斥关系,因为同一本书只能借给一个同学。

答:存在互斥关系,因为篮球只有一个,两队只能有一个队抢到球

答:存在同步关系,因为最后一道工序的开始依赖于前一道工序的完成。

答:存在同步关系,因为商品若没有入库就无法出库,若商品没有出库,装满了库房,也就无法再入库。

(5) 答:工人与农民之间没有相互制约关系。

2. 答:引入管程的目的是为了实现进程之间的同步和互斥。优于使用信号量在解决同步和

互斥问题时要设置多个信号量,并使用大量的P、V操作,其中P操作的排列次序不当,还会引起系统死锁,因此引入另外一种同步机制。 3. 答:用信号量S表示共享资源,其初值为1表示有一个资源。设有两个进程申请该资源,

若其中一个进程先执行P操作。P操作中的减1操作有3跳及其指令组成:去S送寄存器R;R-1送S。若P操作不用原语实现,在执行了前述三条指令中的2条,即还未执行R送S时(此时S值仍为1),进程被剥夺CPU,另一个进程执行也要执行P操作,执行后S的值为0,导致信号量的值错误。正确的结果是两个进程执行完P操作后,信号量S的值为-1,进程阻塞。 4.

(1) 答:购票者之间是互斥关系。 (2)

答: semaphore empty=200; semaphore mutex=1; void buyer() { P(empty); P(mutex);

购票; V(mutex); V(empty); } 5. 答:

semaphore a,b,c,d,e,f,g=0,0,0,0,0,0,0;

void P1() void P2() void P3() void P4() void P5() void P6() { S1; { P(a); { P(b); { P(c); { P(d); { P(e) V(a); S2; S3; S4; S5; P(f) V(b); V(e); V(c); V(f); V(g); P(g) } } V(d); } } S6; } }

第五章 存储管理

思考与练习题

1. 存储管理的基本任务是为多道程序的并发执行提供良好的存储环境,这包括哪些方

面?.

2. 页式存储管理系统是否产生碎片?如何应对此现象?

3. 在页式存储管理系统中页表的功能是什么?当系统的地址空间很大时会给页表的设计

带来哪些新的问题?

4. 什么是动态链接?用哪种存储管理方案可以实现动态链接?

5. 某进程的大小为25F3H字节,被分配到内存的3A6BH字节开始的地址。但进程运行时,

若使用上、下界寄存器,寄存器的值是多少?如何进行存储保护?若使用地址、限长寄存器,寄存器的值是多少?如何进行存储保护?

6. 在系统中采用可变分区存储管理,操作系统占用低地址部分的126KB,用户区的大小是

386KB,采用空闲分区表管理空闲分区。若分配时从高地址开始,对于下述的作业申请序列:作业1申请80KB;作业2申请56KB;作业3申请120KB;作业1完成;作业3完成;作业4申请156KB;作业5申请80KB。使用首次适应法处理上述作业,并回答以下问题。

(1) 画出作业1、2、3进入内存后,内存的分布情况。 (2) 画出作业1、3完成后,内存的分布情况。

(3) 画出作业4、5进入内存后,内存的分布情况。

7. 某系统采用页式存储管理策略,某进程的逻辑地址空间为32页,页的大小为2KB,物

理地址空间的大小是4MB。

8. 某页式存储管理系统,内存的大小为64KB,被分为16块,块号为0、1、2、??、15。

设某进程有4页,其页号为0、1、2、3,被分别装入内存的2、4、7、5,问: (1) 该进程的大小是多少字节?

(2) 写出该进程每一页在内存的起始地址。 (3) 逻辑地址4146对应的物理地址是多少? 9. 某段式存储管理系统的段表如图所示。

段号 段长 段始址 0 15KB 40KB 1 2 8KB 10KB 80KB 100KB 请将逻辑地址[0,137]、[1,9000]、[2,3600]、[3,230]转换成物理地址。

答案

1.答:存储管理的基本任务是为多道程序的并发执行提供良好的存储器环境,它包括以下几个方面。

(1)能让没到程序“各得其所”,并在不受干扰的环境中运行时,还可以使用户从存储空间的分配、保护等事物中解脱出来。

(2)向用户提供更大的存储空间,使更多的程序同时投入运行或是更大的程序能在小的内存中运行。

(3)为用户对信息的访问、保护、共享以及程序的动态链接、动态增长提供方便。 (4)能使存储器有较高的利用率。

2. 答:页式存储管理系统产生的碎片,称为内碎片,它是指一个进程的最后一页没有沾满一个存储块而被浪费的存储空间。减少内碎片的办法是减少页的大小。

3. 答:页式存储管理系统中,允许将进程的每一页离散地存储在内出的任何一个物理页面上,为保证进程的正常运行,系统建立了页表,记录了进城每一页被分配在内存的物理号。也表的功能是实现从页号到物理块的地址映射。

当系统地址很大时,页表也会变得非常大,它将占有相当大的内存空间。

4. 答:动态链接是指进程在运行时,只将进程对应的主程序段装入内存,并与主程序段链接上。通常一个大的程序是由一个主程序和若干个子陈旭以及一些数据段组成。而段式存储管理方案中的段就是按用户的逻辑段自然形成的,因此可实现动态链接。

5. 答:

(1)若使用上下界寄存器,上界寄存器的值是3A6BH,下界寄存器的值是3A6BH+25F3H=605EH,当访问内存的地址大于605EH、小于3A6BH时产生越界中断。 (2) 若使用地址、限长寄存器,地址寄存器的值是3A6BH,限长寄存器的值是25F3H,当访问内存的地址小于3A6BH,超过3A6BH+25F3H=605EH时产生越界中断。

7. (1)写出逻辑地址的格式。

答:进程的逻辑地址空间为32页,故逻辑地址中的页号需要5位(二进制),由于每

页的大小为2KB,因此页内位移需用11位(二进制)表示,这样,逻辑地址格式如图所示。 15 11 10 0 页号 页内位移 (2)该进程的页表有多少项?每项至少占多少位?

答:因为进程的逻辑地址空间为32页,因此该进程的页表项有32项。页表中应存储

每页的块号。因为物理地址空间大小是4MB,4MB的物理地址空间内分成4MB/2KB=2K个块,因此块号部分需要11位(二进制),所以页表中每项占11位。

8. (1)该进程的大小是多少字节?

答:内存的大小为64位,被分为16块,所以块的大小是64KB/16=4KB。因为块的大小与页面的大小相等,所以页的大小是4KB。该进程的大小是4X4KB=16KB.

(2)写出该进程每一页在内存的起始地址。

答:因为进程页号为0、1、2、3,被分别装入内存的2、4、7、5。 第0页在内存的起始地址是:2X4KB=8KB

第1页在内存的起始地址是:4X4KB=16KB 第2页在内存的起始地址是:7X4KB=28KB 第3页在内存的起始地址是:5X4KB=20KB (3)逻辑地址4146对应的物理地址是多少?

答:逻辑地址4146对应的物理地址:4146/4096=1,??,50。逻辑地址4146对应的页号为1,页内位移为50。查找页表,得知页号为1的存储块号为4,所以逻辑地址4146对应的物理跨地址是:4X4096+50=16434。 9.

答:(1)对于逻辑地址[0,137],段号为0,段内位移为137。查段表的0项得到该段的段

始址为40KB段长为15KB。由于段号0小于进程的总段数,故段号合法;段内位移137小于段长15KB,故段内地址合法。因此可得到物理地址为:40KB+137B=40960B+137B=41097B。

(2)对于逻辑地址[1,9000],段号为1,段内位移为9000。查段表的1项得到该段的

段始址为80KB,段长为8KB。由于段号1小于进程的总数

(3)对于逻辑地址[2,3600],段号为2,段内位移为3600。差段表的2项得到该段的

段始址为100KB,段长为10KB,故段内地址合法。因此可得到物理地址为:100KB+3600B=102400B+3600B=106000B。

第六章 虚拟存储管理

思考与练习题

1. 试说明缺页与一般中段的主要区别。

2. 局布置换和全局置换有何区别?在多道程序系统中建议使用哪一种? 3. 虚拟存储的特征是什么?虚拟存储器的容量受到哪两个方面的限制?

4. 已知页面走向是1、2、1、3、1、2、4、2、1、3、4,且进程开始执行时,内存中没有

页面,若给该进程分配2个物理块,当采用以下算法时的缺页率是多少? (1) 先进先出置换算法。

(2) 假如有一种页面置换算法,它总是淘汰刚使用过的页面。

5. 在请求页式存储管理系统中,使用先进先出(FIFO)页面置换算法,会产生一种奇怪的

现象:分配给进程的页数越多,进程执行时的却也次数反而越高。试举例说明这一现象。 6. 某请求页式系统中,页的大小为100字,一个程序的大小为1200字,可能的访问序列

如下:10、205、110、40、314、432、320、225、80、130、272、420、128,若系统采用LRU置换算法,当分配给该进程的物理块数为3时,给出进程驻留的各个页面的变化情况、页面淘汰情况及缺页次数。

7. 在一个采用局部置换策略的请求页式系统中,分配中给进程的物理块数为4,其中存放

的4个页面的情况如表。

当发生缺页时,分别采用下列页面置换算法时,讲置换哪一页?并解释原因。 进程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 OPT(最佳)置换算法;

FIFO(先进先出)置换算法; LRU(最近最少使用)置换算法; Clock置换算法。

某虚拟存储器的用户空间有32个页面,每页1KB,内存大小为16KB,假设某时刻系统为用户的第0、1、2、3页分配得物理块号是5、10、4、7,而该用户进程的长度是6页。试将以下16进制的虚拟地址转换成物理地址。

(1)0X0A5C (2)0X103C (3)0X257B (4)0X8A4C

8. 在请求页式存储管理系统中,页面大小是100字节,有一个50X50的数组按行连续存放,

每个整数占2字节。将数组初始化的程序如下 程序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 3 1 2 4 2 1 3 4 页面走向 1 1 3 3 2 2 1 1 4 物理块1 2 2 1 1 4 4 3 3 物理块2 缺页 缺 缺 缺 缺 缺 缺 缺 缺 缺 答:页面引用11次,缺页9次,缺页率为9/11=81.8%。

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

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

引用12次,缺页9次。

若给该进程分配4个物理块,其页面调度情况如下: 页面走向 4 3 2 1 4 3 5 4 3 2 1 5 物理块1 4 4 4 4 5 5 5 5 1 1 物理块2 3 3 3 3 4 4 4 4 5 物理块3 2 2 2 2 3 3 3 3 物理块4 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上的时间占整个磁盘访问时间的半分比是多少?

答案

1.答:数据转送控制方式有程序直接控制方式、中断控制方式、DMA控制方式和通道方式四种。

本文来源:https://www.bwwdw.com/article/k4a7.html

Top