进程同步与互斥练习答案

合集下载

4.2 进程同步习题

4.2 进程同步习题

【例】现有4个进程R1,R2,W1,W2。它们共享 可以存放一个数据的缓冲器B。进程R1每次把磁 盘上读出的一个数据存到缓冲器B中,供进程W1 打印输出;进程R2每次从键盘上读一个数据存放 到缓冲器B,供W2打印输出。当一个进程把数据 存放到缓冲器后,在该数据还没有打印输出之前 不准任何进程再想缓冲器中存数据。当一个进程 已把缓冲器中的数据打印输出后,在缓冲器中还 没有存如新数据之前不准任何进程再从缓冲器中 取数打印。问怎样用PV操作使这4个进程并发执 行时能相互协作地工作?
• Semaphore Customers = 0; • Semaphore Barber = 0; • Mutex accessSeats = 1; • int NumberOfFreeSeats = N; //total number of seats
Customer() { while(true) Barbers() { { P(accessSeats); //lock while(true) if(NumberOfFreeSeats >0) { { P(customers); NumberOfFreeSeats--; //等待顾客,睡眠 V(customers);//通知理发师 P(accessSeats); //lock V(accessSeats);//unlock NumberOfFreeSeats++; P(barbers);//等待理发师 V(accessSeats); //unlock 顾客理发 理发中… } V(barbers) ; else }//while V(accessSeats); } }//while }
3 两个进程可以改为 semaphore S1=1 semaphore S2=0 Process X L1:P(S1) 使用资源r V(S2) goto L1

进程同步与互斥练习答案

进程同步与互斥练习答案
进程同步与互斥
练习题
选择题
• 1.任何两个并发进程之间存在着(D )的 关系。 A.各自完全独立 B.拥有共享变量 C.必须互斥 D.可能相互制约
• 2.并发进程执行的相对速度是(D )。 A.由进程的程序结构决定的 B.由进程自己来控制的 C.在进程被创建时确定的 D.与进程调度策略有关的
• 3.并发进程执行时可能会出现“与时间有 关的错误”,这种错误是由于并发进程(A ) 引起的。 A.使用共享资源 B.执行的顺序性 C.要求计算时间的长短 D.程序的长度
1. 有m个进程共享同一临界资源,若使用信号量机制实现对资源 的互斥访问,则信号量值的变化范围是 1-m≤ mutex ≤1。 2. 对于两个并发进程,设互斥信号量为mutex,若mutex=0,则 ____B____ A 表示没有进程进入临界区 B 表示有一个进程进入临界区 C表示有一个进程进入临界区,另一个进程等待进入 D 表示有两个进程进入临界区 3. 设系统中有n(n>2)进程,且当前不在执行进程调度程序,试 考虑下述4种情况哪种不能发生:A A没有运行进程,有2个就绪进程,n-2个进程处于等待状态。 B有1个运行进程,没有就绪进程,n-1个进程处于等待状 C有1个运行进程,有1个就绪进程,n-2个进程处于等待状态 D有1个运行进程,有n-1个就绪进程,没有进程处于等待状态
互( B)关系。 A.联接 C.继续
B.制约 D.调用
多项选择题
• 1.有关并发进程的下列叙述中,(CDE )是正 确的。 A.任何时刻允许多个进程在同一CPU上运 行 B.进程执行的速度完全由进程自己控制 C.并发进程在访问共享资源时可能出现与 时间有关的错误 D.同步是指并发进程中存在的一种制约关 系 E.各自独立的并发进程在执行时不会相互 影响

进程同步练习(答案)

进程同步练习(答案)

一、选择题1、我们把在一段时间内,只允许一个进程访问的资源,称为临界资源,因此,我们可以得出下列论述,请选择一条正确的论述。

A 、对临界资源是不能实现资源共享的B 、对临界资源,应采取互斥访问方式,来实现共享C 、为临界资源配上相应的设备控制块后,便能被共享D 、对临界资源应采取同时访问方式,来实现共享2、在多进程的系统中,为了保证公共变量的完整性,各进程应互斥进入临界区。

所谓临界区是指_______。

A 、一个缓冲区B 、一段数据区C 、同步机制D 、一段程序3、在操作系统中,信号量表示资源实体,信号量表示资源实体,是一个与队列有关的是一个与队列有关的_________变量,其值仅能用P 、V 操作来改变。

A 、实体B 、整形C 、布尔型D 、记录型4、用P 、V 操作可以解决_______互斥问题。

A 、某些B 、一个C 、一切D 、大多数5、对于记录型信号量,在执行一次P 操作时,信号量值应当_____A__A_(3)___;当其值为______B_B_(4)__时,进程应阻塞。

在执行V 操作时,信号量的值应当______C C (2)___;当其值为____D_D_(3)__时,应唤醒阻塞队列中的进程。

A 、C :(1)不变;(2)加1;(3)减1;(4)加指定数值;(5)减指定数值B 、D :(1)大于0;(2)大于等于0;(3)小于等于0;(4)小于0 6、对于两个并发进程,其互斥信号量为mutex ;若mutex=0,则表明_______。

A 、没有进程进入临界区B 、有一个进程进入临界区但没进程处于阻塞状态C 、一个进程进入临界区而另一个进程正处于等待进入临界区状态D 、有两个进程进入临界区7、设有5个进程共享一个互斥段,如果允许有3个进程同时进入互斥段,则所采用的互斥信号量的初值应是__________。

A 、5 B 、3 C 、1 D 、0 8、N 个进程共享某一临界资源,则互斥信号量的取值范围为_________。

第7章进程同步(含答案)

第7章进程同步(含答案)
4、若一个进程已进入临界区,其他欲进入临界区的进程必须(等待)。
5、用P、V操作管理临界区时,任何一个进程在进入临界区之前应调用(P)操作,退出临界区时应调用(V)操作。
6、在多道程序系统中,进程之间存在着的不同制约关系可以划分为两类:(同步)与(互斥)。(同步)指进程间具有一定逻辑关系;(互斥)是指进程间在使用共享资源方面的约束关系。
INT BUFFER-SIZE=N;
INT SF=0;/*BUFFER中是否有可取的信息*/
INT SE=N;/* BUFFER中是否有空位置以存放信息*/
MAIN()
{
GET()
COMPUTE()
}
4、桌上有一空盘,允许存放一只水果,爸爸可向盘中放苹果,也可向盘中放桔子,儿子专等吃盘中的桔子,女儿专等吃盘中的苹果。规定当盘空时一次只能放一只水果供吃者取出,请用P、V原语实现爸爸、儿子、女儿三个并发进程的同步。
{ int b2=0:/*表示进程S2是否可以开始执行*/
int b3=0:/*表示进程S3是否可以开始执行*/
int b4=0:/*表示进程S4是否可以开始执行*/
Main()
s1();
s2();
s3()
s4()
}
6、 读者/写者问题。有一数据区为多个进程所共享,假设一些进程只能对该数据区完成读操作(读者),而另一些进程只能对其完成写操作(写者),读者和写者要遵守以下的约束:
Int SF=0;/*信号量SF用于表示缓冲区中有无可供计算的信息。*/
Main()
{
get();
compute();}
3、**在视频通信系统中,由进程PA采集一帧图像信息并存入环形缓冲区buffer,进程PB从buffer中取一帧数据进行处理,假设buffer的大小为n,试用P、V操作实现PA和PB。(类似生产者-消费者)

进程的同步与互斥

进程的同步与互斥

例题:选择题1、当一个进程独占处理器执行时,具有两个特性,即()。

A、封闭性和可再现性B、独立性和可再现性C、开放性和可再现性D、顺序性和独立性2、对于两个并发进程,设互斥信号量为A,若A=0,则()。

A、表示有一个进程进入临界区,另一个进程等待进入B、表示有两个进程进入临界区C、表示有一个进程进入临界区D、表示没有进程进入临界区3、进程并发执行时,执行结果与其执行的()有关。

A、绝对速度B、时间C、速度D、相对速度4、造成进程结果不正确的因素与进程占用处理器的时间、执行的速度及外界的影响有关。

而这些因素都与时间有关,所以称为()。

A、时间因素B、与时间有关的错误C、时间错误D、时间问题5、P、V操作是对()进行操作。

A、信号量B、执行速度C、执行时间D、执行结果5、两个进程合作完成一个任务,在并发执行中,一个进程要等待其合作伙伴发来消息,或者建立某个条件后再向前执行,这种制约性合作关系被称为进程的()。

A、调度B、执行C、同步D、互斥6、信号量被定义为一个整型变量,其初始值是()。

A、0B、无任何限制C、负整数D、非负数填空题:1、并发进程间的关系可以是()的,也可以是有()的。

2、在用P、V操作实现同步时,一定要根据具体的问题来定义()和调用()。

3、每执行一次P原语操作,信号量s的数值减1,如果s>=0,该进程();若s<0,则()该进程,并把它插入该()对应的()队列中,重新进行进程调度。

综合应用题1、假定有三个进程R、W1、W2共享一个缓冲器B,而B中每次只能存放一个数。

当缓冲器中无数时,进程R可将M输入设备上读入的数存放到缓冲器B中;若存放到缓冲器中的是奇数,则允许进程W1将其取出打印;若存放到缓冲器中的是偶数,则允许进程W2将其取出打印。

同时规定:进程R必须等缓冲器中的数被取出打印后才能再存放一个数;进程W1或W2对每次存入缓冲器中的数只能打印一次;W1和W2都不能从空的缓冲器中取数。

进程同步与互斥练习答案

进程同步与互斥练习答案

2.一个正在运行的进程调用P(s)后,若S的 值为(AD ),则该进程可以继续运行。 A.S>0 B.S<0 C.S≠0 D.S≥0 E.S≤0
判断题
• 1.有交往的并发进程一定共享某些资源。 (√)
• 2.如果不能控制并发进程执行的相对速度, 则它们在共享资源时一定会出现与时间有 关的错误。 ( × )
上衣或裤子后制作室工人都要分别把它们送到 配套室的衣架F1和裤架F2上,衣架F1上存放上 衣,裤架F2上存放裤子,衣架最多能放50件上 衣,裤架最多能放50条裤子。配套室工人每次
从架上取一件上衣和一条裤子,然后将它们配 成套装,并进行包装。为防止操作出错, 甲制
作室工人及配套室工人对衣架F1的存取动作应
设私用信号量empty1和empty2分别表示 衣架和裤架的空位数,
full1表示衣架上的衣服数,full2表示裤架上的 裤子数
(2)初始化mutex1=1,mutex2=1,
empty1=50,empty2=50,full1=0,full2=0
(3)描述:
甲制作室工人工作过程:
乙制作室工人工作过程:
• 3.并发进程的执行结果只取决于进程本身, 不受外界影响。 ( × )
• 4.多道程序设计必然导致进程的并发执行。 (√ )
1. 有m个进程共享同一临界资源,若使用信号量机制实现对资源 的互斥访问,则信号量值的变化范围是 1-m≤ mutex ≤1。
2. 对于两个并发进程,设互斥信号量为mutex,若mutex=0,则 ____B____
• 设有一个作业由四个进程组成,这四个进 程在运行时必须按图所示的顺序,用P、V 原语操作表达四个进程的同步关系。
T1
T3 T2
T4

计算机操作系统-陆丽娜-课后答案第四章

计算机操作系统-陆丽娜-课后答案第四章

14. 设 N 为整型数,初始值为 3,两个并发进程 A 和 B 的程序如下:
process A
process B
do{ N=N+5; }
do{ print(N);
N=0;
} 若 process A 先执行了三个循环后,process A 和 process B 又并发执
行了一个循环,写出可能出现的打印值。请用 P、V 操作实现同步, 使两并发进程能正确执行。
量 S1 和 S2 初值均为 0。试问 P1、P2 并发执行后,x、y 的值各为多 少?
P1:
P2:
begin
begin
y:=1;
x:=1;
y:=y+3;
x:=x+5;
V(S1);
P(S1);
z:=y+1;
x:=x+y;
P(S2);
V(S2);
y:=z+y
end
z:=z+x;
end 答:x=10 y=9 z=15
9. 列举死锁的各种预防策略。 答: 静态分配资源策略:要求每一个进程在开始执行前就要申请它所需要 的全部资源,仅当系统能满足进程的资源申请要求时才把资源分配给 进程,该进程才能开始执行(注意,所有并发执行的进程要求的资源 总和不能超过系统拥有的资源数)。(破坏第二个条件)
按序分配资源策略:把系统中所有资源排一个顺序,对每一个资源给 一个确定的编号,规定任何一个进程申请两个以上资源时总是先申请 编号小的资源,后申请编号大的资源(或者先申请编号大的,后申请 编号小的资源)。系统按进程对资源的申请顺序来分配资源。按序分 配策略将阻止死锁 的第四个条件(循环等待条件)的出现。
end
Ⅱ 单项选择题

进程同步与互斥习题课(最新)

进程同步与互斥习题课(最新)

读者优先方案
设计思想:读者优先意味着以下两条要求. (i)除非有写者正在写文件,否则读者不需要 等待; (ii)仅当无读者时才允许写者使用文件.


读者优先算法实现:
PWriter(写者进程) P(mutexShareFile) …向文件写信息… V(mutexShareFile)彻底解决读者写者问题的最基本方案.但读者 的高优先级可能造成某个暂时 得不到文件的写者由于被随后 而来的源源不断的读者插队而 长时间挂起,直到全部读者进程 运行完毕后,才可以使用文件.
进程同步与互斥习题课
河北工业大学 计算机学院 李建伟
利用信号量实现进程间的互斥
由于各进程要求共享资源,而有些资源 需要互斥使用,因此各进程间竞争使用 这些资源,进程的这种关系为进程的互 斥 临界资源:critical resource 系统中某些资源一次只允许一个进程使 用,称这样的资源为临界资源或互斥资 源或共享变量

练习题1

桌子有一空盘,允许存放一个水果。 爸爸可向盘中放苹果,也可以向盘中 放桔子,儿子专等吃盘中的桔子,女 儿专等吃盘中的苹果。规定当盘空时 一次只能放一只水果供吃者取用,请 用P、V原语实现爸爸、儿子、女儿3 个并发进程的同步。
练习题2

设有三个进程A、B、C,其中A与B构成一 对生产者与消费者(A为生产者,B为消费 者),共享一个由n个缓冲块组成的缓冲 池,B与C也构成一对生产者与消费者 (此时B为生产者,C为消费者),共享 另一个由m个缓冲块组成的缓冲池。用P、 V操作描述它们之间的关系。
读者-写者公平竞争方案

设计思想:读者-写者公平竞争的要求读者 -写者完全按照先来先服务的原则使用文 件资源,一旦有写者到达,后续的读者 都必须等待。不允许出现后来者超越先 来的等待资源者插队的现象。

操作系统课件习题及解答

操作系统课件习题及解答

08计本2班操作系统课件习题及解答本题考查的是进程同步互斥方面的知识。

在系统中的每一个进程其工作的正确与否不仅取决于它自身的正确性,而且与它在执行中能否与其他相关进程正确的实施同步互斥有关。

常用PV操作实现进程同步与互斥。

试题是关于两个进程合作的同步问题,是一个典型的生产者和消费者的问题。

生产者进程P A不断地向管道写数据,消费者进程P B从管道中读数据并加工处理。

为了实现P A与P B进程间的同步问题,需要设置一个信号量S1,且初值为1,表示管道未满,可以将数据写入管道;设置另一个信号量S2与管道是否有数据联系起来,当信号量的值为“0”时表示进程P A还未将数据写入管道,当信号量的值为非“0”时表示管道有数据存在。

其同步过程如图所示。

试题(26)的正确答案是B。

某系统中有一个缓冲区,进程P1不断地生产产品送入缓冲区,进程P2不断地从缓冲区中取产品消费。

假设该缓存区只能容纳一个产品。

进程P1与P2的同步模型如下图所示: P1 p2生产一个产品 P(S2)P(S1)从缓冲区取一个产品产品送缓冲区 V(S1)V(S2)消费为此,应设信号量S1的初值为(18),信号量S2的初值为(19)。

(18)A.-2 B.-1 C. 0 D.1(19)A.-2 B.-1 C. 0 D.1答案为D/CP操作S = S-1S<0 阻塞V操作S= S+1S 〈=0 唤醒S1、S2分别是P1、P2对缓冲区操作的开关,S1=1表示初始状态P1进程可以对缓冲区进行操作,而对于S2=0正好阻止了P2进程对缓冲区的操作!在刚开始的时候缓冲区为空,其允许P1在其中放入产品,但不能让P2取出产品,所以才产生这样的结果进程名J1 J3 J4 J2完成时间7:00 7:06 7:18 7:48周转时间60 18 18 84解析:周转时间=完成时间—提交时间平均周转时间=(60+18+18+84) 4=45所以答案为C/AD/A解析:时间段 P1 P2 P320 R2 R1 CPU10 R2 CPU --10 CPU -- --20 R1 CPU --10 R1 R2 CPU10 CPU R2 --10 -- R2 CPU10 -- R2 R1总的时间是100ms,其中使用CPU的使用时间为90ms,R2的使用时间为70ms。

电大操作系统 第2章教材习题解答

电大操作系统 第2章教材习题解答

第2章进程管理“练习与思考”解答1.基本概念和术语进程、进程互斥、进程同步、临界资源、临界区、死锁进程是程序在并发环境中的执行过程。

进程互斥:各个进程彼此不知道对方的存在,逻辑上没有关系,由于竞争同一资源(如打印机、文件等)而发生相互制约。

进程同步:各个进程不知对方的名字,但通过对某些对象(如I/O缓冲区)的共同存取来协同完成一项任务。

临界资源:一次仅允许一个进程使用的资源。

临界区:在每个进程中访问临界资源的那段程序。

死锁是指在一个进程集合中的每个进程都在等待仅由该集合中的另一个进程才能引发的事件而无限期地僵持下去的局面。

2.基本原理和技术(1)在操作系统中为什么要引入进程概念?它与程序的区别和联系是什么?在操作系统中,由于多道程序并发执行时共享系统资源,共同决定这些资源的状态,因此系统中各程序在执行过程中就出现了相互制约的新关系,程序的执行出现“走走停停”的新状态。

这些都是在程序的动态过程中发生的。

用程序这个静态概念已不能如实反映程序并发执行过程中的这些特征。

为此,人们引入“进程”这一概念来描述程序动态执行过程的性质。

进程与程序的主要区别是:·进程是动态的;程序是静态的。

·进程有独立性,能并发执行;程序不能并发执行。

·二者无一一对应关系。

·进程异步运行,会相互制约;程序不具备此特征。

但进程与程序又有密切的联系:进程不能脱离具体程序而虚设,程序规定了相应进程所要完成的动作。

(2)进程的基本状态有哪几种?通常在操作系统中,进程至少要有三种基本状态。

这三种基本状态是:运行态、就绪态和阻塞态(或等待态)。

(3)用如图3-23所示的进程状态转换图能够说明有关处理机管理的大量内容。

试回答:①什么事件引起每次显著的状态变迁?②下述状态变迁因果关系能否发生?为什么?(A)2→1 (B)3→2 (C)4→1图3-23 进程状态转换图①就绪→运行:CPU空闲,就绪态进程被调度程序选中。

进程同步与互斥

进程同步与互斥

分析:产生错误的原因是不加控制地访问共享变量x 错误的原因是不加控制地访问共享变量 分析:产生错误的原因是不加控制地访问共享变量
5.1 并发的原理-- -示例 并发的原理--
与进程的执行顺序有关的错误
复制一个记录
Cobegin get; copy; put; Coend
get
copy
put
f
源记录
进入区 临界区 退出区 剩余区
5.3 临界区问题-原语 临界区问题-
内核在执行某些基本操作时, 往往利用原语 原语操作实现 内核在执行某些基本操作时 往往利用原语操作实现 原语
是一种广义指令, 是一种广义指令 相当于扩充了机器指令集 原语是由若干条指令构成、 原语是由若干条指令构成、用于完成一定功能的一个 过程. 过程 原语是原子操作(atomic operation) 原语是原子操作
Dekker算法-尝试4 Dekker算法-尝试4 算法
Dekker算法-尝试4 Dekker算法-尝试4 算法
思路:使每个进程更礼让一些: 思路:使每个进程更礼让一些:每 个进程设置自己的flag,表明自己 个进程设置自己的 , 想进入自己的临界区, 想进入自己的临界区,但也准备重 置flag,以尊重另一个进程。 ,以尊重另一个进程。 优点: 优点:保证互斥 缺点: 缺点:
1. 若执行顺序为: 若执行顺序为: 先T1; 后T2; 则结果: 则结果:x = 98 2. 若执行顺序为: 若执行顺序为: T1: Read(x); T2: Read(x); T1: if x>=1 then x:=x-1; T2: if x>=1 then x:=x-1; T1: write(x); T2: write(x); 则结果 x = 99

进程同步互斥练习

进程同步互斥练习

1.如果信号量S的初值是5,现在信号量的值是-5,那么系统中的相关进程至少执行了几个P(S)操作?与信号量S相关的处于阻塞状态的进程有几个?为使信号量S的值大于0,应进行怎样的操作?答案:1)5-(-5)=10,因此系统中的相关进程至少执行了10个P(S)操作。

因为每执行一次P(S)操作就会将信号量S减去1。

2)与信号量S相关的处于阻塞状态的进程有|-5|=5个。

3)为使信号量S的值大于0,应当有至少6个执行了P(S)但还没来得及执行V(S)的进程去执行V(S)操作。

2.一售票厅只能容纳300人,当少于300人时,可以进入;否则,需在外等候。

若将每一个购票者作为一个进程,请用P、V操作编程,并写出信号量的初值。

答案:设置信号量NUM表示售票厅当前还可以进入的人数,初值为300.购票者进程:do{P(NUM);进入售票厅;V(NUM);} While(1);3.桌上有一空盘,只允许存放一个水果。

爸爸可向盘中放苹果,也可向盘中放桔子。

儿子专等吃盘中的桔子,女儿专等吃盘中的苹果。

规定当盘中空时一次只能放一只水果供吃者取用,请用P、V原语实现爸爸、儿子、女儿三个并发进程的同步。

答案:设置三个信号量S、So、Sa,信号量S表示盘子是否为空,其初值为1;信号量So表示盘中是否有桔子,其初值为0;信号量Sa表示盘中是否有苹果,其初值为0。

同步描述如下:int S=1; int Sa=0; int So=0;main( ){father();son();daughter();}father(){while(1){P(S );将水果放入盘中;if (放入的是桔子)V(So);else V(Sa);}} son( ){while(1){P(So);从盘中取出桔子;V(S);吃桔子;}}daughter( ){while(1){P(Sa);从盘中取出苹果;V(S);吃苹果;}}4.下面是两个并发执行的进程。

它们能正确执行吗?若不能,试改正之。

进程同步与互斥练习答案PPT教学课件

进程同步与互斥练习答案PPT教学课件

从架上取一件上衣和一条裤子,然后将它们配
成套装,并进行包装。为防止操作出错, 甲制
作室工人及配套室工人对衣架F1的存取动作应
互斥进行,乙制作室工人及配套室工人对裤架
F2的存取动作应互斥进行。用P、V原语进行正
确管理,分别描述甲制作室工人、乙制作室工
2020/12人/09 以及配套室工人的工作过程。
22
注:信号量S1、S2的初值均为0
2020/12/09
21
• 某套装服装厂有甲乙两个制作室和一个配套室。
两个制作室分别生产上衣和裤子,每制作一件
上衣或裤子后制作室工人都要分别把它们送到
配套室的衣架F1和裤架F2上,衣架F1上存放上
衣,裤架F2上存放裤子,衣架最多能放50件上
衣,裤架最多能放50条裤子。配套室工人每次
2. 对于两个并发进程,设互斥信号量为mutex,若mutex=0,则 ____B____
A 表示没有进程进入临界区 B 表示有一个进程进入临界区 C表示有一个进程进入临界区,另一个进程等待进入 D 表示有两个进程进入临界区 3. 设系统中有n(n>2)进程,且当前不在执行进程调度程序,试
考虑下述4种情况哪种不能发生:A A没有运行进程,有2个就绪进程,n-2个进程处于等待状态。 B有1个运行进程,没有就绪进程,n-1个进程处于等待状 C有1个运行进程,有1个就绪进程,n-2个进程处于等待状态 D有1个运行进程,有n-1个就绪进程,没有进程处于等待状态
上衣 甲制作室
裤子 乙制作室
F1衣架 F2裤架
上衣 配套室工人
裤子
2020/12/09
23
解:
(1)设公用信号量mutex1和mutex2控制进 程对衣架和裤架的互斥操作

同步与互斥练习

同步与互斥练习
End
课堂练习题
Var mutex,full,empty:semaphore:=1,0,8; Begin Parbegin consumer: begin repeat in
repeat 生产一个成品; wait ( empty ); wait( mutex ); 将产品存入仓库; signal (mutex ); signal ( full ); until false; end end
输入进程 buf1 计算进程 buf2 打印进程
4、设有一个成品仓库,总共能够存放8台 成品,生产者生产产品放入仓库,消费者从 仓库中取出成品消费。为了防止积压,仓库 满时就停止生产。由于仓库搬运设备只有一 套,故成品的存入和取出只能分别执行,使 用 wait () 和 signal() 操作来实现该方案。
COPY: begin repeat wait ( Sfull ); wait (Tempty) 将数据从S提取到 T 中; signal (Sempty ); signal ( Tfull ); until false; end GET : begin repeat wait (Tfull ); 从T中取数据打印; signal ( Tempty ); until false; end
3、如图示出了一个从键盘输入到打印机 输出的数据流图,其中键盘输入进程通过 缓冲区buffer1把输入数据传送给计算进 程,计算进程把处理结果通过缓冲 buffer2传送给打印进程。设上述两个缓 冲区的大小分别是n1和n2,为实现输入进 程与计算进程的同步,试写出键盘输入进 程、计算进程及打印进程间的同步算法。
Procedure P2 //进程2 Begin Repeat Section2 Repeat C2:=1-C1 Until C1<>0; Critcal section; C2:=1 Until false End parend End

(完整版)操作系统-进程同步习题答案(22)

(完整版)操作系统-进程同步习题答案(22)
4.进程从阻塞状态转换到就绪状态的可能原因是(BC ).
A.时间片完B.其它进程执行了唤醒原语
C.执行了V操作D.执行了P操作
5.在单处理机系统中,设系统中有n个进程(n>2),且当前处理机没有执行进程调度程序,下述情况哪些可能发生( BCD)。
A.没有运行的进程,有2个进程处于就绪状态,n个进程处于等待状态。
A.临界资源是非共享资源 B.临界资源是任意共享资源
C.临界资源是互斥共享资源 D.临界资源是同时共享资源
4.对进程间互斥地使用临界资源,进程可以(D)
A.互斥地进入临界区 B.互斥地进入各自的临界区
C.互斥地进入同一临界区 D.互斥地进入各自的同类资源的临界区
5.设两个进程共用一个临界资源的互斥信号量mutex,当mutex=1时表示( B )。
〈进程P1〉〈进程P2〉
y:=1; x:=1;
y:=y+2; x:=x+1;
V(S1); P(S1);
z:=y+1; x:=x+y;
P(S2);V(S2);
y:=z+y; z:=x+z;
解:
因为P1和P2是两个并发进程,所以进程调度程序调度P1和P2的顺序是不确定的。
这里不妨假设P1先执行。进程P1执行到语句P(S2)时,S2=-1,进程P1阻塞。此时,y=3,z=4。当进程调度程序调度到进程P2时,由于进程P1已执行了V(S1),进程P2在执行P(S1)时并未阻塞而继续执行,当执行到V(S2)时,将P1唤醒,然后执行最后一个语句z:=x+z,此时x=5,z=9。当进程P1再次被调度时,继续执行P1的最后一个语句,此时y=12,最终结果是:x=5,y=12,z=9。
A.4 B.3 C.5 D.0

第3章进程并发控制作业题参考答案

第3章进程并发控制作业题参考答案

第3章进程并发控制作业题参考答案作业题题1进程间的互斥与同步表示了各进程间的______。

A.竞争与协作B. 相互独立与相互制约C .临界区调度原则 D. 动态性与并发性题2 若执行信号量S操作的进程数为3,信号量S初值为2,当前值为-1,表示有____个等待相关临界资源的进程。

A 0B 1C 2D 3题 3 由于并发进程执行的随机性,一个进程对另一个进程的影响是不可预测的,甚至造成结果的不正确,_________。

A.造成不正确的因素与时间有关B. 造成不正确的因素只与进程占用的处理机有关C.造成不正确的因素与执行速度无关D. 造成不正确的因素只与外界的影响有关题4 下列机构中不能用于进程间数据通信的是____________。

A.消息B.共享存储区C. 信号量D.管道题5 下面有关管程的说法,不正确的是________A.管程是种进程同步机制B. 管程是一种编程语言成分C. 管程是一种系统调用D.管程比信号量更容易保证并行编程的正确性题6 什么是临界资源和临界区?一个进程进人临界区的调度原则是什么?题7 进程之间存在哪几种制约关系?各是什么原因引起的?下列活动分别属于哪种制约关系?(1)图书馆借书。

属于互斥关系。

(2)两队举行篮球赛。

既有互斥关系,又有同步关系。

(3)流水生产线。

属于同步关系。

(4)乐队演奏。

属于同步关系。

(5)购买火车票。

属于互斥关系。

题8 在生产者消费者问题中,如果将两个P操作即生产者程序流程中的P(buffers)和P(mutex)互换位置.结果会如何? 形成死锁。

题9 试用P、V操作描述下列理发师和顾客之间的同步问题。

某个理发师当没有顾客时,去睡觉;当有顾客来理发,若理发师正在睡觉时,这个顾客会叫醒他,理发师给该顾客理发,理发期间若还有顾客到达则等待理发师依次理发,直到没有顾客到来,理发师又去睡觉。

wakeup,wait,mutex:semaphore;wakeup:=0;wait:=0;mutex:=1;cobegin顾客进程:{p(mutex);rc=rc+1;if(rc==1) v(wakeup);else p(wait);v(mutex);理发;}理发师进程:{P(wakeup);While(rc!=0){理发;p(mutex);rc=rc-1;if(rc!=0)v(wait);v(mutex);}}coend自测题一、选择题1.并发性是指若干事件在______发生。

作业1-进程同步-答案

作业1-进程同步-答案

操作系统作业第 1 页 共 1 页 1、 用记录型信号量解决以下问题,用类C 语言编写进程同步算法。

司机 P1 售票员 P2REPEA T REPEA T 启动 关门 正常运行 售票 到站停 开门 UNTIL FALSE UNTIL FALSE 2、 两个进程合作完成数据计算和打印工作,计算进程未计算完就不可打印,反之也然,双方共用一个缓冲区,写出此算法。

3、 桌子上有一只盘子,最多可容纳两个水果,每次只能放人或取出一个水果。

爸爸专向盘子中放苹果(apple),妈妈专向盘子中放桔子(orange),两个儿子专等吃盘子中的桔子,两个女儿专等吃盘子中的苹果。

请用P 、V 操作来实现爸爸、妈妈、儿子、女儿之间的同步与互斥关系。

4、 桌子上有一只盘子,每次只能放入一只水果。

爸爸专向盘中放苹果,妈妈专向盘中放桔子,一个儿子专等吃盘中的桔子,一个女儿专等吃盘中的苹果。

请利用P 、V 操作写出父亲、母亲、儿子、女儿进程的同步算法。

5、 设有四个并发执行的进程P1、P2、P3、p4,其前趋图如下,试用信号量实现这四个进程同步。

1 Var s1,s2:semaphore:=0,0; parbegin 司机 P1 REPEA T wait(s1) 启动正常运行 到站停 Signal(s2) UNTIL FALSE 售票员 P2REPEA T 关门Signal(s1) 售票Wait(s2) 开门UNTIL FALSE parend 2 Var empty, full: semaphore:=1,0; parbegin Calculate: begin repeat wait(empty); 计算; signal(full); until false; end Print: begin repeat wait(full); 打印; signal(empty); until false; end parend 3 盘子为互斥资源,因可以放两个水果,empty 初值为2;再设信号量mutex 初值为1,控制对盘子的互斥访问;apple 表示盘中苹果个数,orange 表示盘中桔子个数,初值均为0。

《操作系统》PV习题课1

《操作系统》PV习题课1
操作系统习题讲解
一、进程概念 二、进程同步和互斥
进 程 概 念(一)
问题:如果系统中有N个进程,
• 运行进程最多几个,最少几个? • 就绪进程最多几个,最少几个? • 等待进程最多几个,最少几个?
运行
就绪
等待
进程的状态及其转换
进 程 概 念(一)
解答:运行进程最多1个,最少0个;
就绪进程最多N-1个,最少0个; 等待进程最多N个,最少0个;
Put: Begin
Repeat P(T_Full); T_put_G(); V(T_Empty);
Until false; End
进程同步和互斥(二)
问题:用P.V操作解决下面问题
司机进程: REPEAT 启动车辆 正常驾驶 到站停车 UNTIL …
售票员进程: REPEAT 关门 售票 开门 UNTIL …
是缓冲区为空; V(b-mutex); V(s-b); End 其中s-b初值:n ;s-m初值:0
Until false; End;
假设共有2N个进程争用临界区; 时间复杂性: 2N vs N;空间复杂性: 2N vs 2N-1
进程同步和互斥(六)
理发师问题
理发店里有一位理发师,一把理发椅和 N把供等候理发的顾客坐的椅子.如果 没有顾客,则理发师便在理发椅上睡觉. 当一个顾客到来时,他必须先唤醒理发 师.如果顾客到来时理发师正在理发, 则如果有空椅子,可坐下来等;否则 离开。
P(mutex); s0:=s; s:=(s+1) mod k; V(mutex); P(buff[s0].empty); 在buff[s0].msg中写信息; P(buff[s0].mutex); buff[s0].count:=n; V(buff[s0].mutex); For (j:=1 to n do)

进程同步与互斥问题

进程同步与互斥问题

p1() {
while(1) {
洗桔子; P(m1) ; 放桔子; V(m3) ; } }
p2() {
while(1) {
洗苹果 ; P(m1); 放苹果; V(m2); } }
p3() {
while(1) {
P(m2) ; 取苹果; V(m1); 吃苹果;
} }
p4() {
while(1) {
P(m3) ; 取桔子; V(m1); 吃桔子;
p3() {
while(1) {
P(m2) ; 取水果; V(m1); 吃水果;
} }
进程的同步
分析:父母亲先放水果,儿子再取水果吃;父亲与儿子,母 亲与儿子是一个同步关系,父亲与母亲要竞争空盘子。
解法二:设信号量m1表示父亲或母亲放完水果,信号量m2 表示儿子取完水果。
int m1=0,m2=1; cobegin
放水果; }
吃桔子; }
吃苹果; }
进程的同步
分析:父亲先放水果,儿子女儿再吃水果;儿子女儿取完水 果,父亲再放水果,这三个进程是一个同步关系。
解法一:设信号量m1表示父亲能否放水果,m2表示儿子能 否取桔子,m3表示女儿能否取苹果。
int m1=1,m2=0,m3=0;
cobegin
p1() // p2() // p3()
} }
例3-4:吃水果。 父亲 母亲
进程的同步
女儿 桔 苹0子 果
儿子
父亲 P1 while(true) {
洗桔子;
母亲 P2 while (true) {
洗苹果;
放桔子; }
放苹果; }
儿子 P3 while(true) {
取苹果;
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

上衣 甲制作室 F1衣架 上衣
配套室工人 裤子 乙制作室 F2裤架 裤子
解: (1)设公用信号量mutex1和mutex2控制进 程对衣架和裤架的互斥操作 设私用信号量empty1和empty2分别表示 衣架和裤架的空位数, full1表示衣架上的衣服数,full2表示裤架上的 裤子数 (2)初始化mutex1=1,mutex2=1, empty1=50,empty2=50,full1=0,full2=0
1. 有m个进程共享同一临界资源,若使用信号量机制实现对资源 的互斥访问,则信号量值的变化范围是 1-m≤ mutex ≤1。 2. 对于两个并发进程,设互斥信号量为mutex,若mutex=0,则 ____B____ A 表示没有进程进入临界区 B 表示有一个进程进入临界区 C表示有一个进程进入临界区,另一个进程等待进入 D 表示有两个进程进入临界区 3. 设系统中有n(n>2)进程,且当前不在执行进程调度程序,试 考虑下述4种情况哪种不能发生:A A没有运行进程,有2个就绪进程,n-2个进程处于等待状态。 B有1个运行进程,没有就绪进程,n-1个进程处于等待状 C有1个运行进程,有1个就绪进程,n-2个进程处于等待状态 D有1个运行进程,有n-1个就绪进程,没有进程处于等待状态
• 10.用PV操作管理临界区时把信号量的初 值定义为1,现已有一个进程在临界区,但 有n个进程在等待进人临界区,这时信号量 的值为(C )。 A.-1 B.1 C.-n D.n
• 11.用V操作唤醒一个等待进程时,被唤醒 进程的状态应变成(B )状态。 A.执行 B.就绪 C.运行 D.收容
• 12.进程间的同ຫໍສະໝຸດ 是指进程间在逻辑上的相• 7.用PV操作管理互斥使用的资源时,信号 量的初值应定义为(A )。 A.任意正整数 B.1 C.0 D.-1
• 8.用P、V操作管理临界区时,互斥信号量 的初值应定义为( B )。 A.任意值 B.1 C.0 D.-1
• 9.现有n个具有相关临界区的并发进程, 如果某进程调用P操作后变为等待状态,则 调用P操作时信号量的值必定为(A )。 A.≤0 B.1 C.n-1 D.n
某套装服装厂有甲乙两个制作室和一个配套室。 两个制作室分别生产上衣和裤子,每制作一件 上衣或裤子后制作室工人都要分别把它们送到 配套室的衣架F1和裤架F2上,衣架F1上存放上 衣,裤架F2上存放裤子,衣架最多能放50件上 衣,裤架最多能放50条裤子。配套室工人每次 从架上取一件上衣和一条裤子,然后将它们配 成套装,并进行包装。为防止操作出错, 甲制 作室工人及配套室工人对衣架F1的存取动作应 互斥进行,乙制作室工人及配套室工人对裤架 F2的存取动作应互斥进行。用P、V原语进行正 确管理,分别描述甲制作室工人、乙制作室工 人以及配套室工人的工作过程。
2.一个正在运行的进程调用P(s)后,若S的 值为(AD ),则该进程可以继续运行。 A.S>0 B.S<0 C.S≠0 D.S≥0 E.S≤0
判断题
• 1.有交往的并发进程一定共享某些资源。 (√) • 2.如果不能控制并发进程执行的相对速度, 则它们在共享资源时一定会出现与时间有 关的错误。 ( × ) • 3.并发进程的执行结果只取决于进程本身, 不受外界影响。 ( × ) • 4.多道程序设计必然导致进程的并发执行。 (√ )
(3)描述: 甲制作室工人工作过程: 乙制作室工人工作过程: L1:生产一件上衣 L2:生产一条裤子 P(empty1) P(empty2) P(mutex1) P(mutex2) 将上衣放到衣架上 将裤子放到裤架上 V(mutex1) V(mutex2) V(full1) V(full2) Goto L1 Goto L2 配套工人工作过程: L3:P(full1) P(full2) P(mutex1) P(mutex2) 分别取上衣和裤子进行配套 V(mutex1) V(mutex2) V(empty1) V(empty2) Goto L3
判断下面的同步问题的算法是否正确? 若有错,请指出错误原因并予以改正
(1)设A、B两进程共用一个缓冲区Q,A 向Q写入信息,B则从Q读出信息,算法框 图如图所示。
注:信号量S的初值为0
设A、B为两个并发进程,它们共享一临界资 源。其运行临界区的算法框图如图所示。
注:信号量S1、S2的初值均为0

互( B)关系。 A.联接 C.继续
B.制约 D.调用
多项选择题
• 1.有关并发进程的下列叙述中,(CDE )是正 确的。 A.任何时刻允许多个进程在同一CPU上运 行 B.进程执行的速度完全由进程自己控制 C.并发进程在访问共享资源时可能出现与 时间有关的错误 D.同步是指并发进程中存在的一种制约关 系 E.各自独立的并发进程在执行时不会相互 影响
• 4.并发进程中与共享变量有关的程序段称 为(B )。 A.共享子程序 B.临界区 C.管理区 D.公共数据区
• 5.用来实现进程同步与互斥的PV操作实际 上是由( D)过程组成的。 A.一个可被中断的 B.一个不可被中断的 C.两个可被中断的 D. 两个不可被中断的
• 6.进程从运行态变为等待态可能由于 (B )。 A.执行了V操作 B.执行了P操作 C.时间片用完 D.有高优先级进程就绪
• 设有一个作业由四个进程组成,这四个进 程在运行时必须按图所示的顺序,用P、V 原语操作表达四个进程的同步关系。
T1
T2
T3
T4
应用题
• 设系统中只有一台打印机,有三个用户的 程序在执行过程中都要使用打印机输出计 算结果。设每个用户程序对应一个进程。 问:这三个进程间有什么样的制约关系? 试用P、V操作写出这些进程使用打印机的 算法。
进程同步与互斥
练习题
选择题
• 1.任何两个并发进程之间存在着(D )的 关系。 A.各自完全独立 B.拥有共享变量 C.必须互斥 D.可能相互制约
• 2.并发进程执行的相对速度是(D )。 A.由进程的程序结构决定的 B.由进程自己来控制的 C.在进程被创建时确定的 D.与进程调度策略有关的
• 3.并发进程执行时可能会出现“与时间有 关的错误”,这种错误是由于并发进程(A ) 引起的。 A.使用共享资源 B.执行的顺序性 C.要求计算时间的长短 D.程序的长度
相关文档
最新文档