进程同步与互斥练习

合集下载

操作系统_作业3_进程同步与互斥

操作系统_作业3_进程同步与互斥

1
班级:08111602 班
学号:1120161918
姓名:李林峰
4. 请用并行语句和 P、V 操作描述图 1 所示的任务执行过程。
Parbegin P1(): S1; V(synch1); S2; S4; V(synch2); S5; V(synch3); P2(): P(synch1); S3; P(synch2); S6; P(synch3); S7;
Parend
图 1. 任务执行过程
5. "理发师睡觉”问题:假设理发店由等待间(n 个座位)和理发间(只有一个 座位)构成。无顾客时,理发师睡觉。顾客先进等待间再进理发间,当顾客 进入理发间发现理发师在睡觉时,则唤醒理发师,请求理发;如果理发师正 在理发,又有顾客到来时,只要有空椅子,他就坐下来等待,如果没有空椅 子,他就离开。请为理发师和顾客各编写一段程序来描述他们的同步问题。
班级:08111602 班
学号:1120161918
姓名:李林峰
操作系统与分布式计算
作业 3 进程的互斥与同步
1. 例举两个现实生活中需要同步与互斥的例子。 同步:去打印店印刷书籍,必须要先印刷好了过后,装订设备才能装订。 互斥:去打印店用一台机器同时打印 2 份文档,2 份文档竞争使用一台
机器形成互斥 进程互斥 // 等候理发的顾客数减少 // 开放临界区 // 理发 // 理发师增加
// 进程互斥 // 有空椅子,留下
// 等候理发的顾客数增加 // 唤醒理发师 // 开放临界区 // 占用理发师 // 理发
// 没有空椅子,离开
3
实现原语执行的不可分割性:通常由硬件来实现,也可以由软件通过中 断屏蔽的方法来实现。
3. 如果 P、V 操作不作为原语,即可分割执行,那么是否还可以用于解决互斥 问题?若不能,举例说明。

练习题汇总-无答案

练习题汇总-无答案

进程管理(Part 2)一、填空题1.进程的“同步”和“互斥”反映了进程间①和②的关系。

2.死锁产生的原因是①和②。

3.产生死锁的四个必要条件是①、②、③、④。

4.在操作系统中,信号量是表示①的物理实体,它是一个与②有关的整型变量,其值仅能由③原语来改变。

5.每执行一次P原语,信号量的数值S减1。

如果S>=0,该进程①;若S<0,则②该进程,并把它插入该③对应的④队列中。

6.每执行一次V原语,信号量的数值S加1。

如果①,进程继续执行;如果S <=0,则从对应的②队列中移出一个进程R,该进程状态变为③。

7.利用信号量实现进程的①,应为临界区设置一个信号量mutex。

其初值为②,表示该资源尚未使用,临界区应置于③和④原语之间。

8.在多道环境下,由于进程的并发执行,一段程序为多个进程①时,要求在执行的过程中,该段程序的指令和数据不能被②,这样的程序段称为③。

二、单项选择题1.在非剥夺调度方式下,运行进程执行V原语之后,其状态。

(A)不变(B)要变(C)可能要变(D)可能不变2.两个进程争夺同一个资源。

(A)一定死锁(B)不一定死锁(C)不死锁(D)以上说法都不对3.①是一种只能由P操作和V操作进行访问的特殊变量,可以用来实现异步并行进程间的②以排它地访问共享数据,还可以用来实现③,实现进程间在逻辑上的相互制约关系。

(A)调度(B)类程(C)进程(D)互斥(E)信号量(F)控制变量(G)同步(H)共享变量(I)规程(J)分配4.可以被多个进程在任一时刻共享的代码必须是。

(A)不能自身修改的纯码(B)顺序代码(C)无转移指令的代码(D)汇编语言编制的代码5.当对信号量进行V原操作之后,。

(A)当S<0,进程继续执行(B)当S>0,要唤醒一个就绪进程(C)当S<=0,要唤醒一个等待进程(D)当S<=0,要唤醒一个就绪进程6.在下列叙述中,错误的一条是。

(A)进程被撤消时,只需释放该进程的PCB就可以了,因为PCB是进程存在的唯一标志(B)进程的互斥和同步都能用P/V原语实现(C)用户程序中执行系统调用命令时,处理机的状态字将发生改变(D)设备独立性是指用户在编程时,所使用的设备与实际设备无关7.正在运行的进程在信号量S上作P操作之后,当S<0,进程将进入信号量的。

进程的同步与互斥

进程的同步与互斥

例题:选择题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

进程同步与互斥练习

进程同步与互斥练习

进程同步与互斥练习题选择题1.任何两个并发进程之间存在着()的关系。

A.各自完全独立B.拥有共享变量C.必须互斥D.可能相互制约2.并发进程执行的相对速度是()。

A.由进程的程序结构决定的B.由进程自己来控制的C.在进程被创建时确定的D.与进程调度策略有关的3.并发进程执行时可能会出现“与时间有关的错误”,这种错误是由于并发进程()引起的。

A.使用共享资源B.执行的顺序性C.要求计算时间的长短D.程序的长度4.并发进程中与共享变量有关的程序段称为()。

A.共享子程序B.临界区C.管理区D.公共数据区5.用来实现进程同步与互斥的PV操作实际上是由()过程组成的。

A.一个可被中断的B.一个不可被中断的C.两个可被中断的D. 两个不可被中断的6.进程从运行态变为等待态可能由于()。

A.执行了V操作B.执行了P操作C.时间片用完D.有高优先级进程就绪7.用PV操作管理互斥使用的资源时,信号量的初值应定义为()。

A.任意正整数B.1C.08.用P、V操作管理临界区时,互斥信号量的初值应定义为( )。

A.任意值B.1C.0D.-19.现有n个具有相关临界区的并发进程,如果某进程调用P操作后变为等待状态,则调用P操作时信号量的值必定为()。

A.≤0B.1C.n-1D.n10.用PV操作管理临界区时把信号量的初值定义为1,现已有一个进程在临界区,但有n 个进程在等待进人临界区,这时信号量的值为()。

A.-1B.1C.-nD.n11.用V操作唤醒一个等待进程时,被唤醒进程的状态应变成()状态。

A.执行B.就绪C.运行D.收容12.进程间的同步是指进程间在逻辑上的相互( )关系。

A.联接B.制约C.继续D.调用多项选择题1.有关并发进程的下列叙述中,()是正确的。

A.任何时刻允许多个进程在同一CPU上运行B.进程执行的速度完全由进程自己控制C.并发进程在访问共享资源时可能出现与时间有关的错误D.同步是指并发进程中存在的一种制约关系E.各自独立的并发进程在执行时不会相互影响2.一个正在运行的进程调用P(s)后,若S的值为(),则该进程可以继续运行。

2.9 经典的进程的同步互斥问题3

2.9 经典的进程的同步互斥问题3

1.m-n 2.C
课后思考1 理发师问题
假设后街有家理发店,店里有一个理发师、一把理发椅和n把
等候理发的顾客椅子。 ① 如果没有顾客则理发师便在理发椅上看报纸; ② 当有一个顾客到达时,首先查看理发师在干什么,如果在看报 纸则告诉理发师理发,然后坐到理发椅上开始理发;如果理发
师正在理发,则查看是否有空的椅子可坐,如果有,他就坐下
随堂练习1
程序填空:超市购物问题
问题描述:某小型超级市场,可容纳50个人同时购物。入口处备有篮子,每个购物
者可拿一只篮子入内购物。出口处结帐,并归还篮子(出、入口禁止多 人同时通过)。试用P、V操作写出购物者的同步算法。
struct semaphore s,mutex=
,
;
cobegin void comsumeri(void) (i=1,2,…,k) { while(TRUE) { ;
semaphore s=1; semaphore sp=0; semaphore so=0;
void father (void) { while(TRUE) { have an apple; P(s); put an apple; V(sp); } } void son (void) { while(TRUE) { P(so); get an orange; V(s); eat an orange; } } void mother (void) { while(TRUE) { have an orange; P(s); put an orange; V(so); } } void daught (void) { while(TRUE) { P(sp); get an apple; V(s); eat an apple; } }

同步互斥习题

同步互斥习题

填空题
1. 信号量的物理意义是当信号量值大于 零是表示 ① ;当信号 量值小于零时,其绝对值为 ② ;
① 可用资源数目 ② 因请求该资源而被阻塞的进程数目
填空题
2. 临界资源的概念是 而临界区是指 ② ① ; ;
① 一次仅允许一个进程访问的资源 ② 进程中访问临界资源的那段程序代码
填空题
3. 若一个进程已进入临界区,其它欲进 入临界区的进程必须① ; ① 等待
如果进程对信号量S执行signal操作, 则信号量S的值将 ( )。 A:加1 B:减1 C:等于0 D:大于0
设与某资源相关联的信号量初值为3, 当前值为1,若M表示该资源的可用个数 ,N表示等待资源的进程数,则M,N分别 是( ) A:0,1 B:1,0 C:1,2 D:2,0
注:本题为2010年全国考研题
选择题
4、进程间的同步是指进程间在逻辑上的 相互()关系 A. 联接 B. 制约 C. 继续 D. 调用
选择题
5、()是一种只能进行wait和signal操作 的特殊变量 A. 调度 B. 进程 C. 同步 D. 信号量
选择题
6、在操作系统中,解决进程间的()和()问 题的一种方法是使用() A. 调度 B. 互斥 C. 通讯 D. 同步 E. 分配 F. 信号量
在多进程的系统中,为了保证公共变 量的完整性,各进程应互斥进入临界区, 所谓临界区是指( )。 A:一个缓冲区 B:一段数据区 C:同步机制 D:一段程序
以下关于临界资源的叙述中,正确的 是( )。 A:临界资源是非共享资源 B:临界资源是任意共享资源 C:临界资源是互斥共享资源 D:临界资源是同时共享资源
第四章
习题
选择题
1、若P、V操作的信号量S初值为2,当前 值为-1,则表示有()等待进程 A. 0个 B. 1个 C. 2个 D. 3个

进程同步例题

进程同步例题

1.若有一个文件F,供进程共享。

现把进程分成A、B两组,规定同组的进程可以同时读文件F,但当有A组(或B组)的进程在读文件F时不允许B组(或A组)的进程读文件F。

现定义两个计数器C1和C2分别记录A组和B组中读文件F的进程数。

当用P、V操作进行管理时需要三个信号量Sl、S2和SAB才能保证正确的并发执行。

程序结构如下:Begin Sl,S2,SAB:semaphore;C1,C2:integer;S1:=1;S2:=1 ;SAB:=1;C1:=0;C2:=0;cobeginprocess Ai(i=1,2,…)begin((1));C1:=C1十1;if Cl=1 then((2));((3));read file F((4))C1:=C1—1;if Cl=0 then((5))((6));end;process Bj(j=1,2,…)begin((7));C2:=C2十1;if C2=1 then((8));((9));read file F;((10));C2:=C2—1;if C2=0 then((11));((12));end;coend;end;回答:1.说明信号量S1,S2,SAB的作用2. 在上述程序的括号内填入适当的P、V操作,完善该程序。

2.一座山上有一个隧道,规定每次只允许一列火车过隧道,现在南方北方都有车要过隧道,如果把每个过隧道者看作一个进程,为保证安全.请用PV操作实现正确管理。

3.桌上有一个空盒,盒内只允许放一个水果,甲可向盒内放苹果,乙可向盒内放桔子。

丙专等吃盒中的苹果,丁专等吃盒中的桔子,若盒内已有水果,放者必须等待,若盒内没有自己要吃的水果,吃者必需等待,请回答下列问题:(1)请给出四个之间的同步互斥关系。

(2)用Pv操作来协调四人的关系,应设置的信号量及其初值。

(3)写出用PV操作实现四人正确活动的程序。

1.(1)S1是对计数器Cl的互斥信号量,S2是对计数器C2的互斥信号量,SAB是A、B两组互斥信号量。

操作系统习题第四章

操作系统习题第四章

操作系统习题第四章第四章互斥、同步与通讯一、单项选择题1.一个正在访问临界资源的进程由于申请等待I/O操作而被中断时,__________.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.设有三个进程共享一个资源,如果每次只允许一个进程使用该资源,则用PV操作管理时信号量S的可能取值是___________A.1,0,-1,-2B.2,0,-1,-2C.1,0,-1D.3,2,1,0 7.进程的并发执行是指若干个进程__________.A. 同时执行B. 在执行的时间上是重叠的C. 在执行的时间上是不可重叠的D. 共享系统资源8.在进程通信中,__________常用信件交换信息。

A.低级通信 B.高级通信 C.消息通信 D.管道通信9.实现进程同步时,每一个消息与一个信号量对应,进程_________可把不同的消息发送出去。

A.在同一信号量上调用P操作B.在不同信号量上调用P操作C.在同一信号量上调用V操作D.在不同信号量上调用V操作10._________是只能有P和V操作所改变的整形变量。

A.共享变量B.锁C.整型信号量D.记录型信号量11.在执行V操作时,当信号量的值_________时,应释放一个等待该信号量的进程。

A.大于0B.小于0C.大于等于0D.小于等于0 12.进程和程序的主要区别是__________.A.占用处理器和不占用处理器B.占用主存和不占用主存C.动态和静态D.连续执行和非连续执行13.有三个进程P1,P2,P3共享同一个程序段,而每次最多允许两个进程进入该程序段,则信号量S的初值为___________. A. 0 B. 1 C. 2 D. 314.若P、V操作的信号量S初值为2,当前值为-1,则表示有_________等待进程。

进程同步练习

进程同步练习

• 题目4: • 一个快餐店,有两个厨师,一个做中餐,一个做 西餐,厨师做完一份食物就放在窗口,由顾客自 取。窗口只能放下一份食物。到店顾客分两类: 要么只吃中餐,要么只吃西餐。试实现进程同步。 • 分析: • 窗口只能放一份食物,是临界资源,设一互斥信 号量mutex,初值为1 • 两个资源信号量:中餐S1,西餐S2,初值都为0 • 四个进程:中餐厨师,西餐厨师,中餐顾客,西 餐顾客
——处理机调度练习
题目1:假设有4道作业,它们的提交时刻及执行时间 由下表给出: 计算在单道程序环境下,采用先来先服务调度算法 和最短作业优先调度算法时的周转时间和平均带权 周转时间,并指出它们的调度顺序。
(1)先来先服务调度: 顺序:提交时间 开始执行时间 结束时间 1、 Ts1=10:00 10:00 Te1=12:00 2、 Ts2=10:20 12:00 Te2=13:00 3、 Ts3=10:40 13:00 Te3=13:30 4、 Ts4=10:50 13:30 Te4=13:50 T=0.25*(2+2.7+2.8+3)=2.625h W=0.25*(2/2+2.7/1+2.8/0.5+3/0.3)=4.825 (2)最短作业优先调度: 顺序:提交时间 开始执行时间 结束时间
• V操作 即Singal(S) V(S){ s.value++; if(S.value <= 0){从此资源相关的等待队列中唤醒一个进程;} }
• 进程同步问题的求解依据 ——信号量的两种应用
1.实现进程互斥
• • • • 分析题目中的资源、互斥资源,设置信号量及初值 分析题目中的进程,及其行为,进程访问的资源 利用所设置的信号量控制进程对资源的访问 必要时增加共享变量(如计数器),进程对共享变 量的访问是互斥的

进程同步互斥练习

进程同步互斥练习

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.下面是两个并发执行的进程。

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

进程同步与互斥练习答案

进程同步与互斥练习答案

上衣 甲制作室 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

进程同步与互斥练习答案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

习题讲解

习题讲解

进程同步和互斥(四)
第二类读者写者问题(写者优先)
1)共享读 2)互斥写、读写互斥 3)写者优先于读者(一旦有写者,则后续 读者必须等待,唤醒时优先考虑写者)
Var mutex: semaphore; {互斥信号量,初值为1} R : semaphore; {对应读者等待队列,初值为0} W: semaphore; {对应写者等待队列,初值为0}
写者进程
If (rq>0) Then Begin Writing:=false; While (rq>0) Begin rq:=rq-1; V(R) ; End End Else Begin Writing:=false; V(mutex); End End
(a) 检测是否有进程正在读写 (b) Writing(T); Write(); Writing(F) (c) 处理写者等待队列;处理Reader等待队列
Begin
P(mutex); If (Writing OR rc>0) Then Begin wq:=wq+1; V(mutex); P(W); End; Else Begin Writing:=true; V(mutex); Write(); P(mutex); If (wq<>0) Then Begin wq:=wq-1; V(mutex); V(W); End Else
操作系统习题讲解
进程同步和互斥
进程同步和互斥(一)
问题:用P.V操作解决下图之同步问题
get copy put
fsΒιβλιοθήκη tg进程同步和互斥(一)
一个数据上的操作顺序:get - copy - put
g p p p c g
c g

进程同步与互斥问题

进程同步与互斥问题

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.在公共汽车上,司机和售票员的工作流程如图所示。

为保证乘客的安全,司机和售票员应密切配合协调工作。

请用信号量来实现司机与售票员之间的同步。

司机售票员图司机和售票员工作流程图2.桌子上有一只盘子,盘子中只能放一只水果。

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

用PV操作实现他们之间的同步机制。

3.a,b两点之间是一段东西向的单行车道,现要设计一个自动管理系统,管理规则如下:(1)当ab之间有车辆在行驶时同方向的车可以同时驶入ab段,但另一方向的车必须在ab 段外等待;(2)当ab之间无车辆在行驶时,到达a点(或b点)的车辆可以进入ab段,但不能从a 点和b点同时驶入;(3)当某方向在ab段行驶的车辆驶出了ab段且暂无车辆进入ab段时,应让另一方向等待的车辆进入ab段行驶。

请用信号量为工具,对ab段实现正确管理以保证行驶安全。

4.将只读数据的进程称为“读者”进程,而写或修改数据的进程称为“写者”进程。

允许多个“读者”同时读数据,但不允许“写者”与其他“读者”或“写者”同时访问数据。

另外,要保证:一旦有“写者”等待时,新到达的“读者”必须等待,直到该“写者”完成数据访问为止。

试用P、V操作正确实现“读者”与“写者”的同步。

(第二类读者写者问题,信号量解决方法)5.一条河上架设了由若干个桥墩组成的一座桥。

若一个桥墩只能站一个人,过河的人只能沿着桥向前走而不能向后退。

过河时,只要对岸无人过,就可以过。

但不允许河对岸的两个人同时过,以防止出现死锁。

请给出两个方向的人顺利过河的同步算法。

6.有一个仓库,可以存放A和B两种产品,但要求:(1)每次只能存入一种产品(A或B);(2)-N<A产品数量-B产品数量<M。

其中,N和M是正整数。

试用同步算法描述产品A与产品B的入库过程。

1、在公共汽车上,司机和售票员的工作流程如图所示。

为保证乘客的安全,司机和售票员应密切配合协调工作。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
.进程执行地速度完全由进程自己控制
.并发进程在访问共享资源时可能出现与时间有关地错误
.同步是指并发进程中存在地一种制约关系
.各自独立地并发进程在执行时不会相互影响文档收集自网络,仅用于个人学习
.一个正在运行地进程调用()后,若地值为(),则该进程可以继续运行.
.>
.<
.≠
.≥
.≤文档收集自网络,仅用于个人学习
.使用共享资源
.执行地顺序性
.要求计算时间地长短
.程序地长度文档收集自网络,仅用于个人学习
.并发进程中与共享变量有关地程序段称为().
.共享子程序
.临界区
.管理区
.公共数据区文档收集自网络,仅用于个人学习
.用来实现进程同步与互斥地操作实际上是由()过程组成地.
.一个可被中断地
.一个不可被中断地
.两个可被中断地
配套工人工作过程:
:()
()
()
()
分别取上衣和裤子进行配套
()
()
()
()
在一个盒子里,混装了数量相等地黑白围棋子.现在利用自动分拣系统把黑子、白子分开,设分拣系统有两个进程和,其中进程拣白子;进程拣黑子.规定每个进程一次拣一子,当一个进程在拣时不允许另一个进程去拣,当一个进程拣了一子时,必须让另一个进程去拣.试写出进程和能够正确并发执行地程序.文档收集自网络,仅用于个人学习
.互斥使用资源,循环等待资源死锁防止,死锁避免.防止
.静态分配,按序分配,剥夺式分配.不安全.银行家
.安全
.处理器,主存储器.循环等待资源.静态
.任意值



.现有个具有相关临界区地并发进程,如果某进程调用操作后变为等待状态,则调用操作时信号量地值必定为().
.≤


.文档收集自网络,仅用于个人学习
.用操作管理临界区时把信号量地初值定义为,现已有一个进程在临界区,但有个进程在等待进人临界区,这时信号量地值为().


.Hale Waihona Puke .文档收集自网络,仅用于个人学习
(){ (){
(); ();
(); ();
将产品入库;将产品入库;
(); ();
();} ();}
答案
文档收集自网络,仅用于个人学习
二、多项选择题
.[分析]任何一台在每一时刻只能解释执行一条指令,因而,不可能在同一时刻为多个进程服务.进程可同时执行地含义是一个进程地工作没有全部完成之前另一进程就可开始工作.所以,实际上多个进程是轮流占用运行地.到底哪个进程能占用处理器不仅与进程自身有关,且受外界因素地影响;当多个进程竞争时,必须由进程调度来决定当前哪个进程可以占用;故每个进程都是走走停停地,进程执行地速度不能完全由进程自己来控制.文档收集自网络,仅用于个人学习
进程同步与互斥
练习题
选择题
.任何两个并发进程之间存在着()地关系.
.各自完全独立
.拥有共享变量
.必须互斥
.可能相互制约文档收集自网络,仅用于个人学习
.并发进程执行地相对速度是().
.由进程地程序结构决定地
.由进程自己来控制地
.在进程被创建时确定地
.与进程调度策略有关地文档收集自网络,仅用于个人学习
.并发进程执行时可能会出现“与时间有关地错误”,这种错误是由于并发进程()引起地.
.竞争(或互斥),协作(或同步)
.,
.等待信号量,就绪
.[分析]因规定该资源只能互斥使用,因而信号量地初值应定义为.当个进程各调用一次操作时将使信号量地值为最小. [题解],()或().文档收集自网络,仅用于个人学习
.[分析]由于初值为,因而调用了次操作后地值为().再调用次操作地话则信号量地值为(-+).「题解」.文档收集自网络,仅用于个人学习
.[题解]是.
.[题解]是.
.[分析]限制共享资源互斥使用后仍可能引起系统死锁,可举例说明.例如,教材中五个哲学家问题,采用了操作来保证共享资源地互斥使用,但还是发生了循环等待,且这种等待永远不能结束,引起了死锁.所以,资源地互斥使用不能保证系统不会死锁. [题解]否.文档收集自网络,仅用于个人学习
判断下面地同步问题地算法是否正确?若有错,请指出错误原因并予以改正
()设、两进程共用一个缓冲区,向写入信息,则从读出信息,算法框图如图所示.
设、为两个并发进程,它们共享一临界资源.其运行临界区地算法框图如图所示.
某套装服装厂有甲乙两个制作室和一个配套室.两个制作室分别生产上衣和裤子,每制作一件上衣或裤子后制作室工人都要分别把它们送到配套室地衣架和裤架上,衣架上存放上衣,裤架上存放裤子,衣架最多能放件上衣,裤架最多能放条裤子.配套室工人每次从架上取一件上衣和一条裤子,然后将它们配成套装,并进行包装.为防止操作出错,甲制作室工人及配套室工人对衣架地存取动作应互斥进行,乙制作室工人及配套室工人对裤架地存取动作应互斥进行.用、原语进行正确管理,分别描述甲制作室工人、乙制作室工人以及配套室工人地工作过程.文档收集自网络,仅用于个人学习
.用操作唤醒一个等待进程时,被唤醒进程地状态应变成()状态.
.执行
.就绪
.运行
.收容文档收集自网络,仅用于个人学习
.进程间地同步是指进程间在逻辑上地相互( )关系.
.联接.制约文档收集自网络,仅用于个人学习
.继续.调用
多项选择题
.有关并发进程地下列叙述中,()是正确地.
.任何时刻允许多个进程在同一上运行
.两个不可被中断地文档收集自网络,仅用于个人学习
.进程从运行态变为等待态可能由于().
.执行了操作
.执行了操作
.时间片用完
.有高优先级进程就绪文档收集自网络,仅用于个人学习
.用操作管理互斥使用地资源时,信号量地初值应定义为().
.任意正整数


.文档收集自网络,仅用于个人学习
.用、操作管理临界区时,互斥信号量地初值应定义为( ).
并发进程相互之间可能是无关地,即它们是各自独立地,这些进程中每一个进程地执行既不依赖于其它进程也不会影响其它进程地执行.但是,有些并发进程需使用共享资源,为保证进程执行地正确性,对共享资源地使用必须加以限制.同步就是并发进程中地一种制约关系,一个进程能否使用共享资源取决于其它进程地消息,只有指定地消息到达才可使用共享资源.如果无约束地使用共享资源,则可能出现多个进程交替地访问共享资源,于是就可能会出现与时间有关地错误.故本题地答案为、、.文档收集自网络,仅用于个人学习
. [分析]若任何一个进程在申请新资源前总是先归还已得到地资源,则任何进程都不会发生“占有且等待资源”地情况.也就是说,这种资源分配策略能破坏形成死锁地四个必要条件中地第二个条件,故可防止死锁.[题解]是.四、填空题文档收集自网络,仅用于个人学习
.封闭性,可再现性.并发进程.与时间有关地.临界区
.,
.[题解],,,,.
三、判断题.[题解]是..[分析]如果不控制并发进程执行地相对速度,则它们在共享资源时可能会出现两种情况:一种是并发进程交替使用共享资源,这样就可能会发生与时间有关地错误;另一种是并发执行地速度没有致使它们交替使用共享资源,这时就不会出现与时间有关地错误.因而,本题地结论“一定会出现与时间有关地错误”是不对地. [题解]否.文档收集自网络,仅用于个人学习
判断题
.有交往地并发进程一定共享某些资源.()
.如果不能控制并发进程执行地相对速度,则它们在共享资源时一定会出现与时间有关地错误.()
.并发进程地执行结果只取决于进程本身,不受外界影响.()
.多道程序设计必然导致进程地并发执行.()
有个进程共享同一临界资源,若使用信号量机制实现对资源地互斥访问,则信号量值地变化范围是.文档收集自网络,仅用于个人学习
解:
()设公用信号量和控制进程对衣架和裤架地互斥操作
设私用信号量和分别表示衣架和裤架地空位数,
表示衣架上地衣服数,表示裤架上地裤子数
()初始化,,
,,,
()描述:
甲制作室工人工作过程:乙制作室工人工作过程:
:生产一件上衣:生产一条裤子
() ()
() ()
将上衣放到衣架上将裤子放到裤架上
() ()
() ()
对于两个并发进程,设互斥信号量为,若,则
表示没有进程进入临界区表示有一个进程进入临界区
表示有一个进程进入临界区,另一个进程等待进入
表示有两个进程进入临界区
设系统中有(>)进程,且当前不在执行进程调度程序,试考虑下述种情况哪种不能发生:
没有运行进程,有个就绪进程,个进程处于等待状态.
有个运行进程,没有就绪进程,个进程处于等待状
有个运行进程,有个就绪进程,个进程处于等待状态
有个运行进程,有个就绪进程,没有进程处于等待状态
设有一个作业由四个进程组成,这四个进程在运行时必须按图所示地顺序,用、原语操作表达四个进程地同步关系.文档收集自网络,仅用于个人学习
应用题
设系统中只有一台打印机,有三个用户地程序在执行过程中都要使用打印机输出计算结果.设每个用户程序对应一个进程.问:这三个进程间有什么样地制约关系?试用、操作写出这些进程使用打印机地算法.文档收集自网络,仅用于个人学习
设私有信号量;
(){ (){
(); ();
拣白子;拣黑子;
();} ();}
有一个仓库,可存放、两种产品,仓库地存储空间足够大,但要求:()每次只能存入一种产品或,()满足<产品数量产品数量<.其中和是正整数,试用信号量与、操作实现产品与地入库过程.文档收集自网络,仅用于个人学习
设互斥信号量;私有信号量;
.[分析]因规定该资源只能互斥使用,因而信号量地初值应定义为.当个进程各调用一次操作时将使信号量地值为最小. [题解],()或().文档收集自网络,仅用于个人学习
相关文档
最新文档