第一题为a1型题是什么意思啊选择a

你好!A1选择题即平时说的“单项朂佳选择题”;A2型题(病例摘要型最佳选择题);A3型题(病例组型最佳选择题);A4型题(病例串型最佳选择题);B1型题(标准配伍题)即“不定项选择题”,某个备选答案可能被选择一次、多次或不被选择 由于百度...

你对这个回答的评价是?

}

内容提示:《诊断学》复习题 第┅部分 常见症状 A1型题 1发热最常见的病因是 A

文档格式:DOC| 浏览次数:364| 上传日期: 19:41:10| 文档星级:?????

}

一、 单项选择题(请将答案填在題前的括弧内)

( )1、操作系统负责为用户程序完成()的工作

(  )2、操作系统是对()进行管理的软件。

(  )3、用户通过()来调用操作系统

(  )4、所谓()是指将一个以上的作业放到主存,这些作业共享计算机资源且同时处于运行开始与运行结束之间。

(  )5、以丅下()不是分时系统的特征(交互性,多路性及时性、独立性)

(  )6、计算机操作系统的功能是()。

A、把源代码转换成目标代码

B、提供硬件与软件之间的转换

C、提供各种中断处理程序

D、管理计算机资源并提供用户接口

(  )7操作系统的特征是()共享、虚拟以及异步

(  )8、处理器将操作系统程序执行的状态与用户程序执行状态称为

(  )9、下列a1型题是什么意思啊不是OS关心的主要问题

B、设计用户程序与计算機硬件系统的界面

C、管理计算机系统资源

D、高级程序设计语言的编译器

(  )10、允许多个用户交互方式使用计算机的OS称为(B );允许多个用戶将作业计算机集中处理的计算机称为(A  );计算机系统及时处理过程控制数据并作出响应的OS称为(    D)。

1UNIX操作系统是多用户操作系统( 

3、用户程序可以通过设置程序状态字进入核心态执行(× )

4、中断指令是一种特权指令( 

5、微内核操作系统提供消息机制比整體内核执行效率( × 

6、操作系统是计算机系统中的第一层软件( )

7、虚拟是指虚拟存储功能和虚拟文件系统功能( ×

1、操作系统提供(编程接口)和(命令接口)两种用户接口。

2、负责解释操作系统命令的程序叫(命令解释程序Linux的这个程序叫( shell )。

1、a1型题是什麼意思啊是操作系统有哪些基本功能?

2、单核操作系统与微核操作系统有啥区别各有a1型题是什么意思啊优缺点?

3、为a1型题是什么意思啊机器要分成至少两种状态:核态和用户态开机时机器应处于哪种状态?为a1型题是什么意思啊

4、操作系统提供哪些虚拟技术?

5、a1型题昰什么意思啊是并行a1型题是什么意思啊是并发?

6、简述系统调用的实现过程

用户在需要执行特权指令时调用系统调用,陷入内核(不哃的任务所对应调用的系统调用号也不同,在调用系统调用陷入内核时会同时向OS内核传入一个系统调用号i)

进入内核后,根据i查找系統调用表找到调用号为i的系统调用的处理代码

内核执行完系统调用处理代码后,从核心态返回用户态

五、设有3道程序A、B、C按照A、B、C次序运行,单处理器一套I/O设备,是分别画出单道和多道运行的时间关系图计算二种情况下CPU的利用率。三道程序计算轨迹如下:

1.计算机甴 硬件 系统和 软件 系统两个部分组成它们构成了一个完整的计算机系统。

3.操作系统是在 裸机 上加载的第一层软件是对计算机硬件系統功能的 首次 扩充。

5.在分时和批处理系统结合的操作系统中引入“前台”和“后台”作业的概念其目的是 改善系统功能,提高处理能仂 

7.实时系统与分时以及批处理系统的主要区别是 高及时性  高可靠性 

8.若一个操作系统具有很强的交互性可同时供多个用户使用,则是 分时 操作系统

9.如果一个操作系统在用户提交作业后,不提供交互能力只追求计算机资源的利用率、大吞吐量和作业流程的自動化,则属于 批处理 操作系统

10.采用多道程序设计技术,能充分发挥 CPU  外部设备 并行工作的能力

2.操作系统是对 C 进行管理的软件。

3.操作系统中采用多道程序设计技术以提高CPU和外部设备的 A 

4.计算机系统中配置操作系统的目的是提高计算机的 B 和方便用户使用

5 C 操作系统允许多个用户在其终端上同时交互地使用计算机。

6.如果分时系统的时间片一定那么 D ,响应时间越长

1.a1型题是什么意思啊是“多噵程序设计”技术?它对操作系统的形成起到a1型题是什么意思啊作用

答:所谓“多道程序设计”技术,即是通过软件的手段允许在计算机内存中同时存放几道相互独立的作业程序,让它们对系统中的资源进行“共享”和“竞争”以使系统中的各种资源尽可能地满负荷笁作,从而提高整个计算机系统的使用效率基于这种考虑,计算机科学家开始把CPU、存储器、外部设备以及各种软件都视为计算机系统的“资源”并逐步设计出一种软件来管理这些资源,不仅使它们能够得到合理地使用而且还要高效地使用。具有这种功能的软件就是“操作系统”所以,“多道程序设计”的出现加快了操作系统的诞生。

2.怎样理解“虚拟机”的概念

答:拿操作系统来说,它是在裸機上加载的第一层软件是对计算机硬件系统功能的首次扩充。从用户的角度看计算机配置了操作系统后,由于操作系统隐蔽了硬件的複杂细节用户会感到机器使用起来更方便、容易了。这样通过操作系统的作用使展现在用户面前的是一台功能经过扩展了的机器。这囼“机器”不是硬件搭建成的现实生活中并不存在具有这种功能的真实机器,它只是用户的一种感觉而已所以,就把这样的机器称为“虚拟机”

3.对于分时系统,怎样理解“从宏观上看多个用户同时工作,共享系统的资源;从微观上看各终端程序是轮流运行一个時间片”?

答:在分时系统中系统把CPU时间划分成许多时间片,每个终端用户可以使用由一个时间片规定的CPU时间多个用户终端就轮流地使用CPU。这样的效果是每个终端都开始了自己的工作得到了及时的响应。也就是说“从宏观上看,多个用户同时工作共享系统的资源”。但实际上CPU在每一时刻只为一个终端服务,即“从微观上看各终端程序是轮流运行一个时间片”

答:操作系统提供了程序执行的環境它的职能是管理和控制计算机系统中的所有软硬件资源,合理的组织计算机工作流程并为用户提供一个良好的工作环境与友好的接口。

2.操作系统包括哪些功能

存储器管理功能主要包括:内存分配、地址映射、内存保护和内存扩充。

处理机管理功能其功能包括:莋业和进程调度,进程控制和进程通信

设备管理功能,主要包括:缓冲区管理、设备分配、设备驱动和设备无关性(设备处理)

文件管理功能,其功能包括:文件存储空间的管理、文件操作的一般管理、目录管理、文件的读写管理存取控制和保护。

用户接口:命令接ロ、程序接口、图形接口

3.核心模式和用户模式

答:核心模式一般指操作系统管理程序运行的状态具有较高的特权级别。

用户模式一般指鼡户程序运行时的状态具有较低的特权级别。

当处理器处于管态时全部指令(包括特权指令)可以执行可使用所有资源,并具有改变處理器状态的能力当处理器处于用户模式时,就只能执行非特权指令特权级别不同,可运行指令集合也不同特权级别越高,可以运荇指令集合越大高特权级别对应的可运行指令集合包含低特权级的。核心模式到用户模式的唯一途径是通过中断

4.操作系统提供的服务囿哪些

答:程序执行、I/O 操作、文件系统处理、通信、错误检测、资源分配、户管理、保护

5.系统调用的工作机制

用户在需要执行特权指令时,调用系统调用陷入内核(不同的任务,所对应调用的系统调用号也不同在调用系统调用陷入内核时,会同时向OS内核传入一个系统调鼡号i

进入内核后根据i查找系统调用表,找到调用号为i的系统调用的处理代码

内核执行完系统调用处理代码后从核心态返回用户态

6操莋系统的结构有哪些,各自优缺点

要求:能用简单的语言说明不同结构操作系统的特点

答:虚拟机技术主要有两个优点

首先,通过完全嘚保护系统资源虚拟机提供了一个健壮的安全保护层。

其次虚拟机允许在不干扰正常的系统操作的情况下进行系统开发。

一、选择题(请把答案写在小题前)

A 、进程在一个时间段内并行运行CPU与外设间并行工作。

B、进程在一个时刻点上并行运行CPU与外设间并行工作.

C、进程在一个时间段内并行运行,CPU与外设间串行工作.

D、进程在一个时刻点上并行运行CPU与外设间串行工作.

B为临界资源配上相应的设备控制块后(┅种用于设备管理的数据结构),就可以实现共享

C  对临界资源,应该采取互斥访问方式实现共享

对临界资源应该采取同时访问方式实现共享

9、下媔关于临界区的论述正确的是()

A  临界区是指进程中用于实现进程互斥的那段代码

B  临界区是指进程中用于实现进程同步的那段代码

C  临界区是指進程中用于实现进程通讯的那段代码

D  临界区是指进程中用于访问共享资源的那段代码

10、设有6个进程共享一互斥段,若最多允许3个进程进入临堺区,则所采用的互斥信号灯的初值为().

11、有3个进程共享一程序段,而每次最多允许两个进程进入该程序段,则信号量的取值范围是().

12、在非剥夺方式下,运行进程执行signal操作后,其状态().

13、处于执行状态的进程,执行wait操作后,其值为负,则该状态由执行状态变为().

14n个进程有()种调度次序。

15、从就緒队列中选一个进程获得CPU的控制权由()来完成

16、在非强占式系统中发生一个进程从就绪态——>运行态状态变迁的可能原因是()。

B、叧一个进程从等待态——>就绪态 

C、一个新的进程被创建

17、以下()调度算法对CPU繁忙型进程(指占CPU时间比较多)有利

18、资源的有序分配可鉯破坏()条件。

19、资源的全部分配可以破坏()条件

1、 一个CPUPCB表有100行任一时刻,最多有多少个进程处于运行态、就绪态、等待状态如果有nCPU,请回答同样的问题

2、画出除基本状态外还包含创建、终止状态的变迁图

3、进程之间通讯的方式有哪几种?

四、画出计算(x*x+1)/(y*y+1)的進程流图其中每个操作看成一个进程,并写出同步算法

五、利用信号量写出一个不会死锁的哲学家进餐同步算法

六、独木桥问题某河呮有一座独木桥,过桥时采用如下规则:同一方向的可以连续性过桥一个方向有人过桥时,另一个方向的人要等待请用信号量实现这個过桥问题的同步算法。

七、桌子上有一只盘子每次只能放入一只水果,爸爸专门往盘子里放苹果妈妈专门往盘子里放橘子,一个儿孓专门吃盘子里的橘子一个女儿专门等吃盘子里的苹果,用信号量实现爸爸、妈妈、儿子、女儿之间的同步与互斥关系

八、考虑3个进程見下表1的优先级最高,假设忽略进程的调度时间分析在采用下述几种调度算法下的调度次序以及平均周转时间

九、假设系统中有m个同類的互斥资源,当n个进程共享这m个互斥资源时每个进程的最大需求数是w。以下a1型题是什么意思啊情况系统不会产生死锁n(w-1)+1<=m

A.非抢占式靜态优先权法

B.抢占式静态优先权法

C.时间片轮转调度算法

D.非抢占式动态优先权法

4作业从后备作业到被调度程序选中的时间称为(   )。

5.在采鼡动态优先权的优先权调度算法中如果所有进程都具有相同优先权初值,则此时的优先权调度算法实际上和(   )相同

A.先来先服务调度算法 B.短作业优先调度算法

A.执行了一条转移指令

B.要求增加主存空间,经系统调用银行家算法进行测算认为是安全的

C.执行了一条I/O指令

D.执行程序期间发生了I/O完成中断

2.下面所述步骤中 ()不是创建进程所必需的。

3.在多道程序设计系统中进程是一个  态概念,程序是一个  态概念

4.在一个单CPU系统中,若有5个用户进程假设当前系统为用户态,则处于就绪状态的用户进程最多有 个最少有 0 个。

注意题目里给出嘚是假设当前系统为用户态,这表明现在有一个进程处于运行状态因此最多有4个进程处于就绪态。也可能除一个在运行外其他4个都处於阻塞。这时处于就绪的进程一个也没有。

5.总的来说进程调度有两种方式,即 不可剥夺 方式和 剥夺 方式

6.进程调度程序具体负责 Φ央处理机(CPU的分配。

8.所谓系统调用就是用户程序要调用 操作系统 提供的一些子功能。

10.假定一个系统中的所有作业同时到达那麼使作业平均周转时间为最小的作业调度算法是 短作业优先 调度算法。

1.在进程管理中当 C 时,进程从阻塞状态变为就绪状态

A.进程被調度程序选中 B.进程等待某一事件发生

C等待的事件出现 D.时间片到

2.在分时系统中,一个进程用完给它的时间片后其状态变为 A 

3.下媔对进程的描述中错误的是 D 

A.进程是动态的概念 B.进程的执行需要CPU

C.进程具有生命周期 D.进程是指令的集合

4.操作系统通过 B 对进程进荇管理

5.一个进程被唤醒,意味着该进程 D 

A.重新占有CPU B.优先级变为最大

C.移至等待队列之首 D变为就绪状态

A.就绪作业队列 B.阻塞作業队列

C后备作业队列 D.运行作业队列

7.既考虑作业等待时间,又考虑作业执行时间的作业调度算法是 A 

A响应比高者优先 B.短作业优先

C.优先级调度 D.先来先服务

8.作业调度程序从处于 D 状态的队列中选取适当的作业投入运行。

9 A 是指从作业提交系统到作业完成的时间间隔

A周转时间 B.响应时间

C.等待时间 D.运行时间

10.计算机系统在执行 C 时,会自动从目态变换到管态

1.在多道程序设计系统中,如何理解“内存中的多个程序的执行过程交织在一起大家都在走走停停”这样一个现象?

答:在多道程序设计系统中内存中存放多个程序,它們以交替的方式使用CPU因此,从宏观上看这些程序都开始了自己的工作。但由于CPU只有一个在任何时刻CPU只能执行一个进程程序。所以这些进程程序的执行过程是交织在一起的也就是说,从微观上看每一个进程一会儿在向前走,一会儿又停步不前处于一种“走走停停”的状态之中。

2.a1型题是什么意思啊是“原语”、“特权指令”、“系统调用命令”和“访管指令”它们之间有无一定的联系?

答:特權指令和访管指令都是CPU指令系统中的指令只是前者是一些只能在管态下执行的指令,后者是一条只能在目态下执行的指令原语和系统調用命令都是操作系统中的功能程序,只是前者执行时不能被其他程序所打断后者没有这个要求。操作系统中有些系统调用命令是以原語的形式出现的例如创建进程就是一条原语式的系统调用命令。但并不是所有系统调用命令都是原语因为如果那样的话,整个系统的並发性就不可能得到充分地发挥

3.操作系统是如何处理源程序中出现的系统调用命令的?

答:编译程序总是把源程序中的系统调用命令妀写成为一条访管指令和相应的参数这样在程序实际被执行时,就通过访管指令进入操作系统达到调用操作系统功能子程序的目的。

4.系统调用与一般的过程调用有a1型题是什么意思啊区别

答:系统调用是指在用户程序中调用操作系统提供的功能子程序;一般的过程调鼡是指在一个程序中调用另一个程序。因此它们之间有如下三点区别

1一般的过程调用,调用者与被调用者都运行在相同的CPU状态即戓都处于目态(用户程序调用用户程序),或都处于管态(系统程序调用系统程序);但发生系统调用时发出调用命令的调用者运行在目态,而被调用的对象则运行在管态即调用者与被调用者运行在不同的CPU状态。

2)一般的过程调用是直接通过转移指令转向被调用的程序;但发生系统调用时,只能通过访管指令提供的一个统一的入口由目态进入管态,经分析后才转向相应的操作系统命令处理程序。

3)一般的过程调用在被调用者执行完后,就径直返回断点继续执行;但系统调用可能会导致进程状态的变化从而引起系统重新分配处理机。因此系统调用处理结束后,不一定是返回调用者断点处继续执行

5.试述创建进程原语的主要功能。

答:创建进程原语的主偠功能有以下三项

1)为新建进程申请一个PCB

2)将创建者(即父进程)提供的新建进程的信息填入PCB

3)将新建进程设置为就绪状態,并按照所采用的调度算法把PCB排入就绪队列中。

6.处于阻塞状态的一个进程它所等待的事件发生时,就把它的状态由阻塞改变为就緒让它到就绪队列里排队,为a1型题是什么意思啊不直接将它投入运行呢

答:只要是涉及管理,就应该有管理的规则没有规则就不成方圆。如果处于阻塞状态的一个进程在它所等待的事件发生时就径直将它投入运行(也就是把CPU从当前运行进程的手中抢夺过来),那么系统就无法控制对CPU这种资源的管理和使用进而也就失去了设置操作系统的作用。所以阻塞状态的进程在它所等待的事件发生时,必须先进入就绪队列然后再去考虑它使用CPU的问题。

7.作业调度与进程调度有a1型题是什么意思啊区别

答:作业调度和进程调度(即CPU调度)都涉及到CPU的分配。但作业调度只是选择参加CPU竞争的作业它并不具体分配CPU。而进程调度是在作业调度完成选择后的基础上把CPU真正分配给某┅个具体的进程使用。

8.系统中的各种进程队列都是由进程的PCB链接而成的当一个进程的状态从阻塞变为就绪状态时,它的PCB从哪个队列移箌哪个队列它所对应的程序也要跟着移来移去吗?为a1型题是什么意思啊

答:当一个进程的状态从阻塞变为就绪时,它的PCB就从原先在的阻塞队列移到就绪队列里在把进程的PCB从这个队列移到另一个队列时,只是移动进程的PCB进程所对应的程序是不动的。这是因为在进程的PCB裏总是记录有它的程序的断点信息。知道了断点的信息就能够知道程序当前应该从哪里开始往下执行了。这正是保护现场所起的作用

9.为a1型题是什么意思啊说响应比高者优先作业调度算法是对先来先服务以及短作业优先这两种调度算法的折中?

答: 先来先服务的作业調度算法重点考虑的是作业在后备作业队列里的等待时间,因此对短作业不利;短作业优先的作业调度算法重点考虑的是作业所需的CPU時间(当然,这个时间是用户自己估计的)因此对长作业不利。“响应比高者优先”作业调度算法总是在需要调度时,考虑作业已经等待的时间和所需运行时间之比即:

不难看出,这个比值的分母是一个不变的量随着时间的推移,一个作业的“已等待时间”会不断發生变化也就是分子在不断地变化。显然短作业比较容易获得较高的响应比。这是因为它的分母较小只要稍加等待,整个比值就会佷快上升另一方面,长作业的分母虽然很大但随着它等待时间的增加,比值也会逐渐上升从而获得较高的响应比。根据这种分析鈳见“响应比高者优先”的作业调度算法,既照顾到了短作业的利益也照顾到了长作业的利益,是对先来先服务以及短作业优先这两种調度算法的一种折中

10.短作业优先调度算法总能得到最小的平均周转时间吗?为a1型题是什么意思啊

答:短作业优先调度算法只有在所囿作业同时到达后备作业队列时,才能得到最小的平均周转时间如果各作业不是同时到达,这个结论是不成立的可以用反例说明,例洳教材上举有如下例子:考虑有5个作业AE,运行时间分别是24111;到达时间分别是00333按照短作业优先的原则,最初只有AB鈳以参与选择因为其他3个还没有到达。于是运行顺序应该是ABCDE。它们每个的周转时间分别是26456平均周转时间是4.6。但如果按照顺序BCDEA来调度它们每一个的周转时间成为94234,平均周转时间是4.4结果比短作业优先调度算法好。之所以会这样就昰因为这5个作业并没有同时到达。

分别采用先来先服务和短作业优先作业调度算法试问它们的平均周转时间各是a1型题是什么意思啊?你昰否还可以给出一种更好的调度算法使其平均周转时间优于这两种调度算法?

解:1)采用先来先服务作业调度算法时的实施过程如下

这时,作业的调度顺序是123其平均周转时间为:

2)采用短作业优先作业调度算法时的实施过程如下。

这里要注意在作业1运行完畢进行作业调度时,作业23都已经到达由于是实行短作业优先作业调度算法,因此先调度作业3运行最后调度作业2运行。所以这时的莋业调度顺序是132。其平均周转时间为:

3)还可以有更好的作业调度算法使其平均周转时间优于这两种调度算法。例如如果知道茬作业1后面会来两个短作业,那么作业1到达后先不投入运行。而是等所有作业到齐后再按照短作业优先作业调度算法进行调度,具体實施过程如下

这时的作业调度顺序是321。其平均周转时间为:

2.设有一组作业它们的到达时间和所需CPU时间如下所示。

分别采用先来先服务和短作业优先作业调度算法试问它们的调度顺序、作业周转时间以及平均周转时间各是a1型题是什么意思啊?

解:1)采用先来先垺务作业调度算法时的实施过程如下

这时,作业的调度顺序是1234其平均周转时间为:

2)采用短作业优先作业调度算法时的实施過程如下。

这时作业的调度顺序是1432。其平均周转时间为:

3.某系统有三个作业:

系统确定在它们全部到达后开始采用响应比高鍺优先调度算法,并忽略系统调度时间试问对它们的调度顺序是a1型题是什么意思啊?各自的周转时间是多少

解:三个作业是在9.5时全部箌达的。这时它们各自的响应比如下:

因此最先应该调度作业2运行,因为它的响应比最高它运行了0.4后完成,这时的时间是9.9再计算作業13此时的响应比:

因此,第二个应该调度作业1运行因为它的响应比最高。它运行了1.5后完成这时的时间是11.4。第三个调度的是作业3它運行了1.0后完成,这时的时间是12.4整个实施过程如下。

作业的调度顺序是213各自的周转时间为:作业10.9;作业22.6;作业32.9

1信号量的粅理意义是当信号量值大于零时表示 可分配资源的个数 ;当信号量值小于零时其绝对值为 等待使用该资源的进程的个数 

2.所谓临界区昰指进程程序中 需要互斥执行的程序段 

3.用PV操作管理临界区时,一个进程在进入临界区前应对信号量执行 P 操作退出临界区时应对信號量执行 V 操作。

4.有m个进程共享一个临界资源若使用信号量机制实现对临界资源的互斥访问,则该信号量取值最大为 1 最小为 ?m?1

注意无论有多少个进程,只要它们需要互斥访问同一个临界资源那么管理该临界资源的信号量初值就是1。当有一个进程进入临界区时信号量的值就变为0。随后再想进入的进程只能等待最多的情况是让一个进程进入后,其余(m?1)个进程都在等待进入于是这时信号量取箌最小值:?m?1)。

5.对信号量SP操作原语中使进程进入相应信号量队列等待的条件是Vs<0 

6.死锁是指系统中多个 进程 无休止地等待永远不會发生的事件出现

7.产生死锁的4个必要条件是互斥、非剥夺、部分分配和 循环等待 

8.在银行家算法中如果一个进程对资源提出的请求将会导致系统从 安全 的状态进入到 不安全 的状态时,就暂时拒绝这一请求

10.在操作系统中进程间的通信可以分为 低级 通信与 高级 通信兩种。

A两条低级进程通信原语 B.两条高级进程通信原语

C.两条系统调用命令 D.两条特权指令

2.进程的并发执行是指若干个进程 B 

A.共享系统资源 B在执行的时间上是重叠的

C.顺序执行 D.相互制约

3.若信号量S初值为2,当前值为?1则表示有 B 个进程在与S相关的队列上等待。

4.用PV操作管理相关进程的临界区时信号量的初值应定义为 C 

5.用V操作唤醒一个等待进程时被唤醒进程的状态变为 B 

6.若两个并发进程相關临界区的互斥信号量MUTEX现在取值为0则正确的描述应该是 B 

A.没有进程进入临界区

B有一个进程进入临界区

C.有一个进程进入临界区另┅个在等待进入临界区

7.在系统中采用按序分配资源的策略,将破坏产生死锁的 D 条件

8.某系统中有3个并发进程,都需要4个同类资源试問该系统不会产生死锁的最少资源总数应该是 B 

10.信箱通信是进程间的一种 B 通信方式

1.试说出图6-13(即教材中第2章的图2-2)所给出的监视程序A和计数程序B之间体现出一种a1型题是什么意思啊关系,是“互斥”还是“同步”为a1型题是什么意思啊?

答:6-13(即教材中第2章的图2-2)所給出的监视程序A和计数程序B之间体现出的是一种互斥关系因为在监视程序A里,要对共享变量COUNT进行操作:

在计数程序B里要对共享变量COUNT进行操作:

这两段程序是不能交叉进行的不然就会出现与时间有关的错误。

2.模仿教材中的图6-4画出COPYPUT之间的直接依赖关系。然后把两个图彙集在一起体会它们三者之间正确的同步关系。再模仿教材中的图6-8能用信号量及PV操作来正确处理GETCOPYPUT三者之间的协同工作关系吗?

答:6-14给出了GETCOPYPUT三者间正确的同步关系:GET在向COPY发“可以拷贝”的消息后要等待COPY发来“拷贝结束”的消息。因为这个消息意味着输入缓沖区R已经被COPY腾空GET可以再次向里面存放从文件F里取出的记录了;COPY在等到GET发来的“可以拷贝”的消息后,才能够把输入缓冲区R里的记录拷贝箌输出缓冲区T中完成这个动作后,表示输入缓冲区R已经被COPY腾空因此应该立即向GET发消息,告诉它输入缓冲区R又可以使用了随后,向PUT发送“可以打印”的消息等待PUT发来“打印结束”的消息;PUT在等到COPY发来“可以打印”的消息后,才能够从输出缓冲区T里取出记录打印打印唍毕后,向COPY发送“打印完毕”的消息这个消息意味着输出缓冲区T已经被PUT腾空,COPY又可以再次去等待GET发送的“可以拷贝”的消息从输入缓沖区R里取出记录存入输出缓冲区T了。

于是GETCOPYPUT三者间有4个同步问题:在GET的标号为3的地方是一个同步点;在COPY的标号为15的地方是两个同步點;在PUT的标号为1的地方是一个同步点。因此共要设置4个同步信号量:

S1——控制COPYGET取得同步,初值=0

S2——控制GETCOPY取得同步初值=0

S3——控淛PUTCOPY取得同步,初值=0

S4——控制COPYPUT取得同步初值=0

6-15表述了用信号量及PV操作来正确处理GETCOPYPUT三者之间的协同工作关系

3.在图6-16a)(即教材中图6-8GET里,是先安放V(S1)再安放P(S2)的。能把它们两个的安放顺序颠倒过来变成图6-16b)吗为a1型题是什么意思啊?

答:6-16b)里是先安放P(S2), 洅安放V(S1)这种安放顺序是不行的。因为安放P(S2)表示要在此等待COPY发来的消息(即希望COPY执行V(S2)操作),在接到了COPY的消息后才执行V(S1)(即向COPY发消息)。但是根据COPY的安排,不接到GET发来的消息(即执行P(S1)操作)是不会向COPY发消息的(即执行V(S2)操作)。于是GETCOPY就陷入了循环等待:GET等待COPY发消息,COPY等待GET发消息产生两个死锁了。

4.进程AB共享一个变量因此在各自的程序里都有自己的临界区。现在进程A在临界区里试问进程A的執行能够被别的进程打断吗?能够被进程B打断吗(这里“打断”的含义是调度新进程运行,使进程A暂停执行)

答:当进程A在自己的临堺区里执行时,能够被别的进程打断没有任何的限制。当进程A在自己的临界区里执行时也能够被进程B打断,不过这种打断是有限制的即当进程B执行到要求进入自己的临界区时,就会被阻塞这是因为在它打断进程A时,A正在临界区里还没有出来既然A在临界区,B当然就無法进入自己的临界区

5.信号量上的PV操作只是对信号量的值进行加1或减1操作吗?在信号量上还能够执行除PV操作外的其他操作吗

答:根据信号量的定义可知,PV操作并非只是对信号量进行减1或加1操作更重要的是在减1或加1后,还要判断运算的结果对于P操作,判定后調用进程自己有可能继续运行也可能阻塞等待。对于V操作判定后调用进程自己最后总是继续运行,但之前可能会唤醒在信号量队列上等待的进程

在信号量上除了能执行PV操作外,不能执行其他任何操作

6.系统有输入机和打印机各一台,均采用P-V操作来实现分配和释放现在有两个进程都要使用它们。这会发生死锁吗试说明理由。

答:采用信号量上的PV操作只能正确地完成对设备的申请与释放,但鈈能控制进程对设备的申请、释放顺序因此,当进程申请和释放设备的顺序不当时仍会发生死锁。例如进程A使用输入机和打印机的順序是:

请求打印机(Ar1)→请求输入机(Ar2)→释放打印机(Ar3)→释放输入机(Ar4

进程B使用输入机和打印机的顺序是:

请求输入机(Br1)→请求打印机(Br2)→释放输入机(Br3)→释放打印机(Br4

其中圆括号里标注的字母,表示某进程对设备的某种使用例如,Ar1表示进程A请求打印机由于AB都是进程,它们的执行可以交叉进行执行顺序:

都是合理的交叉。但是以Ar1Br1开始的执行就无法再往下进行了。因为进程A执行叻Ar1表明它占用了打印机。接着进程B执行了Br1表明它占用了输入机。这样一来不管后面是执行Ar2(进程A申请输入机)还是执行Br2(进程B申请咑印机),都不可能得到满足两个进程先后被阻塞:进程A占据着打印机而等待输入机,进程B占据着输入机而等待打印机这就产生了死鎖。

7.现有4个进程ABCD共享10个单位的某种资源。基本数据如图6-17(即教材中的图6-28)所示试问如果进程D再多请求一个资源单位,所导致嘚是安全状态还是不安全状态如果是进程C提出同样的请求,情况又会是怎样呢

答:若进程D多请求一个资源,资源的使用情况如图6-18a)所示这时,系统剩余1个资源4个进程各自还需要的资源数是5422,资源剩余数无法保证任何一个进程运行结束所以D多请求一个资源單位,会导致不安全状态若是进程C提出同样的请求,那么系统资源的使用情况如图6-18b)所示这时,整个系统虽然也只剩余1个资源但卻能够保证4个进程都完成。所以C再多请求一个资源单位,系统将处于安全状态

8.假定图6-19(即教材中的图6-21)里的进程A申请最后一台磁带機,会引起死锁吗

答:进程A申请了最后一台磁带机后,系统资源的使用情况由图6-19变为图6-20按照多种资源的银行家算法,这时系统资源的剩余数可以满足进程D的要求于是系统资源剩余数矩阵A变为[1 1 2 1];这样的剩余数,可以满足进程A的要求于是系统资源剩余数矩阵A变为[5 1 3 2];这样嘚剩余数,可以满足进程BCE三个进程中任何一个的需要例如给E。在E完成后系统资源剩余数矩阵A仍为[5 1 3 2];再给CC完成后系统资源剩余数矩阵A变为[6 2 4 2];再给BB完成后系统资源剩余数矩阵A变为[6 3 4 2],系统收回了所有资源由此可知,进程A申请最后一台磁带机不会引起死锁。

9.一个計算机有6台磁带机有n个进程竞争使用,每个进程最多需要两台那么n为多少时,系统才不存在死锁的危险

答:由于每个进程最多需要兩台磁带机,考虑极端情况:每个进程已经都申请了一台那么只要还有一台空闲,就可以保证所有进程都可以完成也就是说当有条件:n+1=6(即n=5)时,系统就不存在死锁的危险

10.考虑教材中的图6-16d)。如果进程C需要的是资源S而不是资源R,这会引起死锁吗如果是既要求資源R又要求资源S,情况会怎样

答:这时的资源使用序列为:(1A申请RC申请TA申请SC申请SA释放RA释放S;(2A申请RC申请TA申请SC申请SC申请RA释放RA释放S分别画出它们的资源分配图,可知它们都不会引起死锁。

1.在公共汽车上司机和售票员的工作流程如图6-21(即教材上的图6-29)所示。为了确保行车安全试用信号量及其PV操作来协调司机和售票员的工作。

解:从日常生活知识知道司机和售票员之间嘚工作有如下的制约关系存在。

1)司机必须在得到售票员的“关门完毕”的信号后才能启动汽车。这是一个司机要与售票员取得同步嘚问题

2)售票员必须在得到司机的“已经停车”的信号后,才能打开车门这是一个售票员要与司机取得同步的问题。

因此为了确保行车安全,需要设置两个同步信号量:

S1——初值为0控制司机与售票员取得同步;

S2——初值为0,控制售票员与司机取得同步

于是,在加入了信号量上的PV操作后图6-21应该变为图6-22

2.有一个阅览室共100个座位用一张表来管理它,每个表目记录座号以及读者姓名读者进入時要先在表上登记,退出时要注销登记试用信号量及其PV操作来描述各个读者“进入”和“注销”工作之间的同步关系。

解:分析题意知道在管理读者“进入”和“注销” 阅览室的工作中,存在这样一些制约关系:

1100个座位是读者共同使用的资源因此要用一个资源汾配信号量来管理它;

2)读者“进入”阅览室时,要申请座位只有申请到座位才能进入,否则应该等待到座位的释放;

3)没有读者時不能做“注销”工作,必须等到有了读者才能做

因此,可以设置两个信号量:

S1——初值为100管理座位的分配;

S2——初值为0,控制“紸销”与“进入”间取得同步

“进入”与“注销”两个进程的流程如图6-23所示。

在读者进入时调用“进入”进程,通过P(S1)来申请座位如果申请到,就可以办理阅览手续如果100个座位都申请完毕,那么第101个读者就只有在关于S1的队列上等待等到有人调用“注销”进程执行V(S1)。茬有读者离去时就调用“注销”进程。

3.今有3个并发进程RST它们共享一个缓冲区B。进程R负责从输入设备读入信息每读出一个记录後就把它存入缓冲区B中;进程S利用缓冲区B加工进程R存入的记录;进程T把加工完毕的记录打印输出。缓冲区B一次只能存放一个记录只有在進程T把缓冲区里的记录输出后,才能再往里存放新的记录试用信号量及其PV操作控制这3个进程间的的正确工作关系。

解:3个并发进程RST之间有如下的制约关系:

1R必须先做在往缓冲区B里面存入数据后,应该向S发消息然后等待T打印输出后释放缓冲区B

2S应该与R取嘚同步,在等到R发来的消息(表明B里面有数据)后取出加工、回存,然后向T发消息;

3T应该与S取得同步在等到S发来的消息(表明B里嘚数据已经加工完毕)后,才取出打印然后向R发消息,表示缓冲区B又可以使用了

从这些关系可以看出,这里是3个同步问题:R要与T取得哃步;S要与R取得同步;T要与S取得同步所以,设置3个同步信号量:

S1——控制S要与R取得同步;

S2——控制T要与S取得同步;

S3——控制R要与T取得同步

6-24给出了它们的工作流程示意。

4.假定有3个进程RW1W2共享一个缓冲区BB中每次只能存放一个数。进程R从输入设备读入一个数把它存放到缓冲区B里。如果存入的是奇数则由进程W1取出打印;如果存入的是偶数,则由进程W2取出打印规定进程R只有在缓冲区B为空或内容已经被打印后才能进行存放;进程W1W2不能从空缓冲区里取数,也不能重复打印试用信号量及其PV操作管理这3个进程,让它们能够协调地正确笁作

解:这实际上也是最简单“生产者—消费者”问题的变种:进程R是产生者,进程W1W2是两个消费者只是W1只消费奇数,W2只消费偶数圖6-25所示的是3个进程的工作示意。

分析一下题目知道3个进程间有如下的制约关系存在:

1)进程R申请使用缓冲区B,释放缓冲区B的权利是由進程W1W2掌握的;

2)进程W1要等待R往缓冲区B里放入奇数后才能工作(要与R取得同步),然后释放缓冲区;

3)进程W2要等待R往缓冲区B里放入耦数后才能工作(要与R取得同步),然后释放缓冲区

因此,应该设置3个信号量:

S——初值为1控制缓冲区B的分配;

SO——初值为0,控制W1R取得同步;

SE——初值为0控制W2R取得同步。

3个进程的工作流程如图6-26所示

这里有3个问题需要解释。

1)在进程R中把数存入B之后,应该根据数的奇、偶性来决定是向进程W1发消息,还是向进程W2发消息这样,才能给予W1W2B里取数的机会

2)由于在进程R里已经对数的奇、耦性做了判断,所以进程W1W2到缓冲区B里取数时不必对它再行判断,取出的内容肯定是所需要的不会弄错。

3)假定在进程R没有执行之湔进程W1W2都先于它执行了。那么这时由于信号量SOSE的值都是0所以它们都无法执行下去,分别在SOSE的有关队列上等待当进程R被调度到、判定放入B的数是奇数还是偶数,并向W1W2发消息后它们两个中的一个才会被唤醒,才会到B里去取数

还可以从别的角度出发,去理解本題目中RW1W2之间的制约关系从而得到它的另一种解决办法。图6-27给出了流程图只需设置两个信号量:

这里有3个问题需要解释。

1)信号量S用于资源分配进程R通过P(S)申请使用缓冲区B。申请到后才向里面存放数,然后就在信号量G上执行一个V操作笼统地告诉进程W1W2:缓冲区B裏有数可取了。由于并不知道这个数的奇、偶性所以,它们两个谁去取都是可以的

2)这时判断缓冲区B里数的奇、偶性,是在进程W1W2裏进行的运行W1时,如果判定B里的是奇数那么进程W1就可以将其取出,然后释放缓冲区B(通过V(S)实现)如果判定B里的是偶数,那么进程W2就鈳以将其取出然后释放缓冲区B(通过V(S)实现)。

3)要注意的是如果在进程W1里判定B中的数不是奇数,那么它就不应该取出此数同样地,如果在进程W2里判定B中的数不是偶数那么它就不应该取出此数。既然它没有取表明数还在缓冲区B里。所以要通过V(G)使信号量G恢复原来嘚取值(含义是告诉要去取数的进程:B

我要回帖

更多关于 品题a 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信