02第二章进程管理习题解答.ppt

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
② 如 果 将 signal(mutex) 与 signal(full) 互换位置,将无碍结果。
• 26、试修改下面生产者一消费者问题解法中的错误。
• Producer:
• Begin
• Repeat
• ……

Produce an item in nextp;

Wait(mutex);

Wait(full);
18、同步机制应遵循哪些基本准则?为什么?
答:用来实现互斥的同步机制必须遵循下述四条 准则:
(1)空闲让进。临界资源空闲时,应允许一 个请求进入临界区的进程立即进入自己的临界区, 以便有效地利用资源。
(2)忙则等待。当临界资源正被访问时,其 他要求进入临界区的进程必须等待,以保证对临 界资源的互斥使用。
6、试从动态性、并发性和独立性上比较进 程和程序。
答:①进程有一定的生命周期;由创建而 产生,由撤消而消亡。而程序只是存储在 某种介质上的一组有序的指令集合,是静 态实体。
②进程的引入是为了能和其他进程并发运 行,并发性是进程的基本特征,而程序却 是不能并发运行的。
③进程是可以独立运行的基本单位,同时 也是系统中独立获得资源和独立调度的基 本单位。凡是没有建立进程的程序都不能 作为一个独立单位参加运行。

C0nsume item in nextc;
• Until false;
• End.

• 答:修改过的程序如下面带有斜体的命令所示。
• Producer:
• Begin
• Repeat
•…

Produce an item in nextp;

wait(empty);

wait(mutex);
• Buffer(in):=nextp;
• In:=(in+1)mod N
• Siqnal(mutex);
• signal(full);
• Until false;
• End.
• consumer:
• Begin
• Repeat
• wait(full);
பைடு நூலகம்
• wait(mutex);
• Nextc:=buffer(0ut);
• out:=(out+1)mod N;
②wait操作通过检查信号量的值来判断临界资 源的状态。信号量取值就像交通灯,当其值大于 0时,表示是“绿灯”,否则表示是“红灯”。 当为“绿灯”时说明可以通行;否则不可以通行。 无论可以或不可以通行,都必须给其值减1。 ③signal操作用来释放临界资源。执行该操作先 给信号量的值加l,然后判断是否有进程正在等待 使用临界资源,若有就唤醒之。
15、试说明引起进程阻塞或被唤醒的主要事件
是什么?
答:①引起进程阻塞的主要事件有: ·请求系统服务得不到满足; ·启动某种操作后需要等待完成; ·等待合作进程的运行结果; ·系统进程因完成了所做的工作后无事可做。 ②引起进程唤醒的主要事件有: ·期待的事件已出现; ·要求的I/O操作已完成: ·期待的数据已到达; ·系统进程被启动。
• Siqnal(mutex);
• Signal(empty);
• Consume item in nextc;
• Until false;
• End.
28、在测量控制系统中的数据采集任务时,把所采集的数 据送一个单缓冲区:计算任务从该单缓冲区中取出数据 进行计算。试写出利用信号量机制实现两者共享单缓冲 的同步算法。 答:将数据采集进程命名为Pickup,其同步信号量为 s1,初始值为l;计算进程命名为 Compute,其同步信号 量为s2,初始值为O。程序为:
23、在生产者一消费者问题中,如果缺少了
wait(full)或signal(empty),对执行结果 会有何影响?
答:①如果缺少了wait(full),消费者 进程将不检测缓冲区中是否有可以读取的 产品就试图进行读操作,因而有可能读出 “假产品”。
②如果缺少了signal(empty),读出一个 产品后腾出的位置将不能告知生产者进程, 因而导致生产者无法再向这些缓冲区存放 产品。
第二章进程管理习题解答
5、在操作系统中为什么要引入进程概念?它会产生什么样 的影响? 答:在操作系统中引入进程概念,是为了实现多个程序的 并发执行。传统的程序不能与其他程序并发执行,只有在 为之创建进程后,才能与其他程序(进程)并发执行。这 是因为并发执行的程序(即进程)是“停停走走”地执行, 只有在为它创建进程后,在它停下时,方能将其现场信息 保存在它的PCB中,待下次被调度执行时,再从PCB中 恢复CPU现场而继续执行,而传统的程序却无法满足上 述要求。 建立进程所带来的好处是使多个程序能并发执行,这极大 地提高了资源利用率和系统吞吐量。但管理进程也需付出 一定的代价,包括进程控制块及协调各运行的机构所占用 的内存空间开销,以及为进行进程间的切换、同步及通信 等所付出的时间开销。
(3)有限等待。任何要求访问临界资源的进 程应能在有限的时间内进入自己的临界区,以免 “死等”。
(4)让权等待。不能进入临界区的进程应立即 释放CPU,以免“忙等”。
19、试从物理概念上来说明记录型信号量及wait
和signal操作? 答:①记录型信号量是由两个量组成的记录型
变量。其中的一个是整型的值,用于指示临界资 源的状态是忙碌还是闲置,另一个是指针型的, 用于连接一个等待队列。
24、在生产者.消费者问题中,如果将两个
wait操作即wait(full)和wait(mutex)互换 位置,或者是将signal(mutex)与 signal(full)互换位置,结果会如何?
答:①如果将wait(full)和wait(mutex) 互换位置,将可能导致死锁。
会出现变量不一致吗?

Buffer(in):=nextp;

Signal(mutex);
• Until false;
• End.
• Consumer:
• Begin
• Repeat
• Wait(mutex);

Wait(empty);

Nextc:=buffer(0ut);

out:=out+l;

Sianal(mutex);
7、试说明PCB的作用。为什么说PCB是进 程存在的惟一标志?
答:①PCB的作用是使一个在多道程序环 境下不能独立运行的程序(含数据)成为一个 能独立运行的程序,OS根据PCB来对并发 执行的进程实施控制和管理。
②PCB是进程实体的一部分,是OS中最重 要的数据结构,存放着OS所需的、用于描 述进程的信息及控制运行的全部信息。系 统通过进程的PCB感知进程的存在,所以 说PCB是进程存在的惟一标志。
相关文档
最新文档