您好,欢迎来到刀刀网。
搜索
您的当前位置:首页计算机操作系统(第三版)考试试题及答案(汤小丹)

计算机操作系统(第三版)考试试题及答案(汤小丹)

来源:刀刀网


第一章 操作系统引论

(一) 单项选择题

1、操作系统目的是提供一个供其他程序执行的良好环境,因此它必须使计算机( )

A.使用方便 B.高效工作 C.合理使用资源 D.使用方便并高效工作 2、允许多个用户以交互方式使用计算机的操作系统是( )。

A.分时操作系统 B.批处理单道系统 C.实时操作系统 D.批处理多道系统 3、下列系统中( )是实时系统。

A.计算机激光照排系统 B.办公自动化系统 C.化学反应堆控制系统 D.计算机辅助设计系统 4、操作系统是一种系统软件,它( )。

A.控制程序的执行 B.管理计算机系统的资源

C.方便用户使用计算机 D.管理计算机系统的资源和控制程序的执行

5、计算机系统把进行( )和控制程序执行的功能集中组成一种软件,称为操作系统

A.CPU管理 B.作业管理 C.资源管理 D.设备管理 6、批处理操作系统提高了计算机系统的工作效率,但( )。

A.不能自动选择作业执行 B.无法协调资源分配 c.不能缩短作业执行时间 D在作业执行时用户不能直接干预

7、分时操作系统适用于( )。

A.控制生产流水线 B.调试运行程序 c.大量的数据处理 D.多个计算机资源共享 8、在批处理兼分时的系统中,对( )应该及时响应,使用户满意。

A.批量作业 B.前台作业 c.后台作业 D.网络通信 9、实时操作系统对可靠性和安全性要求极高,它( )。

A.十分注重系统资源的利用率 B.不强调响应速度 C.不强求系统资源的利用率 D.不必向用户反馈信息

(二)填空题

1、 计算机系统是按用户要求接收和存储信息,自动进行_______并输出结果信息的系统。 2、计算机系统把进行_______和控制程序执行的功能集中组成一种软件称为操作系统。 3、操作系统使用户合理_______,防止各用户间相互干扰。

4、使计算机系统使用方便和_______是操作系统的两个主要设计目标。 5、批处理操作系统、_______和实时操作系统是基本的操作系统。

6、在多道操作系统控制下,允许多个作业同时装入_______,使处理器轮流地执行各个作业。 7、批处理操作系统提高了计算机系统的_______,但在作业执行时用户不能直接干预作业的执行。 8、在分时系统中,每个终端用户每次可以使用一个由_______规定的CPU时间。 9、分时系统具有同时性、性、及时性和_______等特点。

10、在批处理兼分时系统中,往往把由分时系统控制的作业称为_______作业,把由批处理系统控制的作业称为_______作业。

11、实时系统要求有_______,不强求系统资源的利用率。

12、操作系统的资源管理功能有:处理器管理、_______、文件管理、设备管理和作业管理。 13、_______为用户合理地分配处理器时间.尽可能地使处理器处于忙状态,提高处理器的工作效率。

(三)简答题

1、计算机系统的资源包括哪些? 2、简述操作系统的定义。

3、为计算机设计操作系统要达到什么目的?设计时应考虑哪些目标? 4、从操作系统提供的服务出发,操作系统可分哪几类? 5.何谓批处理操作系统?

6.为什么说批处理多道系统能极大地提高计算机系统的工作效率? 7、分时系统如何使各终端用户感到好像自己独占一台计算机? 8、简述操作系统的五大功能。

第二章-1 进程管理

(一)单项选择题 1.临界区是指( )。

A.并发进程中用于实现进程互斥的程序段 B.并发进程中用于实现进程同步的程序段 C.并发进程中用户实现进程通信的程序段 D.并发进程中与共享变量有关的程序段 2.相关临界区是指( )。

A.一个独占资源 B.并发进程中与共享变量有关的程序段 C.一个共享资源 D.并发进程中涉及相同变量的那些程序段

3.管理若干进程共享某一资源的相关临界区应满足三个要求,其中( )不考虑。

A.一个进程可以抢占己分配给另一进程的资源 B.任何进程不应该无限地逗留在它的临界区中 C.一次最多让一个进程在临界区执行 D.不能强迫一个进程无限地等待进入它的临界区 4、( )是只能由P和v操作所改变的整型变量。

A共享变量 B.锁 C.整型信号量 D.记录型信号量 5.对于整型信号量,在执行一次P操作时,信号量的值应( )。

A.不变 B.加1 C减1 D.减指定数值

6.在执行v操作时,当信号量的值( )时,应释放一个等待该信号量的进程。

A.>0 B..<0 C..>=0 D.<=0

7、PV操作必须在屏蔽中断下执行,这种不可变中断的过程称为( )。

A初始化程序 B.原语 C.子程序 D控制模块 8、进程间的互斥与同步分别表示了各进程间的( )。

A.竞争与协作 B.相互与相互制约 C.不同状态 D.动态性与并发性 9、并发进程在访问共享资源时的基本关系为( )。

A.相互与有交往的 B.互斥与同步 c并行执行与资源共享 D信息传递与信息缓冲 10.在进程通信中,( )常用信件交换信息。

A.低级通信 B.高级通信 c.消息通信 D.管道通信 11.在间接通信时,用send(N,M)原语发送信件,其中N表示( )。

A.发送信件的进程名 B.接收信件的进程名 C信箱名 D.信件内容 12.下列对线程的描述中,( )是错误的。

A.不同的线程可执行相同的程序 B.线程是资源分配单位

C.线程是调度和执行单位 D.同一进程中的线程可共享该进程的主存空间 13.实现进程互斥时,用( )对应,对同一个信号量调用Pv操作实现互斥。

A.一个信号量与一个临界区 B.一个信号量与—个相关临界区 C.一个信号量与一组相关临界区 D.一个信号量与一个消息

14.实现进程同步时,每一个消息与一个信号量对应,进程( )可把不同的消息发送出去。

A.在同一信号量上调用P操作 B在不同信号量上调用P操作 C.在同一信号量上调用v操作 D.在不同信号量上调用v操作

(二)填空题

1、进程的______是指进程在处理器上的执行是按顺序进行的。 2、当一个进程独占处理器顺序执行时,具有______和______两个特性。 3、进程的封闭性是指进程的执行结果只取决于______,不受外界影响。 4、进程的可再现性是指当进程再次重复执行时,必定获得______的结果。

5、一个进程的工作在没有全部完成之前,另一个进程就可以开始工作,则称这些进程为______。 6、若系统中存在一组可同时执行的进程,则就说该组进程具有______。

7、如果—个进程的执行不影响其他进程的执行,且与其他进程的进展情况无关,则说这些并发进程相互之间是______的。

8、如果一个进程的执行依赖其他进程的进展情况,则说这些并发进程相互之间是______ 9、有交往的并发进程一定______某些资源。

10、有交往的进程执行时可能产生与时间有关的错误,造成不正确的因素与进程______ 、______和外界的影响有关。

11、对______的使用不受,这是使有交往的并发进程执行时出现与时间有关的错误的根本原因。 12、临界区是指并发进程中与______有关的程序段。 13、______是指并发进程中涉及到相同变量的那些程序段。

14、只要涉及相同变量的若干进程的相关临界区______,就不会造成与时间有关的错误。

15、进程的______是指当有若干进程都要使用某一共享资源时,任何时刻最多只允许一个进程去使用。 16、PV操作是在一个信号量上进行的______的过程,这种过程也称为______

17、利用PV操作管理相关临界区时,必须成对出现,在进入临界区之前要调用______,在完成临界区操作后要调用______。

18、.若信号量的初值为1,用Pv操作能一次______进程进入临界区操作。

19、进程的______是指并发进程之间存在一种制约关系,一个进程的执行依赖另一个进程的消息。 20、______能把它进程需要的消息发送出去,也能测试自己需要的消息是否到达。 21、Pv操作不仅是实现______的有效工具,而且也是一种简单而方便的______工具。 22、用PV操作实现进程同步时,调用______ 测试消息是否到达,调用______发送消息。

23、用Pv操作实现生产者消费者之间的同步时,在访问共享缓冲区的______和______分别调动P操作和v操作。

24、进程的互斥实际上是进程______的一种持殊情况。

25、进程的互斥是进程间______共享资源的使用权,其结果没有______,而进程的同步则在共享资源的并发进程之间有一种______依赖关系。

26、PV操作也可看作为进程间的一种通信方式,由于只交换了少量的信息,故称为______ . 27、通过专门的通信机制实现进程间交换大量信息的通信方式称为______。 28、采用高级通信方式时,进程间用______来交换信息。

29、最基本的通信原语有两条,它们是______原语和______原语。 30、进程通信方式有两种:______和______。

31、直接通信是固定在______进程之间通信,而间接通信以信箱为媒体实现通信。 32、一个信息可以由______和______两部分组成。 33、进程间通过信件交换信息,可实现______。

34、用P、V操作解决下图之同步问题?

提示:分别考虑对缓冲区S和T的同步,再合并考虑 GET COPY PUT

S T

设置四个信号量Sin=1,Sout=0,Tin=1,Tout=0;

S的输入信号为Sin,输出信号为Sout; T的输入信号为Tin,输出信号为Tout GET: COPY: PUT: While(1){ while(1){ while(1){ P(Sin); P( ); P(Tout);

将数放入S; P(Tin); 将数从T取走 V( ); 将数从S取出放入T; V( ); } V(Tout); } V(Sin); }

(三)简答题

1、什么是进程的顺序性和并发性?

2、为什么并发进程执行时可能会产生与时间有关的错误?如何避免? 3、简述临界区的相关临界区的概念。 4、管理相关临界区有些什么要求?

5、假设PV操作用信号量s管理某个共享资源,请问当s>0,S=0和S<0时,它们的物理意义是什么? 6、请给出PV操作的定义。

7、用Pv操作实现进程间同步与互斥应注意些什么? 8、何谓进程通信?最基本的通信原语有哪些? 9、直接通信与间接通信有何区别?

(四)应用题

1、有一南北向的单行车道,在车道A、B两端以外一段距离处有减速标志和自动计数系统,A、B两处设有信号灯,信号灯的管理要求如下:绿灯行,红灯停,A、B两端红绿灯同时变换,一方红变绿时另一方绿变红。绿灯保持到同一方向进入的车辆全部驶入AB段,当AB之间无车辆行驶时,允许到达A端(或B端)的车辆驶入AB段,但只准某一方的车辆进入;一方最后一辆车进入AB段后,双向亮红灯让车辆全部通过(假设2分钟),然后让已在等待的任何一方车辆驶入。试用Pv操作管理AB路段车辆的行驶。

2、在测温系统中要完成采样、转换和显示等任务。采样过程把从传感器上得到的整型微电压值存入一个缓冲区,转换过程把微电压值从缓冲区中取出,计算转换成温度值再存入该缓冲区,显示过程把缓冲区中的温度值取出并显示。试用PV操作实现三个过程共享缓冲区的同步问题。

3、现有三个进程,Reader进程把键盘输入的一个整数读入缓冲区B1,Executor进程把B1中的数据取出进行处理,处理完后存到输出缓冲区B2中,最后由Pinter进程将B2中的数据打印出来。假设B1和n2都只能存放一个整数,请用Pv操作管理这三个并发进程的执行.

4、用进程通信的方法解决生产者消费者问题。要求生产者能告诉消费者产品的说明、规格、价格等。而消

费者能反馈对物品的评价和处理情况。

第二章-2 进程管理

(一)单项选择题 1、.进程是( )。

A.一个系统软件 B.与程序概念等效 c.存放在内存中的程序 D.执行中的程序 2、.进程的( )和并发性是两个很重要的属性。

A.动态性 B.静态性 c.易用性 D.顺序性 3、( )是完成操作系统功能的进程。

A,用户进程 B.系统进程 C.并发进程 D.编译进程 4、已经获得除( )以外所有运行所需资源的进程处于就绪状态。

A主存储器 B.打印机 C.CPU D.磁盘空间 5、在一个单处理器系统中,处于运行态的进程( )。

A.可以有多个 B.不能被打断 c.只有一个 D.不能请求系统调用

6、对于一个单处理器系统来说,允许若干进程同时执行,轮流占用处理器.称它们为( )的。

A.顺序执行 B.同时执行 c.并行执行 D.并发执行

7、操作系统根据( )控制和管理进程,它是进程存在的标志。

A.程序状态字 B.进程控制块 c.中断寄存器 D.中断装置 8、若干个等待占有CPU并运行的进程按一定次序链接起来的队列为( )。

A.运行队列 B.后备队列 c.等待队列 D.就绪队列 9、为了根据进程的紧迫性做进程调度,应采用( )。

A.先来先服务调度算法 B,高优先级优先调度算法 c.时间片轮转调度法 D.分级调度算法 10、采用时间片轮转法调度是为了( )。

A.多个终端都能得到系统的及时响应 B.先来先服务 c优先数高的进程先使用处理器 D.紧急事件优先处理

11、采用优先权优先调度算法时,对那些具有相同优先权的进程再按( )的次序分配处理器。

A.先来先服务 B时间片轮转 c运行时间长短 D.使用外围设备多少

12、.当一进程运行时,系统强行将其撤下,让另一个更高优先数的进程占用处理器,这种调度方式是( )。

A.非抢占方式 B.抢占方式 C.中断方式 D.查询方式 13、( )必定会引起进程切换。

A.一个进程被创建后进入就绪态 B.一个进程从阻塞态变成就绪态 C.一个进程从运行态变成就绪态 D.一个进程从静止阻塞变成活动阻塞 14、操作系统使用( )机制使计算机系统能实现进程并发执行,保证系统正常工作。

A.中断 B.查询 c.同步 D互斥

(二)填空题

1、采用多道程序设计技术后可有效地提高系统中资源的_利用率__,增加单位时间的算题量,从而提高了系统的________。

2、多道程序设计提高了系统的吞吐量.但可能会___延长__某些程序的执行时间。 3、在多道程序设计系统中,并发的道数要根据__系统资源__和用户对资源的要求来确定。 4、把一个程序在一个数据集上的一次执行称为一个________。

5、程序是_动态的___;进程是________。

6、完成操作系统的进程称为________,完成用户功能的进程称为________。

7、进程的三个属性为:___,___,____,进程和程序非一一对应性,三种基本状态的不断变换。 8、一个能被多个用户同时调用的程序称作_可再入__的程序。 9、进程的三种基本状态为:阻塞态、________和运行态。

10、进程状态变化时,运行态和__阻塞态___、都有可能变为__就绪态_____。 11、同时执行的进程是__轮流___占用处理器的,这些进程可称为并发执行的。 12、进程控制块应包括标识信息、_说明信息___、_现场信息__和管理信息。 13、每个进程都是有生命期的,即从________到消亡。 14、操作系统依据_PCB__对进程进行控制和管理。 15、进程有两种基本队列:________和________ 。 16、进程队列可以用________的链接来形成。

17、在双向链接的队列中,要设置________指针和________指针.分别指向前一个和后一个进程的进程控制块地址。

18、_进程调度__程序按照某种调度算法从就绪队列中选出一个进程,让它占用处理器。 19、常用的进程调度算法有先来先服务、________、________等算法。

20、采用高优先级优先调度算法时,一个高优先数进程占用处理器后可有________或________两种处理方式。

21、_时间片__是规定进程一次使用处理器的最长时间。

22、进程调度算法的选择准则有处理器利用率、________、等待时间和_响应时间_。

23、当—个进程从__运行态__变成阻塞态或进程完成后被撤消时都会产生__进程切换___过程。

(三)简答题 1、什么是多道程序设计系统? 2、多道程序设计系统中应注意些什么? 3、多道程序设计从哪几方面提高系统的效率? 4、什么是进程?为什么要引入进程的概念? 5、简述进程的三种基本状态及其变化情况. 6、进程与程序有何区别? 7、进程由哪三部分组成?

8.操作系统根据什么控制和管理进程?为什么?

第三章-1 处理机管理

(一)单项选择题

1、用户要求计算机处理的一个计算问题称为一个( )。

A.进程 B程序 c.作业 D系统调度

2、一个作业的完成要经过若干加工步骤,这每个步骤称为( )。

A.作业流 B.子程序 c.子进程 D.作业步

3、通常一个批处理作业要经过若干作业步才能完成,系统要求用户( )给出说明。

A.只能在作业提交时 B.只能在作业执行过程中 c.在作业提交时或作业执行过程中 D.不必 4、在批处理方式下,操作员把一批作业组织成( )向系统成批输入。

A.作业步 B.作业流 C.子程序 D.程序组

5、在批处理系统中,作业控制说明书是用操作系统提供的( )编写而成的。

A.c语言 B命令语言 c.作业控制语言 D会话语言

6、用户使用操作系统提供的操作控制命令表达对作业执行的控制意图,这种作业控制方式是( )。

A.自动控制方式 B.脱机控制方式 c.批处理方式 D.交互方式 7、.作业调度程序的设计原则中并不考虑( )。

A.公平性 B.均衡使用资源 C.用户界面友好 D.极大的流量

8、从系统的角度出发,希望批处理控制方式下进入输入井的作业( )尽可能地小。

A.等待装入主存的时间 B.执行时间 C.周转时间 D.平均周转时间 9、( )只考虑用户估计的计算时间,可能使计算时间长的作业等待太久。

A.先来先服务算法 B.短作业优先算法 C.响应比最高者优先算法 D.高优先级优先算法 10、先来先服务算法以( )去选作业,可能会使计算时间短的作业等待时间过长。

A.进入输入井的先后次序 B.计算时间的长短 C.响应比的高低 D.优先数的大小 11、.在进行作业调度时.要想兼顾作业等待时间和计算时间,应选取( )。

A均衡调度算法 B.高优先级优先调度算法 c.先来先服务算法 D.高响应比优先算法

12、.作业调度的关键在于( )。

A.选择恰当的进程管理程序 B.选择恰当的作业调度算法 C.友好的用户界面 D.用户作业准备充分

13、作业调度算法提到的响应比是指( )。

A.作业计算时间与等待时间之比 B.作业等待时间与计算时间之比 C.系统调度时间与作业等待时间之比 D.作业等待时间与系统调度时间之比 14、作业调度选择一个作业装入主存后,该作业能否占用处理器必须由( )来决定。

A设备管理 B.作业控制 C.驱动调度 D、进程调度 15、交互作业的特点是采用( )的方式工作。

A.作业控制语句 B.人机对话 c.作业说明书 D.作业信息文件

(二)填空题

1、完成一个作业一般要经过若干加工步骤,作业的每一个加工步骤称为一个______ 2、一个作业执行时要分若干作业步,作业步的顺序是由_用户__指定的。

3、操作系统为用户提供了说明作业加工步骤的两种手段,_作业控制语言__和__操作控制命令__ 4、作业控制方式有_批处理_____和__交互____。

5、在批处理时操作系统按各作业的控制说明书的要求,分别控制相应的作业按指定的步骤去执行,这种控制方式称为_批处理__。

6、采用交互方式时必须在计算机上直接操作,为此也称它为_联机控制方式__。

7、用户准备批处理作业,除了要准备好源程序和初始数据外,还必须有用作业控制语言编写的______。 8、常用的作业调度算法有先来先服务算法、______、响应比最高者优先算法。

9、一个理想的调度算法应该是既能_提高效率_,又能使进入系统的作业_及时___得到计算结果。 10、先来先服务算法仅从输入井的先后次序去选作业,可能会使计算时间__短____的作业等待时间过_长_____。

11、短作业优先算法只考虑用户估计的计算时间,可能使计算时间__长____的作业等待太_久__。 12、采用短作业优先算法,肯定能使______最小。

13、响应比最高者优先算法综合考虑作业的______和______

14、确定作业的优先级可以由___用户 来提出自己作业的优先数,也可以由__OS___根据作业的缓急程度、

作业类型等因素综合考虑。

15、作业调度与_进程调度___相互配合才能实现多道作业的并行执行。

16、操作系统根据作业步控制语句创建一个进程,并使该进程处于_就绪___状态。

(三)简答题

1、什么是作业和作业步? 2、何谓作业调度?

3、设计作业调度程序需考虑哪些因素? 4、常用的作业调度算法有哪些?

5、什么叫周转时间和平均周转时间?在作业调度中,用户和系统如何看待它们? 6、作业调度与进程调度在作业执行过程中的作用分别是什么? 7、交互式作业的特点是什么? 8、分时操作系统如何调度终端作业? (四)应用题

1、假定在一处理上执行以下5个作业:

分别画出采用FCFS、SJF调度算法的填写如下调度图。并找出最优算法。

作业情况 调度算法 FCFS 作业名 到达时间 服务时间 完成时间 周转时间 带权周转时间 完成时间 SJF

1 2 3 4 5 0 1 2 3 4 4 6 5 3 2 平均 周转时间 带权周转时间 第三章-2 处理机管理

(一)单项选择题

l、系统出现死锁的根本原因是( )。

A.作业调度不当 B.系统中进程太多 C.资源的独占性 D.资源管理和进程推进顺序都不得当 2、死锁的预防是根据( )采取措施实现的。

A.配置足够的系统资源 B.使进程的推进顺序合理 C.破坏产生死锁的四个必要条件之一 D.防止系统进入不安全状态

3、采用按序分配资源的策略可以预防死锁.这是利用了使( )条件不成立。

A.互斥使用资源 B循环等待资源 c.不可抢夺资源 D.占有并等待资源 4、可抢夺的资源分配策略可预防死锁,但它只适用于( )。

A.打印机 B.磁带机 c.绘图仪 D.主存空间和处理器 5、进程调度算法中的( )属于抢夺式的分配处理器的策略。

A.时间片轮转算法 B.非抢占式优先数算法 c.先来先服务算法 D.分级调度算法

6、用银行家算法避免死锁时,检测到( )时才分配资源。

A.进程首次申请资源时对资源的最大需求量超过系统现存的资源量 B.进程己占用的资源数与本次申请资源数之和超过对资源的最大需求量

c.进程已占用的资源数与本次申请的资源数之和不超过对资源的最大需求量,且现存资源能满足尚需的最大资源量

D进程已占用的资源数与本次申请的资源数之和不超过对资源的最大需求量,且现存资源能满足本次申请量,但不能满足尚需的最大资源量

7、实际的操作系统要兼顾资源的使用效率和安全可靠,对资源的分配策略,往往采用 ( )策略。

A死锁的预防 B.死锁的避免 c.死锁的检测 D.死锁的预防、避免和检测的混合

(二)填空题

l、若系统中存在一种进程,它们中的每一个进程都占有了某种资源而又都在等待其中另一个进程所占用的资源。这种等待永远不能结束,则说明出现了______。

2、如果操作系统对_资源使用不当__或没有顾及进程_并发执行时__可能出现的情况,则就可能形成死锁。 3、系统出现死锁的四个必要条件是:互斥使用资源,______,不可抢夺资源和______。

4、如果进程申请一个某类资源时,可以把该类资源中的任意一个空闲资源分配给进程,则说该类资源中的所有资源是_等价___。

5、如果资源分配图中无环路,则系统中_无死锁___发生。

6、为了防止死锁的发生,只要采用分配策略使四个必要条件中的_一个条件不成立__。

7、使占有并等待资源的条件不成立而防止死锁常用两种方法:_静态分配资源__和_释放已占资源__. 8、静态分配资源也称_预分配资源_,要求每—个进程在_开始执行前__就申请它需要的全部资源。 9、释放已占资源的分配策略是仅当进程______时才允许它去申请资源。

10、抢夺式分配资源约定,如果一个进程已经占有了某些资源又要申请新资源,而新资源不能满足必须等待时、系统可以______该进程已占有的资源。 11、目前抢夺式的分配策略只适用于______和______。

12、对资源采用______的策略可以使循环等待资源的条件不成立。

13、如果操作系统能保证所有的进程在有限的时间内得到需要的全部资源,则称系统处于______。 14、只要能保持系统处于安全状态就可______的发生。 15、______是一种古典的安全状态测试方法。

16、要实现______,只要当进程提出资源申请时,系统动态测试资源分配情况,仅当能确保系统安全时才把资源分配给进程。

17、可以证明,M个同类资源被n个进程共享时,只要不等式______成立,则系统一定不会发生死锁,其中x为每个进程申请该类资源的最大量。

18、______对资源的分配不加,只要有剩余的资源,就可把资源分配给申请者。

19、死锁检测方法要解决两个问题,一是______是否出现了死锁,二是当有死锁发生时怎样去______。 21、如果资源类中含有若干个资源,应根据进程对各类资源的占有量、______和各类资源的______来考虑是否有死锁存在。

22、解除死锁的方法有两种,一种是______一个或几个进程的执行以破坏循环等待,另一种是从涉及死锁的进程中______

23、中断某个进程并解除死锁后,此进程可从头开始执行,有的系统允许进程退到发生死锁之前的那个______开始执行。

24、操作系统中要兼顾资源的使用效率和安全可靠,对不同的资源采用不同的分配策略,往往采用死锁的______、避免和______的混合策略。

(三)简答题

1、何谓死锁?产生死锁的原因是有哪些? 2、可以通过哪些途径防止死锁的产生?

3、什么叫系统处于安全状态?常用什么方法保持系统处于安全状态? 4、简述解决死锁问题的三种方法。

5、用抢夺资源的方法解除死锁时要注意什么问题? (四)应用题

1、若有10个同类资源供三个进程共享,下表列出了这三个进程目前己占资源和最大需求量的情况,现在这三个进程P1,P2,P3又分别申请1个、2个、1个资源,请问:

(1)能否先满足进程P2的要求?为什么? (2)如何为这三个进程分配资源比较合适?

进程 已占资源数 最大需求量 P1 3 7 P2 3 8 P3 2 3

2、现有五个进程A,B,c,d,E共享Rl,R2,R3,R4这四类资源,进程对资源的需求量和目前分配情况如下表。若系统还有剩余资源数分别为R1类2个,R2类6个,R3类2个和R4类1个,请按银行家算法回答下列问题:

(1)目前系统是否处于安全状态?

(2)现在如果进程D提出申请(2,5,0,0)个资源,系统是否能为它分配资源?

进程 已占资源数 最大需求量 R1 R2 R3 R4 R1 R2 R3 R4 A 3 6 2 0 5 6 2 0 B 1 0 2 0 1 0 2 0 C 1 0 4 0 5 6 6 0 D 0 0 0 1 5 7 0 1 E 5 3 4 1 5 3 6 2

3、假设系统配有相同类型的m个资源,系统中有n个进程,每个进程至少请求一个资源(最多不超过m)。请证明,当n个进程最多需要的资源数之和小于(m+n)时,该系统不会发生死锁。

4、若某一系统有同类资源12个,进程A,B,c所需的资源总数分别为5,10,7。下表中列出了这些进程向系统申请资源的次序和数量,请回答:(1)如采用银行家算法分配资源.请写出完成第5次分配后各进程的状态及所占资源量. (2)请继续完成以后的资源分配,直到全部进程满足资源分配的要求。 次序 进程 申请量 次序 进程 申请量 1 B 4 5 B 2 2 C 3 6 A 2 3 A 3 7 B 4 4 C 2 8 C 2 第一章 练习题参 (一)单项选择题

1.B 2.D 3 A 4 C 5.D 6.C 7.D 8.B 9.C 10.B 11.C 12.D 13.B 14.B (二)填空题

1.数据处理 2.软件 3.程序 4资源管理 5.共享资源 6.高效地工作 7.分时操作系统 8.作业 9.作业说明书 10.主存储器 11.工作效率 12.时间片 l 3交互性 14.前台,后台 15.高可靠性和安全性 16.资源 17.没有 18.存储管理 19.处理器管理 20.按文件名 21. SPOOL (三)简答题

1.计算机系统是按用户的要求接收和存储信息,自动进行数据处理并输出结果信息的系统。计算机系统由硬件系统和软件系统组成。硬件系统是计算机系统赖以工作的实体,软件系统保证计算机系统按用户指定的要求协调地工作。

2.计算机系统的资源包括两大类:硬件资源和软件资源。硬件资源主要有处理器、主存储器、辅助存储器和各种输入输出设备。软件资源有编译程序、编辑程序等各种程序以及有关数据。 3.操作系统是计算机系统的一种系统软件,它统一管理计算机系统的资源和控制程序的执行。

4.操作系统是一种系统程序,其目的是为其他程序的执行提供一个良好的环境。它有两个主要设计目标:一是使计算机系统使用方便,二是使计算机系统能高效地工作。

5.从操作系统提供的服务出发,操作系统可分为:批处理操作系统、分时操作系统、实时操作系统、网络操作系统和分布式操作系统。

6.用户准备好要执行的程序、数据和控制作业执行的说明书,由操作员输入到计算机系统中等待处理,操作系统选择作业并按其作业说明书的要求自动控制作业的执行。采用这种批量化处理作业的操作系统称为批处理操作系统。

7.批处理多道系统能极大地提高系统的工作效率,表现在四个方面:(1)多道作业并行工作,减少了处理器的空闲时间;(2)作业调度可以合理选择装入主存储器中的作业,充分利用计算机系统的资源;(3)作业执行过程中不再访问低速设备,而直接访问高速的磁盘设备,缩短执行时间;(4)作业成批输入,减少了从操作到作业的交接时间。

8.在分时系统中、系统把CPU时间划分成许多时间片,每个终端每次可以使用由一个时间片规定的cPu时间,多个终端用户就这样轮流地使用cPU,每人都得到了及时响应,感到好像自己独占了一台计算机。 9.网络操作系统把计算机网络中的各台计算机有机地联合起来,实现各计算机之间的通信及网络中各种资源的共享。

l0.从资源管理的观点出发,操作系统具有五大功能:(1)处理器管理。为用户合理分配处理器时间,提高处理器工作效率。(2)存储管理。为用户分配主存空间,保护主存中的程序和数据不被破坏,提高主存空间的利用率。(3)文件管理。管理用户信息,为用户提供按文件名存取功能,合理分配文件的存储空间。(4)设备管现。负责设备约分配、启动以及虚拟设备的实现等.(5)作业管理。实现作业调度和控制。

第二章-2 进程同步与通信 练习题参 (一)单项选择题

1.D 2.D 3.A 4.c 5.c 6.D 7.B 8.A 9 B 10 B 11.C 12.B 13.C 14.D (二)填空题

1.顺序 2.顺序性 3封闭性,可再现件 4.进程本身 5.相同 6.可同时执行的 7并发性 8.无关 9.有交往的 10.共享 11.占用处理器的时间,执行的速度 12.共享资源 13共享变量 14.相关临界区 15互斥执行 16.互斥 17.不可被中断,原语 18.P操作,v操作 19.只有一个 20.同步 21.同步机制 22.进程互斥,同步 23.P操作,v操作 24.前,后 25.同步 26.竞争,固定的必然关系,必然的 27.低级通信方式 28.进程通信 29.信件 30.send,receive 31.直接通信,间接通信 32.一对 33.信箱说明,信箱体 34.进程同步 35.线程 36.调度,并发 37.轻型进程 38.等待态,就绪态,运行态 39并发性,公共缓冲区 40.P操作,v操作 41.资源分配,调度和执行 (三)简答题

1.进程的顺序性是指进程在顺序的处理器上严格地按顺序执行。若系统中存在一组可同时执行的过程,则该组程序具有并发性。可同时执行的进程是指这些进程执行时在时间上是重叠的,即一个进程的工作没有全部完成之前,另一个进程就可以开始工作。

2.有交往的并发进程可能会同时使用共享资源,如果对这种情况不加控制,由于进程占用处理器的时间、执行的速度和外界的影响等,就会引起与时间有关的错误。只要使若干并发进程的相关临界区互斥执行,就可避免造成这类错误。

3.临界区是指并发进程中与共享变量有关的程序段。相关临界区是指并发进程中涉及到相同变量的那些程序段。

4.管理相关临界区有三点要求:(1)一次最多让一个进程在临界区执行;(2)任何一个进入临界区执行的进程必须在有限的时间内退出临界区;(3)不能强迫一个进程无限地等待进入它的临界区。

5.信号量S的物理意义如下: s>0时,S表示可使用的资源数或表示可使用资源的进程数。s=0时,表示无资源可供使用和表示不允许进程再进入临界区。s<0时,│S│表示等待使用资源的进程个数或表示等待进入临界区的进程个数。

6.Pv操作是指在信号量上进行的P操作和v操作。假定信号量为s,则P(s)和v(s)的定义如下: Procedure p(Var s:semaphore); begin s:=s-1; if s<0 then w(s) end; Procedure v(Var s:semaphore); begin s:=s+1; if s<=0 then r (s) end;

其中,W(s)表示将调用P(s)过程的进程置成“等待信号量s”的状态,且将其排入等待队列。R(s)表示释放一个“等待信号量s”的进程,该进程从等待队列退出并加入就绪队列中.

7.(1)对每一个共享资源(含变量)都要设立信号量,互斥时对一个共享资源设一个信号量,同步时对一个共享资源可能要设两个或多个信号量,视由几个进程来使用该共享变量而定。(2)互斥时信号量的初值可大于或等于1,同步时,至少有一个信号量的初值大于等于1。(3)Pv操作一定要成对调用,互斥时在临界区前后对同一信号量作Pv操作,同步时则对不同的信号量作Pv操作,Pv操作的位置一定要正确。(4)对互斥和同步混合问题.PV操作可能会嵌套,—般同步的Pv操作在外,互斥的Pv操作在内。

8通过专门的通信机制实现进程间交换大量信息的通信方式称为进程通信。最基本的通信原语有send原语和receive原语,前者负责发送信件,后者负责接收信件。

9.直接通信是固定在一对进程间进行的,而间接通信时以信箱为媒体实现通信。因此在send和receive原语中,第一个参数互不相同。直接通信时分别为接收者进程名和发送者进程名,而间接通情时均为信箱名。 10.在采用线程技术的操作系统中,线程与进程的根本区别在于:进程是资源的分配单位,而线程是调度和执行单位。 (四)应用题

1 分析:本题可参考读者写者问题,相当于两组读者使用一个共享文件的互斥问题。对共享资源AB路段设一个信号量s,对A、B两端的共享计数器cA和cB应设两个信号量sA和SB。所设计的程序段如下: BEGIN s,sa,ab: semaphore; ca,cb:integer; s:=1; sa:=1; sb:=1; Cobegin

Process car-ai;{I=1,2,……}

Begin p(sa); ca:=ca+1; if ca=1 then p(s); v(sa); {使信号灯A端绿,B端红,车辆从A端驶入AB段} p(sa); ca:=ca-1; if ca=0 then begin {A,B两端都亮红灯2分钟} v(s) end; end; Process car-bj;{j=1,2,……}

Begin p(sb); cb:=cb+1; if cb=1 then p(s); v(sb); {使信号灯B端绿,A端红;车辆从B端驶入AB段} p(sb); cb:=cb-1; if cb=0 then begin {A,B两端都亮红灯2分钟} v(s) end; end; coend; end;

2分析:此题类似于两个生产者消费者问题。采样过程相当于生产者,转换过程相当于消费者,显示过程为消费者,而转换过程还充当生产者。为此设立三个信号量:SS表示采集的微电压值能否存入缓冲区,初值

为1;Sc表示缓冲区中是否有微电压值要转换成温度值,,初值为0;sD表示缓冲区是否有温度值要显示,初值为0。解决此同步问题的程序段为:

BEGIN ss,sc,sd: semaphore; buffer : integer; ss:=1; sc:=0; sd:=0; Cobegin Process sample;

Begin L1: get a sample; p(ss); buffer:= sample; v(sc); goto L1 end; Process convert;

Begin L2: p(sc); take a sample from buffer; convert the sample to temperature; buffer:= temperature; v(sd); goto L2 end; Process display;

Begin L3: p(sd); take a temperature from buffer; v(ss); display the temperature; goto L3 end; Coend; end;

3.分析:本题也可看作是两个生产者消费者问题。Reader进程为生产者,Executor进程既是消费者又是生产者,Printer进程为消费者,由于这里有两个缓冲区,所以要设四个信号量:sR表示是否能把数据存入缓冲区B1,初值为1;SEl表示缓冲区Bl中是否已存有数据可供处理,初值为0;SE2表示是否把处理过的数据存入缓冲区B2,初值为1;sP表示缓冲区B2中是否已存有数据可供打印,初值为0。用Pv操作管理这三个并发进程的程序如下:

BEGIN sr,se1,se2,sp: semaphore; b1,b2 : integer; sr:=1; se1:=0; sp:=0; se2:=1; Cobegin Process reader; Var number:integer;

Begin L1: read a number ; p(sr); b1:= number; v(se1); goto L1 end; Process executor; Var number2:integer;

Begin L2: p(se1); take a number from b1; v(sr); process the number to number2; p(se2); b2:= number2; v(sp); goto L2 end; Process printer;

Begin L3: p(sp); take a number from b2; v(se2); print the number; goto L3 end; Coend; end;

4.设生产者消费者进程要设立的公用信箱B,假设现在信箱中放一封初始信件,表示物品已取走。用进程通信管理生产者消费者问题的程序如下: begin ….. PROCESS Producer; ……

L1: Produce a product; L2: receive(B,H);

If {x中没有表示物品已取走} then go to L2

else begin {组织回信M,M中含产品完成存放地点,产品说明,规格,价格等} send(B,M); end; goto L1 end; PROCESS consumer; ……

L 3:receive(B,Y);

If {Y中表示产品已完成} then begin {按信件中地址取出比物品, 组织回信M;回信中表示物品已取走,并反映对产品的评价和处理情况} send(B,m); goto L3; end; ……. End; end;

第三章-1 练习题参 (一)单项选择题

1.C 2.B 3.C 4. D 5.A 6.B 7.C 8.C 9.C 10.D 11.B 12.D 13.B 14.B 15.C 16.D 17.A 18.B 19.C 20.D 21.A 22.D 23.C 24 C 25 B 26.A 27.A 28.B 29.B 30.A (二)填空题

1.并行执行,多道程序设计 2.存储保护 3.主存,程序浮动 4.资源 5.资源分配与管理 6.利用率,吞吐量 7.延长 8.系统配置的资源 9进程 l0.静止的,动态的 11.系统进程,用户进程 12.动态性(或进程的动态特性),并发性(或进程可以并发执行) 13.可再入 14.就绪态 15等待态,就绪态 16.轮流 17.说明信息,现场信息 18.创建 19.进程控制块 20.就绪队列,等待队列 21.进程控制块 22.前向,后向 23.入队和出队 24 自身或外界 25.程序性中断,输入输出中断 26.访管指令 27.保护断点等信息,启动操作系统的中断处理程序 28.中断寄存器 29.中断码,中断屏蔽位 30.旧PSw 31.旧PSw 32.被中断进程的现场信息 33.相应的处理事件,就绪 34.重要性和紧迫程度,固定的 35.自愿中断,外部中断 36.程序状态字,封锁 37.低,自愿中断 38.进程调度 39.优先数,时间片轮转 40.非抢占式,可抢占式 41.时间片 42.吞吐量,响应时间 43.运行态,进程切换 (三)简答题

1.让多个计算问题同时装入一个计算机系统的主存储器并行执行,这种技术称为多道程序设计,这种计算机系统称为多道程序设计系统。

2.多道程序设计系统必须做好存储保护、程序浮动、资源分配及管理工作。

3.多道程序设计从三个方面提高系统的效率:①减少cPU的空闲时间,提高处理器的利用率。②合理搭配程序,充分利用外围设备资源。③发挥处理器与外围设备,以及外围设备之间的并行工作能力。 4.进程是一个程序在一个数据集上的一次执行。引入进程的目的在于从变化的角度动态地研究程序的执行。 5.进程的三种基本状态为等待态、就绪态、运行态。运行态会变成等待态或就绪态,前者是由于等待外设等资源引起,后者是由时间片用完等原因引起;等待态变成就绪态,是由于等待的条件已得到满足;就绪态变成运行态,是按调度策略从就绪队列中选出一个进程占用处理器时,该进程就从就绪态变成运行态。 6.程序是静止的,进程是动态的。进程包括程序和程序处理的对象(数据集),进程能得到程序处理的结果。 7.进程由程序、数据集和进程控制块三部分组成。

8.操作系统根据进程控制块控制和管理进程。因为进程控制块是进程存在的标志,它记录了进程执行时的变化情况。

12.Psw为程序状态字的简写。当中断装置发现中断事件后,把出现的中断事件放在当前Psw的中断码位置。供处理时分析用;把“当前Psw”保存到“旧PSw”中去;再把操作系统中断处理程序的“新Psw”送到程序状态寄存器中成为“当前Psw”,这一过程就是“交换PSw”。

13.优先数随进程执行而动态变化可考虑以下因素:提高经常使用外围设备进程的优先数,有利于利用处理器与外围设备的并行能力;提高在较长时间内未使用处理器的就绪进程的优先数,以缩短等待处理器的平均时间。

l5.进程调度就是按选定的进程调度算法,从就绪队列中选择一个进程,让它占用处理器。常用的进程调度算法有先来先服务、优先数、时间片轮转和分级调度算法。 (四)计算题

1.在多道系统下 PA和Pb共用cPu时间(18+27)÷50%=90(分钟),系统效率的提高:[(60+90)-(90+15)] ÷(60+90)=45÷l50=30%

2.(1)进程执行次序为:先来先服务法:Pa,Pb,Pc,Pd;非抢占式的优先数法: PC,P b,Pd,Pa

(2)先来先服务法: 每个进程在就绪队列的等待时间分别为PA:0秒;Pb:0+20=20(秒);Pc:20+15=35(秒) Pd:35+10=45(秒);平均等待时间为(0+20+35+45)/4=25(秒);非抢占式的优先数法:每个进程在就绪队列中的等待时间为:Pa:25+12=37(秒); Pb:0+10=l0(秒); PC: 0秒; Pd:10+15=25(秒);平均等待时间为(37+l0+0+25)/4=18(秒) 第三章-2 作业管理 练习题参 (一)单项选择题

1.C 2.D 3.A 4.B 5.C 6.D 7.B 8.D 9.C 10.D 11.B 12.A 13.C 14.D 15.B l 6.B 17.D 18.B 19.B 20.A 21.C 22.B 23.B 24.D 25.C 26.B 27.C (二)填空题

1.作业 2.作业步 3.相应程序,输入信息 4.用户 5.作业控制语言,操作控制命令 6.批处理方式,交互方式 7.批处理方式 8.自动控制方式,脱机控制方式 9.交互方式 10.联机控制方式 11.作业控制说明书 12.作业控制语言 13.输入井,收容状态 14.作业调度 15均衡使用资源,极大的流通量 l 6.尚未分配 17.输入井 18.平均周转时间 19.计算时间短的作业优先算法,优先数调度算法 20.提高系统效率,及时 21.短,长 22.长,久 23.平均周转时间 24.等待时间,计算时间 25.用户,操作系统 26.进程调度 27.程序 28.进程 29.就绪 30.作业调度,进程调度 31.操作控制命令,会话语句 32人机对话 33.操作控制命令,窗口技术 34.命令名 35.集合,命令语言 36.注册,注销 37.菜单技术 38.直观,操作速度 39.人机对话,图形用户接口 40.题标栏 41.Motif窗口,OPEN LOOK窗口 42.移动窗口,关闭窗口 43.处理模块,用户进程 44.目录操作类命令,文件类命令 45.用户注册,用户退出 46.交换线,电话拨号 47.作业调度 48.退出系统,资源 49.时间片轮转 50.优先 (三)简答题

1.作业是用户要求计算机系统处理的一个计算问题。每个作业的执行往往要经过若干个加工步骤,作业步就是指作业的每个加工步骤。

2.用户可用操作系统的两种手段来说明作业步,一种是作业控制语言,另一种是作业控制命令。 3.作业控制方式有两种,一种是批处理方式,一种是交互方式。批处理方式是指在成批处理时,操作系统按各个作业的作业控制说明书中的要求分别控制相应的作业,按指定的步骤去执行。交互方式是指在作业执行过程中,操作系统和用户之间不断地交流信息,用户使用操作控制命令表达作业执行的控制意图。 4.用户必须准备好源程序、初始数据,以及用作业控制语言编写的作业控制说明书。

5.操作系统根据允许并行工作的道数和一定的算法,从输入井中选取若干作业把它们装入主存储器,使它们有机会去获得处理器运行。这项工作就称为作业调度。

6.设计作业调度程序时需考虑:(1)公平性,对每个用户公平对待且使用户满意;(2)均衡使用资源,提高资源的利用率;(3)极大的流量,缩短作业的周转时间,提高系统的吞吐能力.

7.作业调度程序从输入井选取作业的必要条件是:系统现有的尚未分配的资源可以满足被选作业的资源要求。

8.常用的作业调度算法有先来先服务算法、计算时间短的作业优先算法、响应比最高者优先算法、优先数调度算法和均衡调度算法。

9.作业Pi的周期时间定义为Ti=Ei-Si,其中Si为作业Pi进入输入井的时间,Ei为作业运行结束的时间。几个作业的平均周转时间定义为:T=(∑Ti)*(1/n), 用户总希望周转时间尽可能地小;而从系统的角度出发,希望进入输入井的平均周转时间尽可能地小。

10.作业调度负责从输入并中选中一个作业且把它装入主存储器,并为该作业创建一个进程,排入就绪队列。进程调度从就绪队列中选择当前可占用处理器的进程,并控制该进程的执行直到作业完成。有时进程运行中由于某种原因使状态发生变化,进程调度再选另一个作业进程去运行。

11.交互式作业的特点是采用人机对话方式工作,用户从终端设备上输入程序和数据,键入命令或会话语句,表达对作业的控制意图;系统把作业执行情况通知用户。

12.通常操作系统为用户提供的操作使用接口有操作控制命令、菜单技术和窗口技术等。

13.提供交互控制方式的操作系统都有一个命令解释程序,由它接收来自用户的命令,并对命令进行分析。有的命令可以由操作系统相应的处理模块解释执行,有的命令要创建用户进程去解释执行。 14.终端作业的执行一般要有四个阶段:终端的连接,用户注册,控制作业执行和作业退出。

15.在分时操作系统控制下,对终端用户均采用时间片轮转法使每个终端作业都能在一个时间片的时间内去占用处理器。

16.兼有分时和批处理的计算机系统中,总是优先接纳终端作业,仅当终端作业数小于系统可以允许同时工作的作业数时,可以调度批处理作业,允许终端作业与批处理作业混合同时执行。 (四)应用题

1.(1)对先来先服务算法:作业A和作业B首先被选中装入主存储器中。作业c到达输入井时,主存和磁带机都不能满足需求,只能等待。作业D到达输入井时,虽主存能满足要求,但磁带机不够,只能等到作业A完成后才能装入主存;作业B和作业D执行时共占140KB主存,由于不能移动主存空间,所以两个30KB的主存空间无法合并供作业E使用。作业B完成后,作业C的资源要求得到满足,能装入主存。此时,剩余的50KB和30KB无法合并,所以对作业E内存仍无法满足要求,直到作业D结束,主存和磁带机都能满足作业E的要求。下表列出了各作业进输入井时间、装入主存的时间、作业开始执行时间、执行结束时间和周转时间。

作业名 进输入井时间 装入主存时间 开始执行时间 执行结束时间 周转时间 A 8:30 8:30 8:30 9:10 40分钟 B 8:50 8:50 9:10 9:35 45分钟 D 9:05 9:10 9:35 9:55 50分钟 C 9:00 9:35 9:55 10:30 90分钟 E 9:10 9:55 10:30 10:40 90分钟

由上表中看出,选中作业的次序为A,B,D,c,E,平均周转时间为:T=(40+45+50+90+90)×1/5=63(分钟) (2)对计算时间短者优先算法:作业A和作业B进入输入井后都能依次被选中装入主存储器,而作业c进入时资源不够只能等待,作业A完成并释放3台磁带机后,作业C、D和E都已进入输入并,由于主存不能移动,虽作业E执行时间最短,但由于内存不够,只能等待,唯有作业D资源能满足装入主存。作业B完成后,作业c和E资源都得到满足,先选中执行时间短的作业E装入主存,作业c则要等到作业D完成才能装入主存。下表列出了作业顺序和各种时间.

作业名 进输入井时间 装入主存时间 开始执行时间 执行结束时间 周转时间 A 8:30 8:30 8:30 9:10 40分钟 B 8:50 8:50 9:10 9:35 45分钟 D 9:05 9:10 9:35 9:55 50分钟 E 9:10 9:35 9:55 10:05 55分钟 C 9:00 9:55 10:05 10:40 100分钟

由上表中看出,选中作业的次序为A,B,D,E,C,平均周转时间为:T=(40+45+50+55+100)×1/5=58(分钟)

2.(1)对先来先服务算法:作业A、作业B、作业C和作业D进入输入井后,处理情况与上题中(1)完全一样。作业B和作业D执行时共占140KB主存,由于允许移动己占主存的作业空间,所以剩余的两个30KB主存可合并成60KB供作业E使用,作业c则要等到作业D完成后才能满足其资源要求,并装入内存执行之。有关作业选中的顺序和各类事件列表与1(2)相同。所以,选中作业的次序为A,B,D,E,C, 平均周转时间为T=58分钟

(2)对计算时间短者优先算法:作业A、B和作业C进入输入井后,处理情况与上题(2)完全一样。当作业A完成后,就有4台磁带机空闲,由于允许移动已占主存的作业的空间,移动作业B使作业A释放的30KB

与尚余的50KB合并成80KB,此时作业C、D、E都已进入输入井,作业c的主存要求仍不够,但能同时满足作业D和作业E的资源请求,考虑到执行时间短者优先,所以作业E将优先执行。当作业B结束时,主存能满足作业c的要求,但磁带机只有l台,所以要等作业E完成后,作业c才能满足资源要求装入内存。下表列出了作业顺序和各种时间.

作业名 进输入井时间 装入主存时间 开始执行时间 执行结束时间 周转时间 A 8:30 8:30 8:30 9:10 40分钟 B 8:50 8:50 9:10 9:35 45分钟 E 9:10 9:10 9:35 9:45 35分钟 D 9:05 9:10 9:45 10:05 60分钟 C 9:00 9:45 10:05 10:40 100分钟

由上表中看出,选中作业的次序为A,B,E,D,C,平均周转时间为:T=(40+45+35+60+100)×1/5=56(分钟)

第三章-3 死锁 练习题参 (一)单项选择题

1.D 2.C 3.B 4.D 5.A 6 C 7 D (二)填空题

1.死锁 2.资源管理不得当,并发执行时 3.占有并等待资源,循环等待资源 4.等价的 5.没有死锁 6.一个条件不成立 7.静态分配资源,释放已占资源 8.预分配资源.开始执行前 9.没有占用资源 10.抢夺 11.主存空间,处理器 12.按序分配 13安全状态 14.避免死锁 15.银行家算法 16.死锁的避免 17.n(x- 1)+l<=m 18.死锁检测方法 19判断系统,解除死锁 20.占用表,等待表 21.尚需量,剩余量 22终止,抢夺资源 23.校验点 24.防止,检测 (三)简答题

1.若系统中存在一组进程、它们中的每—个进程都占用了某种资源而又都在等待其中另一个进程所占的资源,这种等待永远不能结束,则说明系统出现了死锁。产生死锁的原因有两个:一是操作系统对资源的管理不当,二是没有顾及进程并发执行时可能出现的情况。

2.采用某些资源分配策略使死锁的四个必要条件之一不成立,就能防止死锁。除第一个条件互斥使用资源没有对应策略外,对占有并等待资源、不可抢夺资源和循环等待资源这三个条件可采用静态分配资源,释放已占资源,抢夺式分配资源和按序分配资源等资源分配策略。

3.如果操作系统能保证所有的进程在有限的时间内得到需要的全部资源,则称系统处于安全状态。常用银行家算法动态地检测系统中的资源分配情况和进程对资源的需求情况进行资源分配,确保系统处于安全状态。

4解决死锁问题有以下三种方法:(1)死锁的防止。系统按预定的策略为进程分配资源,这些分配策略能使死锁的四个必要条件之一不成立,从而使系统不产生死锁。(2)死锁的避免。系统动态地测试资源分配情况,仅当能确保系统安全时才给进程分配资源。(3)死锁的检测。对资源的申请和分配不加,只要有剩余的资源就可把资源分配给申请者,操作系统要定时判断系统是否出现了死锁,当有死锁发生时设法解除死锁。 5.用抢夺资源的方式解除死锁时要注意三点:(1)抢夺进程资源时希望付出的代价最小。(2)为被抢夺者的恢复准备好条件,如返回某个安全状态,并记录有关信息。(3)防止被抢夺资源的进程“饿死”,一般总是从执行时间短的进程中抢夺资源。 (四)应用题

1.(1)根据表,P1,P2和P3三个进程尚需资源数分别是4,5和l,系统的资源剩余量为2,若把剩余的资源量全部分配给P2,系统产已无资源可分配,使三个进程都等待资源而无法完成,形成死锁。所以不能先满足进程P2的要求。

(2)可先为进程P3分配1个资源,当它归还3个资源后,这样共有4个可分配资源,可满足P1申请1个资源的要求,再分配3个资源给进程P1,待P1归还7个资源后,先满足P2申请2个资源的请求,分配给进程P2,再分配3个资源给P2,使它完成。

2.(1)系统目前尚余有的资源数为(2,6,2,1),五个进程尚需的资源数分别是 A:(2,0,0,0) ; B:(0,0,0,0); C:(4,6,2,0) ; D:(5,7,0,0); E:(0,0,2,1);由于进程B己满足了全部资源需求,它在有限时间内会归还这些资源,因此可分配资源达到(3,6,4,1),这样就可分配给进程A;等A归还资源后,可分配资源达到(6,12,6,1),再分配给进程c;之后可分配资源会达到(7,12,10,1),分配给进程D并等待一段时间后,可分配资源将达到(7,12,10,2),最后,可分配给进程E,满足其全部请求。所以说目前系统处于安全状态。

(2)若此时给进程D分配(2,5,0,0)个资源,进程D尚需(3,2,0,0),则系统剩余的资源量为(0,1,2,1);若待进程B归还资源后,可分配资源能达到(1,1,4,1),根据各进程尚需资源量,只有先满足E的资源需求,待它归还资源后,可配资源只有(1,1,6,1),显然无法满足进程A,c,D中任何一个进程的资源要求,这样系统就会产生死锁。所以此时系统不能为进程D分配(2,5,0,0)个资源。

3.证明:设N个进程请求的最大资源量分别为xi,i=1,2,…n。根据条件 ∑xi<m+n, 从而 ∑(xi-1)<m, ∴∑(xi-1)+1<=m.资源申请最坏的情况是每个进程已得到了(xi-1)个资源,现均要中请最后一个资源,由上式可知系统至少还有一个剩余资源可分配给某个进程,待它归还资源后就可供其他进程使用,因此该系统不会发生死锁。

4.(1)用列表法分析这个问题,下表中每一行表示这一次资源分配后的情况。

实际分配资源次序 申请资源次序 进程 已占资源量 尚需资源量 剩余资源量 12 1 1 B 4 6 8 2 2 C 3 4 5 3 3 A 3 2 2 等待 4 C 等待 5 B 4 6 A 5 0 0 归还 A 5 5 4 C 5 2 3 6 8 C 7 0 1 归还 C 8 7 5 B 6 4 6 8 7 B 10 0 2

在进程第l,2,3次申请时,剩余资源量都能分别满足进程B,c,A的最大需求量10,7,5,所以都能分配,第4次申请时进程c尚需4个资源,大于剩余量(2个),虽然本次仅申请2个,根据银行家算法不能分配,只能等待。同理,第5次申请时进程B也只能等待,当第6次申请时,进程A的要求能得到满足,这实际上是第4次分配资源,待进程A归还资源后,可分配资源达到5个,此时它己超过进程c的尚需资源量(4),而小于B的尚需资源量(6),所以可完成第4次申请,即第5次实际分配。由上表可以看出,完成第5次分配后,进程A己分配到全部资源(5个),且已归还给系统(或许该进程已完成)、进程B已占有资源4个,进程C巳占资源5个。

(2)用(1)中同样的方法完成全部进程的资源分配,具体分配过程列在上表的最后四行. 5.根据资源的占用表和等待表构造的“等待占用”关系矩阵如下表所示。 P1 P2 P3 P1 0 0 1

P2 1 0 0 P3 0 1 0

对k=l运行死锁检测程序,上表中的矩阵就变成下表,其中b23巳变成1,但无死锁发生。 P1 P2 P3 P1 0 0 1 P2 1 0 1 P3 0 1 0

对k=2运行死锁检测程序,上表中的矩阵就变成下表。此时b31和b33变成1,由b33=1,知系统中有死锁发生。 P1 P2 P3 P1 0 0 1 P2 1 0 1 P3 1 1 1

对k=3运行死锁检测程序,上表中的矩阵就变成下表。此时外b11,b12,b22都变成l,由b11=1,b22=1与上一次的b33=l可知,P1,P2,P3都己卷入了死锁中。 P1 P2 P3 P1 1 1 1 P2 1 1 1 P3 1 1 1

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- gamedaodao.com 版权所有 湘ICP备2022005869号-6

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务