现代操作系统课后习题答案

  • 格式:doc
  • 大小:136.50 KB
  • 文档页数:32

第二章进程管理第一部分教材习题(P81)3、为什么程序并发执行会产生间断性特征?(P36)4、程序并发执行,为何会失去封闭性与可再现性?(P37)【解】程序在并发执行时,就是多个程序共享系统中的各种资源,因而这些资源的状态将由多个程序来改变,致使程序的运行已失去了封闭性。

同时由于失去了封闭性,也将导致其再失去可再现性。

程序在并发执行时,由于失去了封闭性,程序经过多次执行后,其计算机结果已与并发程序的执行速度有关,从而使程序的执行失去了可再现性。

5、在操作系统中为什么要引入进程概念?(P37)它会产生什么样的影响?【解】在操作系统中引入进程的概念,就是为了实现多个程序的并发执行。

传统的程序不能与其她程序并发执行,只有在为之创建进程后,才能与其她程序(进程)并发执行。

这就是因为并发执行的程序(即进程)就是“停停走走”地执行,只有在为它创建进程后,在它停下时,方能将其现场信息保存在它的PCB中,待下次被调度执行就是,再从PCB中恢复CPU现场并继续执行,而传统的程序却无法满足上述要求。

建立进程所带来的好处就是使多个程序能并发执行,这极大地提高了资源利用率与系统吞吐量。

但管理进程也需付出一定的代价,包括进程控制块及协调各运行机构所占用的内存空间开销,以及为进行进程间的切换、同步及通信等所付出的时间开销。

6、试从动态性、并发性与独立性上比较进程与程序?(P37)【解】(1)动态性:进程既然就是进程实体的执行过程,因此,动态性就是进程最基本的特性。

动态性还表现为:“它由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤消而消亡”。

可见,进程有一定的生命期。

而程序只就是一组有序指令的集合,并存放在某种介质上,本身并无运动的含义,因此,程序就是个静态实体。

(2)并发性:所谓进程的并发,指的就是多个进程实体,同存于内存中,能在一段时间内同时运行。

并发性就是进程的重要特征,同时也成为OS的重要特征。

引入进程的目的也正就是为了使其程序能与其它进程的程序并发执行,而程序就是无法并发执行的。

(3)独立性:进程实体就是一个能独立运行的基本单位,也就是系统中独立获得资源与独立调度的基本单位。

凡未建立进程的程序,都不能作为一个独立的单位参加运行。

试比较进程与程序的异同。

【解】进程与程序就是紧密相关而又完全不同的两个概念。

(1)每个进程实体中包含了程序段与数据段这两个部分,因此说进程与程序就是紧密相关的。

但从结构上瞧,进程实体中除了程序段与数据段外,还必须包含一个数据结构,即PCB。

(2)进程就是程序的一次执行过程,因此就是动态的;动态性还表现在进程由创建而产生、由调度而执行、由撤消而消亡,即它具有一定的生命期。

而程序则只就是一组指令的有序集合,并可永久地存放在某种介质上,其本身不具有运动的含义,因此就是静态的。

(3)多个进程实体可同时存放在内存中并发地执行,其实这正就是引入进程的目的。

程序(在没有为它创建进程时)的并发执行具有不可再现性,因此程序不能正确地并发执行。

(4)进程就是一个能够独立运行、独立分配资源与独立接受调度的基本单位。

程序(在没有为它创建进程时)因其不具有PCB,所以它就是不可能在多道程序环境下独立运行的。

(5)进程与程序不一一对应。

同一个程序的多次运行,将形成多个不同的进程;同一个程序的一次执行也可以产生多个进程;一个进程在其生命期的不同时候也可以执行不同的程序。

7、试说明PCB的作用?为什么说PCB就是进程存在的惟一标志?(P41)【解】PCB就是进程实体的一部分,就是OS中最重要的记录型数据结构。

它记录了OS所需的、用于描述进程情况及控制进程运行所需的全部信息。

PCB的作用,就是使一个在多道程序环境下不能独立运行的程序(含数据)成为一个能独立运行的基本单位,一个能与其她进程并发执行的进程。

或者说,OS就是根据PCB来对并发执行的进程进行控制与管理的。

在进程的整个生命期中,系统总就是通过PCB对进程进行控制,也就就是说,系统就是根据进程的PCB感知到该进程的存在的,所以说,PCB就是进程存在的标志。

8、试说明进程在三个基本状态之间转换的典型原因?(P38)【解】(1)处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程就由就绪状态变为执行状态(2)正在执行的进程因发生某事件而无法执行,如暂时无法取得所需资源,则由执行状态转变为阻塞状态。

(3)正在执行的进程,如因时间片用完或被高优先级的进程抢占处理机而被暂停执行,该进程便由执行转变为就绪状态。

某系统的进程状态转换图如图所示。

(1)说明引起各种状态转换的典型事件。

(2)分析下述状态转换就是否可立即引起其她的状态转换:1,2,3,4。

【解】(1)(2)状态转换2必然立即引发状态转换1:状态转换2发生后,进程调度程序必然要选出一个新的就绪进程投入运行,该新进程可能就是其她进程,也可能就是刚从执行状态转换成就绪状态的那个进程。

状态转换3可能立即引发状态转换1:状态转换3发生后,若就绪队列非空,则进程调度程序将选出一个就绪进程投入执行。

状态转换4可能引发状态转换1:状态转换4发生后,若CPU 空闲,并且没有其她进程竞争CPU,则该进程将被立即调度。

另外,状态转换4还可能同时引发状态转换1与2:若系统采用抢占调度方式,而新就绪的进程具备抢占CPU 的条件(如其优先权很高),则它可立即得到CPU 转换成执行状态,而原来正在执行的进程则转换成就绪状态。

某系统的进程状态变迁图,请说明:(1) 引起各种状态转换的典型事件有哪些?(2)当我们观察系统中某些进程时,能够瞧到某一进程产生的一次状态转换能引起另一进程作一次状态转换。

在什么情况下,当一个进程发生转换3时能立即引起另一个进程发生转换1?(3)试说明就是否会发生下述因果转换:a)2→1b)3→2c)4→1解:(1)当进程调度程序从就绪队列中选取一个进程投入运行时引起转换1;正在执行的进程如因时间片用完而被暂停执行就会引起转换2;正在执行的进程因等待的事件尚未发生而无法执行(如进程请求完成I/O)则会引起转换3;当进程等待的事件发生时(如I/O完成)则会引起转换4。

(2)如果就绪队列非空,则一个进程的转换3会立即引起另一个进程的转换1。

这就是因为一个进程发生转换3意味着正在执行的进程由执行状态变为阻塞状态,这时处理机空闲,进程调度程序必然会从就绪队列中选取一个进程并将它投入运行,因此只要就绪队列非空,一个进程的转换3能立即引起另一个进程的转换1。

(3)所谓因果转换指的就是有两个转换,一个转换的发生会引起另一个转换的发生,前一个转换称为因,后一个转换称为果,这两个转换称为因果转换。

当然这种因果关系并不就是什么时候都能发生,而就是在一定条件下才会发生。

a)2→1:当某进程发生转换2时,就必然引起另一进程的转换1。

因为当发生转换2时,正在执行的进程从执行状态变为就绪状态,进程调度程序必然会从就绪队列中选取一个进程投入运行,即发生转换1。

b)3→2:某个进程的转换3决不可能引起另一进程发生转换2。

这就是因为当前执行进程从执行状态变为阻塞状态,不可能又从执行状态变为就绪状态。

c)4→1:当处理机空闲且就绪队列为空时,某一进程发生转换4,就意味着有一个进程从阻塞状态变为就绪状态,因而调度程序就会将就绪队列中的此进程投入运行。

9、为什么要引入挂起状态?(P39)该状态具有哪些性质?10、在进行进程切换时,所要保存的处理机状态信息主要有那些?(P42)【解】保存的处理机状态信息主要由处理机中的各种寄存器内容组成。

这些寄存器包括:通用寄存器,指令寄存器,程序状态字PSW,用户栈指针。

11、试说明引起进程创建的主要事件。

(P44)【解】(1)用户登录在分时系统中,用户在终端键入登录命令后,若就是合法用户,系统将为该终端用户建立一个进程,并插入到就绪队列中。

(2)作业调度批处理程序中,作业调度程序按一定的算法调度到某个作业时,就将该作业装入内存,为它分配必要的资源,并立即为其创建进程,插入就绪队列中。

(3)提供服务运行中用户程序提出某种请求,系统专门创建一个进程来提供用户所需服务。

(4)应用请求应用进程自己创建一个进程,使自己与新进程以并发运行方式完成特定任务。

12、试说明引起进程被撤消的主要事件。

13、在创建一个进程时所要完成的主要工作就是什么?(P44)【解】需完成的主要工作有:(1)申请空白PCB ;(2)为新进程分配资源;(3)初始化PCB ,其中包括:●初始化标识符信息。

将系统分配的标识符、父进程标识符填入新PCB中;●初始化处理机状态信息。

使程序计数器指向程序入口地址,使栈指针指向栈顶;●初始化处理机控制信息。

将进程状态设置为就绪或静止就绪,对于优先级通常设置为最低,除非用户提出高优先级要求。

(4)将新进程插入就绪队列。

14、在撤消一个进程时所要完成的主要工作就是什么?15、试说明引起进程阻塞或被唤醒的主要事件就是什么?(P46)16、进程在运行时,存在哪两种形式的制约?并举例说明之。

17、为什么进程在进入临界区之前,应先执行“进入区”代码,在退出临界区后又执行“退出区”代码?(P50)【解】为了保证诸进程互斥进入自己的临界区,便可实现它们对临界资源的互斥访问。

为此,每个进程在进入临界区之前应先对欲访问的临界资源进行检查,瞧它就是否正被访问。

如果此刻临界资源没被访问,则该进程便可进入临界区,对该资源进行访问,并设置它正被访问的标志;如果此刻该临界资源正被某进程访问,则本进程不能进入临界区。

因此,必须在临界区前增加一段用于上述检查的代码,把这段代码称为进入区。

相应地,在临界区后面也要加上一段称为退出区的代码,用于将临界区正被访问的标志恢复为未被访问标志。

18、同步机构应遵循哪些基本准则?为什么?(P50)【解】同步机构应遵循的基本准则有:(1)空闲让进无进程处于临界区时,相应的临界资源处于空闲状态,因而可允许一个请求进入临界区的进程立即进入自己的临界区,以有效利用临界资源。

(2)忙则等待当已有进程进入自己的临界区时,意味着相应的临界资源正被访问,因而所有其她试图进入临界区的进程必须等待,以保证诸进程互斥地访问临界资源。

(3)有限等待对要求访问临界资源的进程,应保证该进程能在有限时间内进入自己的临界区,以免陷入“死等”状态。

(4)让权等待当进程不能进入自己的临界区时,应立即释放处理机,以免进程陷入“忙等”。

19、试从物理概念上来说明记录型信号量wait与signal操作?(P51)【解】在记录型信号量机制中,S、value的初值表示系统中某类资源的数目,因而又称资源信号量,每次的wait操作,意味着进程请求一个单位的资源,因此描述为S、value:=S、value-1;当S、value<0时,表示资源已分配完毕,因而进程调用block原语,进行自我阻塞,放弃处理机,并插入到信号量链表S、L中。