操作系统第三讲进程通信习题课

合集下载

操作系统第3章习题带答案

操作系统第3章习题带答案

第三章一、问答题1、用户级线程与内核级线程的区别是什么?2、PCB中包含哪些信息?进程状态属于哪类信息?3、什么是操作系统的内核?4、简述时间片轮转调度算法的基本思想。

5、某系统采用时间片轮转调度算法的处理机调度算法,某个时刻根据用户要求创建了一个进程P,进程P在其存在过程中依次经历了:进程调度选中了进程P 占用处理机运行,进程P运行中提出资源申请,要求增加内存使用量,没有得到;进程等待一段时间后得到内存;进程调度再次选中了进程P占用处理机运行;进程P的时间片到;一段时间后,进程P再次占用处理机;有紧急进程Q进入,系统停止进程P的运行,将处理机分配进程Q;进程Q运行完,进程调度再次选中了进程P占用处理机运行;进程P运行完。

请分析进程P在其整个生命过程中的状态变化。

进程调度选中了进程P占用处理机运行(就绪→运行),进程P运行中提出资源申请,要求增加内存使用量,没有得到(运行→阻塞);进程等待一段时间后得到内存(阻塞→就绪);进程调度再次选中了进程P占用处理机运行(就绪→运行);进程P的时间片到(运行→就绪);一段时间后,进程P再次占用处理机(就绪→运行);有紧急进程Q进入,系统停止进程P的运行,将处理机分配进程Q(运行→就绪);进程Q运行完,进程调度再次选中了进程P占用处理机运行(就绪→运行);进程P运行完。

请分析进程P在其整个生命过程中的状态变化。

6、试比较进程与程序的异同。

7、引起创建进程的事件通常有哪些?简述进程的创建过程。

8、简述进程的阻塞过程。

911、简述操作系统的三级调度。

12、为什么要了解进程间的家族关系?因为父进程和子进程之间是隶属关系,子进程可以继承使用父进程的资源;如果父进程被撤销,还应撤销其所有的子孙进程。

13、什么是进程?。

14、试比较进程和线程的区别。

15、简述进程的基本状态,画出其状态转换图。

二、计算题1、若程序Pa,Pb和Pc单独执行时间分别Ta,Tb和Tc,Ta=1小时,Tb=1.5小时,Tc=2小时,其中处理机工作时间分别为Ta=10分钟,Tb=15分钟,Tc=35分钟。

操作系统进程部分的习题.docx

操作系统进程部分的习题.docx

进程部分的习题1.在公共汽车上,司机进程和售票员进程各司其职。

司机在正常行车中售票员售票,两者之间没有制约关系,可以任意并发。

但是在其他环节,司机和售票员进程之间存在着如下同步关系:1)司机停车后等待售票员关门后才能启动车辆。

2)售票员售完票后,等待司机到站停车,停车后才能打开车门。

var door,stop:semaphore:=0,0;beginparbegin司机进程:beginwhile(true) {wait (door);〃等待售票员发送关门信息启动车辆;正常行车;到站停车;signal (stop) ;//给售票员发送到站信息}end;售票员进程:beginwhile(true) {关车门;signal (door) ;//给司机发送关门信息售票;wait (stop) ;//等待司机发送到站信息开车门;上下乘客;}end;parend;end.2.某寺庙,有小和尚,老和尚若干。

有一水缸,由小和尚提水入缸供老和尚饮用。

水缸可容10桶水,水取自同一井中。

水井径窄,每次中能容下一个桶取水。

水桶总数为3个。

每人一次取缸水仅为1桶,且不可同时进行。

试用记录型信号量给出有关取水、入水的算法描述。

根据题意,定义信号量及其初值如下:(1)水桶为临界资源需互斥使用,定义信号量bucket,因有3个桶,故初值为3;(2)水井一次只能允许下一个桶取水,定义互斥信号量well,初值为1;(3)水缸一次只能允许一个人取水,定义互斥信号量jar,初始值为1;(4)empty和full用于小和尚和老和尚之间的•同步制约关系。

因为缸能存10桶水,所以empty初始值为10;开始时缸中没有水,full的初始值为0。

semaphore bucket二3,jar=l,full二0,empty二10,well二1;young_monk() { /*小和尚入水算法*/wh订e(l) {wait(empty);wait (bucket);wait (well);从水井中打水;signal(well);wait (jar);倒入水缸;signal (jar);signal (bucket);signal (full);)}old_monk() { /*老和尚取水算法*/wh i1e (1) {wait(full);wait (bucket);wait (jar);从缸中取水;signal (jar);signal (bucket);signal (empty);从桶中倒入饮用;}}3.设有3个进程A、B、C,其中A与B构成一对生产者与消费者(A为生产者,B为消费者), 共享一个由n个缓冲区组成的缓冲池;B与C也构成一对生产者与消费者(此时B为生产者, C为消费者),共享另一个由m个缓冲区组成的缓冲池。

(完整版)第三章进程同步与通信作业习题与答案

(完整版)第三章进程同步与通信作业习题与答案

第三章一.选择题(50题)1.以下_B__操作系统中的技术是用来解决进程同步的。

A.管道B.管程C.通道D.DMA2.以下_B__不是操作系统的进程通信手段。

A.管道B.原语C.套接字D.文件映射3.如果有3个进程共享同一程序段,而且每次最多允许两个进程进入该程序段,则信号量的初值应设置为_B__。

A.3B.2C.1D.04.设有4个进程共享一个资源,如果每次只允许一个进程使用该资源,则用P、V 操作管理时信号量S的可能取值是_C__。

A.3,2,1,0,-1B.2,1,0,-1,-2C. 1,0,-1,-2,-3D.4,3,2,1,05.下面有关进程的描述,是正确的__A__。

A.进程执行的相对速度不能由进程自己来控制B.进程利用信号量的P、V 操作可以交换大量的信息C.并发进程在访问共享资源时,不可能出现与时间有关的错误D.P、V操作不是原语操作6.信号灯可以用来实现进程之间的_B__。

A.调度B.同步与互斥C.同步D.互斥7.对于两个并发进程都想进入临界区,设互斥信号量为S,若某时S=0,表示_B_ _。

A.没有进程进入临界区B.有1个进程进入了临界区C. 有2个进程进入了临界区D. 有1个进程进入了临界区并且另一个进程正等待进入8. 信箱通信是一种_B__方式A.直接通信B.间接通信C.低级通信D.信号量9.以下关于临界区的说法,是正确的_C__。

A.对于临界区,最重要的是判断哪个进程先进入B.若进程A已进入临界区,而进程B的优先级高于进程A,则进程B可以打断进程A而自己进入临界区C. 信号量的初值非负,在其上只能做PV操作D.两个互斥进程在临界区内,对共享变量的操作是相同的10. 并发是指_C__。

A.可平行执行的进程B.可先后执行的进程C.可同时执行的进程D.不可中断的进程11. 临界区是_C__。

A.一个缓冲区B.一段数据区C.一段程序D.栈12.进程在处理机上执行,它们的关系是_C__。

操作系统第3章进程调度习题

操作系统第3章进程调度习题

第3章进程调度习题【例】在三种基本类型的操作系统中,都设置了进程调度,在批处理系统中还应设置( )调度【答案】AA 作业B 进程C 中级D 多处理机【例】下列算法中,()只能采用非抢占调度方式【解答】CA 高优先权法B 时间片轮转法C FCFS调度算法D 短作业优先算法【例】最适合分时系统的进程调度算法是()【解答】DA FCFSB SSJFC 优先数法D 轮转法【例】进程调度是从()选择一个进程投入运行。

【解答】AA 就绪队列B 等待队列C 作业后备队列D 提交队列【例】进程调度主要负责()【解答】BA 选作业进入内存B 选一进程占有CPUC 建立一进程D 撤销一进程【例】“可抢占”和“不可抢占”的优先级调度算法相比()【解答】BA 前者开销小B 前者开销大C 两者开销大致相同D 两者开销不能相比【解析】因为“可抢占”优先级调度时钟保证在处理机上运行的是优先级最高的进程,这样,当处理机正在运行某个进程时,很可能会被其他优先级更高的进程抢占引起处理机调度,和不可抢占算法相比,前者的调度次数会更频繁,而每调度一次都会引起保护现场,恢复现场的工作,所以可抢占的优先级调度算法开销更大。

【例】()优先权是在创建进程时确定的,确定之后在整个进程运行期间不再改变A 先来先服务B 静态C 动态D 短作业【答案】B【例】若进程P一旦被唤醒就能够投入运行,系统可能为( )A 分时系统,进程P的优先级最高B 抢占调度方式,就绪队列上的所有进程的优先级皆比P的低C 就绪队列为空队列D 抢占调度方式,P的优先级高于当前运行的进程【分析】1 在分析系统中,进程调度是按照轮转方式进行的。

系统并不登记进程的优先级2 在抢占调度方式中,P的优先级高于就绪队列上的所有进程,但不一定高于当前的运行进程,所以也不一定能立即运行3 无论哪种调度方式,若就绪队列为空队列,P被唤醒并插入后都会成为该队列的唯一进程,但这并不是说P可以立即获得处理机。

操作系统第三讲进程通信习题课教学资料

操作系统第三讲进程通信习题课教学资料
❖ 【例3.17】己知一个求值公式(A2+3B)/(B+ 5A),若A. B已赋值,试画出该公式求值过程的前 驱图。
解:在本题公式的求值过程中,有些运算分 量的计算是可以并发进行的。为了描述方便起 见,我们设置了一些变量保存中间计算结果, 并为每条语句命名,如图2.6所示。其求值过 程的前驱图如图2.7所示。
C.管程外过程调用管程内数据结构的说明
D.对局部于管程的数据结构设置初始值的语 句
解:管程由局部于管程的共享变量说明、对管 程内数据结构进行操作的一组过程以及对局 部于管程的数据设置初始值的语句组成,故 本题答案为C。
❖ 【例3.9】对于两个并发进程,设互斥信号 量为mutex,若mutex=0,则__________。
❖ 【例3.18★】设有一个作业由四个进程组 成,这四个进程在运行时必须按下图的次 序,试用P, V操作表达四个进程的同步关 系。
T1
T2
T3
T4 四个进程的运行次序
❖ 解:图中说明作业启动后进程T1先执行。当 进程T1结束后,进程T2, T3可以开始执行。 进程T2, T3完成后,T4才能开始执行。为了 确 保 这 一 执 行 顺 序 , 设 三 个 同 步 信 号 量 b2, b3, b4分别表示进程T2, T3, T4是否可以开始 执行,其初值均为0。这四个进程的同步描 述如下:
操作系统第三讲进程通信习题课
第三讲 习题课
❖ 【例3.3】★若信号量S的初值为2,当前值 为-1,则表示有__________等待进程。
A. 0个
B. 1个
C. 2个
D. 3个
解:当信号量值小于0时,其绝对值表示系 统中因请求该类资源而被阻塞的进程数目, 故本题答案为B。
❖ 【例3.4பைடு நூலகம்进程从运行态到阻塞态不可能是 由于现运行进程( )。

进程间通信例题

进程间通信例题

// 进程P6 Void P6() { down(s26); down(s36); }
// 进程P8 Void P4() { down(s38); down(s78); }
例3. 有一个仓库,可以存放A和B两种产品,仓库的容量如走大。但要
求: (1) 每次只能放入一种产品(A或B) (2) –N<A产品数量-B产品数量<M 其中,N和M是正整数。试用信号量描述“存放A”,“存放B”两种入 库过程。 分析: 1. 从条件(1)得知,入库过程为互斥过程,定义信号量mutex来控制; 2. 通过条件(2)得知,仓库中A和B两种产品的入库量应该符合如下 两个条件的“与”关系: -N<A产品数量-B产品数量 存放的A产品不能比B产品少N个,即: B产品数量- A产品数量 > N B产品数量-A产品数量>= N-1 同理: A产品数量-B产品数量<=M-1. 以上约束条件可理解为:A产品数量不能比B产品少N个,且不能比 B产品多M个。 3. 因此设置两个信号量:Sa和Sb,初始值分别为:Sa=M-1, Sb=N-1。
typedef int Semaphore; Semaphore Sa, Sb; Sa=M-1; Sb=N-1; void store() { while(true){ produce x; If( x is type of A) then { down(Sa); down(mutex); 存放A; up(Sb); up(mutex); } } } If( x is type of B) then { down(Sb); down(mutex); 存放B; up(Sa); up(mutex); }
例1. 有4个进程A、B、C、D, 进程A通过一个缓冲区不断向进程B、C、

操作系统课后习题答案 3 进程同步与通信

操作系统课后习题答案 3 进程同步与通信

习题 3 进程同步与通信一、选择题题号1 2 3 4 5 6 7 8 9 10答案A D D C B C A B A A题号11 12答案D C二、综合题1、答:临界资源也称独占资源、互斥资源,它是指某段时间内只充许一个进程使用的资源。

比如打印机等硬件资源,以及只能互斥使用的变量、表格、队列等软件资源。

各个进程中访问临界资源的、必须互斥执行的程序代码段称为临界区,各进程中访问同一临界资源的程序代码段必须互斥执行。

为防止两个进程同时进入临界区,可采用软件解决方法或同步机构来协调它们。

但是,不论是软件算法还是同步机构都应遵循下述准则:①空闲让进。

②忙则等待。

③有限等待。

④让权等待。

2、答:忙等待意味着一个进程正在等待满足一个没有闲置处理器的严格循环的条件。

因为只有一个CPU 为多个进程服务,因此这种等待浪费了CPU 的时钟。

其他类型的等待:与忙等待需要占用处理器不同,另外一种等待则允许放弃处理器。

如进程阻塞自己并且等待在合适的时间被唤醒。

忙等可以采用更为有效的办法来避免。

例如:执行请求(类似于中断)机制以及PV 信号量机制,均可避免“忙等待”现象的发生。

3、答:在生产者—消费者问题中,Producer 进程中P(empty)和P(mutex)互换先后次序。

先执行P(mutex),假设成功,生产者进程获得对缓冲区的访问权,但如果此时缓冲池已满,没有空缓冲区可供其使用,后续的P(empty)原语没有通过,Producer 阻塞在信号量empty 上,而此时mutex 已被改为0,没有恢复成初值1。

切换到消费者进程后,Consumer 进程执行P(full)成功,但其执行P(mutex)时由于Producer 正在访问缓冲区,所以不成功,阻塞在信号量mutex 上。

生产者进程和消费者进程两者均无法继续执行,相互等待对方释放资源,会产生死锁。

在生产者和消费者进程中,V 操作的次序无关紧要,不会出现死锁现象。

第3章课后习题+进程同步与通信

第3章课后习题+进程同步与通信

售票大厅可容纳200
人购票,说明最多允 许200人共享售票大 厅,用信号量empty 表示,初值为200;
售票员一次只能为一 个购票者服务,说明 必须互斥地进行购票 ,用信号量mutex表 示,初值为1。
5. 进程之间的关系如图3-16所示,试用P、V操作描 述它们之间的同步。
A
S2 C
S1 B
S4 F D
答:同步关系;因为一个工序必须在前一个工序完成后才能开始, 他们必须相互协作才能使进程圆满完成。
(4)商品的入库出库。
答:同步关系;因为商品出库可以为入库提供空间。
(5)工人做工与农民种粮。
答:没有制约关系。
4. 设有一个售票大厅,可容纳200人购票。如果厅 内不足200人则允许进入,超过则在厅外等候; 售票员某时只能给一个购票者服务,购票者买完 票后就离开。试问:
(1)购票者之间是同步关系还是互斥关系?
答:互斥关系。只能有一个人获得售票员的服务。
(2)用P、V操作描述购票者的工作过程。
semaphore empty=200; semaphore mutex=1;
void buyer() { P(empty);
P(mutex); 买票; V(mutex); V(empty); }
wait(mutexB); if (countB==0) wait(mutex);
countB++; signal(mutexB);
过桥;
wait(mutexB); countB--;
if (countB==0) signal(mutex); signal(mutexB); }
S3
S5
E
S6 G
semaphore A,B,C,D,E,F,G=0,0,0,0,0,0,0; P1( ){S1;V(A);V(B);} P2( ){P(A);S2;V(C);} P3( ){P(B);S3;V(D);V(E);} P4( ){P(D);S4;V(F);} P5( ){P(E);S5;V(G);} P6( ){P(C);P(F);P(G);S6;}

操作系统-徐甲同 2版 习题答案 第三章进程-死锁

操作系统-徐甲同 2版 习题答案 第三章进程-死锁
缺点:必须事先知道进程所需所有资源;资源得不到充分利用; 3.15 进程需获得所有资源后才可运行,导致进程会延迟运行。
计算机操作系统
第三章 进程管理
3.破坏“循环等待”条件 采用资源有序/顺序分配法: 把系统中所有资源编 号, 进程在申请资源时必须严格按资源编号的递增次 序进行,否则操作系统不予分配。打破环。 例如:1,2,3,…,10
计算机操作系统
第三章 进程管理
R1
A
B
此列子表明; 进程竞争资源有可能死锁。 但不一定就会死锁,这取决于各 进程的推进速度和对资源的请求 顺序。 死锁是一种与时间有关的错误。 进程竞争的资源应是互斥
R2
进程死锁例1的环路表示
3.4
计算机操作系统
第三章 进程管理
A r1
死锁的举例 例2:
进 程 A A r2 A r3 A r4 B r1 进 程 B B r2 B r3 B r4 请求 读卡 机请 求打 印机 释放 打卡 机 释放 读卡 机 读卡 机 请求 打印 机 请求 读卡 机 释放 打印 机 释放 读卡 机 打印 机
4、 Ar1 Br1 Ar2 Br2 Ar3 Ar4 Br3 Br4
3.6
计算机操作系统
第三章 进程管理
二、产生死锁的四个必要条件
1) 互斥条件(资源独占): 一个资源每次只能给一个进程使用 2) 不可剥夺条件(不可强占): 资源申请者不能强行的从资源占有者手中夺取资 源, 资源只能由占有者自愿释放 3) 请求和保持条件: (部分分配,占有申请) 在申请新的资源的同时保持对原有资源的占有。 4) 循环等待条件: 存在一个进程-等待资源环形链 {P1 , P2 , … , Pn}, 其中P1等待P2占有的资源, P2等待P3占有的资源, …, Pn等待P1占有的资源。

操作系统第三章进程通信

操作系统第三章进程通信

操作系统第三章进程通信1. 1临界区是指( )。

[单选题] *A、并发进程中用于实现进程互斥的程序段B、并发进程中用于实现进程同步的程序段C、并发进程中用户实现进程通信的程序段D、并发进程中与共享变量有关的程序段(正确答案)2. 2相关临界区是指( )。

[单选题] *A、一个独占资源B、并发进程中与共享变量有关的程序段C、一个共享资源D、并发进程中涉及相同变量的那些程序段(正确答案)3. 3管理若干进程共享某一资源的相关临界区应满足三个要求,其中( )不考虑。

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

[单选题] *A、共享变量B、锁C、整型信号量(正确答案)D、记录型信号量5. 5对于整型信号量,在执行一次P操作时,信号量的值应( )。

[单选题] *A、不变B、加1C、减1(正确答案)D、减指定数值6. 6在执行v操作时,当信号量的值( )时,应释放一个等待该信号量的进程。

[单选题] *A、>0B、<0C、>=0D、<=0(正确答案)7. 7 [单选题] *Pv操作必须在屏蔽中断下执行,这种不可被中断的过程称为( )。

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

[单选题] *A、竞争与协作(正确答案)B、相互独立与相互制约C、不同状态D、动态性与并发性9. 9在进程通信中,( )常用信件交换信息。

[单选题] *A、低级通信B、高级通信(正确答案)C、消息通信D、管道通信10. 在间接通信时,用send(N,M)原语发送信件,其中N表示( )。

[单选题] *A发送信件的进程名B接收信件的进程名C信箱名(正确答案)D信件内容11. 11下列对线程的描述中,( )是错误的。

操作系统第三讲进程通信习题课

操作系统第三讲进程通信习题课

❖ 【例3.18★】设有一个作业由四个进程组 成,这四个进程在运行时必须按下图的次 序,试用P, V操作表达四个进程的同步关 系。
T1
T2
T3
T4 四个进程的运行次序
❖ 解:图中说明作业启动后进程T1先执行。当 进程T1结束后,进程T2, T3可以开始执行。 进程T2, T3完成后,T4才能开始执行。为了 确 保 这 一 执 行 顺 序 , 设 三 个 同 步 信 号 量 b2, b3, b4分别表示进程T2, T3, T4是否可以开始 执行,其初值均为0。这四个进程的同步描 述如下:
❖ 【例2.13】进程间的高级通信机制可归纳为 3 大 类 , 分 别 是 ________ , ________ 和 ________。
❖ 解:进程间的高级通信机制可归纳为3大类: 共享存储器系统、消息传递系统和管道通信。
❖ [例2.14]在多道程序系统中,进程之间存在着 的不同制约关系可以划分为两类: __________与__________。__________指 进程间具有的一定逻辑关系;__________是 指进程间在使用共享资源方面的约束关系。
B.进程同步
C.进程通信
D.进程制约
❖ 解:进程间交换数据即进程通信。故本题 答案为C.
❖ 【例3.6】★临界区是__________。
A.一个缓冲区
B.一段共享数据区
C.一段程序
D.一个互斥资源
解:进程中访问临界资源的那段代码称为临 界区,故本题答案为C.
❖ 【例3.7】下列描述不正确的是( )。 A. P操作和V操作是对信号量实施的操作 B.并发进程在访问共享资源时可能出现与 时间相关的错误
❖ 【例3.17】己知一个求值公式(A2+3B)/(B+ 5A),若A. B已赋值,试画出该公式求值过程的前 驱图。

操作系统--习题课2-1-第三章

操作系统--习题课2-1-第三章

进程管理(处理机调度与死锁)习题课1 处理机调度温馨提示:本考点考查处理机调度的基本概念、准则和进程(作业)调度算法。

请同学们掌握常见的进程调度算法的特点,并能够利用这些进程调度算法求作业的执行情况、周转时间和平均周转时间。

1.下列进程调度算法中,综合考虑进程等待时间和执行时间的是()。

A.时间片轮转调度算法B.短进程优先调度算法C.先来先服务调度算法D.高响应比优先调度算法【2009年统考——第24题】【考查内容】高响应比优先调度算法的特点。

【解析】高响应比优先算法的响应比=(等待时间+运行时间)/运行时间=1+等待时间/运行时间。

该算法综合考虑了进程的等待时间和执行时间。

故而,本题选择D答案。

【参考答案】D2.下列选项中,满足短任务优先且不会发生饥饿现象的调度算法是()。

A.先来先服务B.高响应比优先C.时间片轮转D.非抢占式短任务优先【2011年统考——第23题】【考查内容】高响应比优先算法的特点。

【解析】先来先服务有利于短作业,不利于长作业,但是不是短作业优先。

时间片轮转算法不是短作业优先,而是每一个就绪队列的进程依次轮流执行一个时间片。

对于非抢占式短作业优先算法,有利于短作业,但不利于长作业,可能会产生“饥饿”现象。

高响应比优先是先来先服务算法和短作业优先算法的一种综合平衡。

该算法满足短作业优先,长作业在等待时间长了之后,优先级会增大,最终会获得被调度的机会,不会发生“饥饿”现象。

故而,本题选择B答案。

【参考答案】B3.操作系统中调度算法是核心算法之一,下列关于调度算法的论述中正确的是()。

A.先来先服务调度算法对即对长作业有利也对段作业有利B.时间片轮转调度算法只对长作业有利C.实时调度算法也要考虑作业的长短问题D.高相应比者优先调度算法既有利于短作业又兼顾长作业【2014年——南京航空航天大学】【考查内容】进程(作业)调度算法。

【解析】本题是一个总结题,我们总结如下:(1).短作业优先算法有利于短作业而不利于长作业。

操作系统第3章(进程的同步与通信习题与解答)

操作系统第3章(进程的同步与通信习题与解答)

第3章进程的同步与通信习题与解答3.2 例题解析例3.2.1 多道程序系统程序的执行失去了封闭性和再现性,因此多道程序的执行不需要这些特性,这种说法是否正确?解这种说法不正确。

可以想象,如果一个程序在多道程序系统中,在相同的输入的情况下,多次执行所得结果是不同的,有谁还敢使用这个程序?因此,多道程序的执行也需要封闭性和再现性,只不过单道程序系统的封闭性和再现性是先天固有的,多道程序系统的程序执行要想获得封闭性和再现性,需通过程序员的精心设计才能得到。

所使用的方法就是同步和互斥的方法。

例3.2.2 多个进程对信号量S进行了5次 P操作,2次V操作后,现在信号量的值是 -3,与信号量S相关的处于阻塞状态的进程有几个?信号量的初值是多少?解(1) 因为S的当前值是-3,因此因为S处于阻塞状态的进程有3个;(2) 因为每进行一次P(S)操作,S的值都减1,每执行1次V操作S的值加1,故信号量的初值为-3+5-2=0;例3.2.3 如下锁的实现方法存在什么缺点?如何改进?LOCK(X) UNLOCK(X){ {do while X=1 ; X=0;X=1} }解存在的缺点是:当锁是关闭时,采用的是循环等待的方法,这样的等待还是要占用处理机的时间,应该采用阻塞等待的方法。

改进的锁实现如下:LOCK(X) UNLOCK(X){ {if X.value=1 if not empty(X.L) { insert( *, X.L); { P=remove(X.L);Block (*) Wakeup(P) } }else X.Value=1 else X.Value=0} }这里X.value是锁的值,X.L是存放由于锁X而阻塞的进程的队列。

insert( *, X.L)将当前进程的进程号插入到X.L,remove(X.L)是从X.L中移出一个进程号。

例3.2.4 使用多个进程计算Y=F1(X)+F2 (X).解(1) 确定并发和顺序操作在这个问题中,F1(X)和F2 (X)的计算是可以并行处理的,因此F1(X)和F2 (X)可以分别出现在两个进程中。

操作系统进程部分的习题

操作系统进程部分的习题

进程部分的习题1. 在公共汽车上,司机进程和售票员进程各司其职。

司机在正常行车中售票员售票,两者之间没有制约关系,可以任意并发。

但是在其他环节,司机和售票员进程之间存在着如下同步关系:1)司机停车后等待售票员关门后才能启动车辆。

2)售票员售完票后,等待司机到站停车,停车后才能打开车门。

var door,stop:semaphore:=0,0beginparbegin司机进程:beginwhile(true){wait(door); //等待售票员发送关门信息启动车辆;正常行车;到站停车;signal(stop);//给售票员发送到站信息}end;售票员进程:beginwhile(true){关车门;signal(door); //给司机发送关门信息售票;wait(stop);//等待司机发送到站信息开车门;上下乘客;}endparendend.2.某寺庙,有小和尚,老和尚若干。

有一水缸,由小和尚提水入缸供老和尚饮用。

水缸可容10桶水,水取自同一井中。

水井径窄,每次中能容下一个桶取水。

水桶总数为3个。

每人一次取缸水仅为1桶,且不可同时进行。

试用记录型信号量给出有关取水、入水的算法描述。

根据题意,定义信号量及其初值如下:(1)水桶为临界资源需互斥使用,定义信号量bucket,因有3个桶,故初值为3;(2)水井一次只能允许下一个桶取水,定义互斥信号量well,初值为1;(3)水缸一次只能允许一个人取水,定义互斥信号量jar,初始值为1;(4)empty和full用于小和尚和老和尚之间的同步制约关系。

因为缸能存10桶水,所以empty初始值为10;开始时缸中没有水,full的初始值为0。

semaphore bucket=3,jar=1,full=0,empty=10,well=1; young_monk(){ /*小和尚入水算法*/while(1){wait(empty);wait (bucket);wait (well);从水井中打水;signal(well);wait (jar);倒入水缸;signal (jar);signal (bucket);signal (full);}}old_monk(){ /*老和尚取水算法*/while(1){wait(full);wait (bucket);wait (jar);从缸中取水;signal (jar);signal (bucket);signal (empty);从桶中倒入饮用;}}3.设有3个进程A、B、C,其中A与B构成一对生产者与消费者(A为生产者,B为消费者),共享一个由n个缓冲区组成的缓冲池;B与C也构成一对生产者与消费者(此时B为生产者,C为消费者),共享另一个由m个缓冲区组成的缓冲池。

现代操作系统课后答案

现代操作系统课后答案

现代操作系统课后答案【篇一:现代操作系统习题答案】>(汤小丹编电子工业出版社2008.4)第1章操作系统引论习题及答案1.11 os有哪几大特征?其最基本的特征是什么?答:并发、共享、虚拟和异步四个基本特征,其中最基本的特征是并发和共享。

1.15 处理机管理有哪些主要功能?其主要任务是什么?答案略,见p17。

1.22 (1)微内核操作系统具有哪些优点?它为何能有这些优点?(2)现代操作系统较之传统操作系统又增加了哪些功能和特征?第2章进程的描述与控制习题及答案略第3章进程的同步与通信习题及答案3.9 在生产者-消费者问题中,如果缺少了signal(full)或signal(empty),对执行结果将会有何影响?答:资源信号量full表示缓冲区中被占用存储单元的数目,其初值为0,资源信号量empty表示缓冲区中空存储单元的数目,其初值为n,signal(full)在生产者进程中,如果在生产者进程中缺少了signal(full),致使消费者进程一直阻塞等待而无法消费由生产者进程生产的数据;signal(empty)在消费者进程中,如果在消费者进程中缺少了signal(empty),致使生产者进程一直阻塞等待而无法将生产的数据放入缓冲区。

3.13 试利用记录型信号量写出一个不会出现死锁的哲学家进餐问题的算法。

答:参考答案一:至多只允许有四位哲学家同时去拿左边的筷子,最终能保证至少有一位哲学家能够进餐,并在用毕时能释放出他用过的两支筷子,从而使更多的哲学家能够进餐。

采用此方案的算法如下:var chopstick:array[0,…,4] of semaphore :=1;room:semphore:=4;repeatwait(room);wait(chopstick[i]);wait(chopstick[(i+1) mod 5]);…eat;…signal(chopstick[i]);signal(chopstick[(i+1) mod 5);signal(room);…think;until false;第4章处理机调度与死锁习题及答案4.1 高级调度与低级调度的主要任务是什么?为什么要引入中级调度?答:略,见p73。

操作系统第三讲进程通信习题课共28页PPT

操作系统第三讲进程通信习题课共28页PPT


26、要使整个人生都过得舒适、愉快,这是不可能的,因为人类必须具备一种能应付逆境的态度。——卢梭

27、只有把抱怨环境的心情,化为上进的力量,才是成功的保证。——罗曼·罗兰

28、知之者不如好之者,好之者不如乐之者。——孔子

29、勇猛、大胆和坚定的决心能够抵得上武器的精良。——达·芬奇

30、意志是一个强壮的盲人,倚靠在明眼的跛子肩上。——叔本华
谢谢!
28
操作系统第三讲进程通信ห้องสมุดไป่ตู้题课
11、获得的成功越大,就越令人高兴 。野心 是使人 勤奋的 原因, 节制使 人枯萎 。 12、不问收获,只问耕耘。如同种树 ,先有 根茎, 再有枝 叶,尔 后花实 ,好好 劳动, 不要想 太多, 那样只 会使人 胆孝懒 惰,因 为不实 践,甚 至不接 触社会 ,难道 你是野 人。(名 言网) 13、不怕,不悔(虽然只有四个字,但 常看常 新。 14、我在心里默默地为每一个人祝福 。我爱 自己, 我用清 洁与节 制来珍 惜我的 身体, 我用智 慧和知 识充实 我的头 脑。 15、这世上的一切都借希望而完成。 农夫不 会播下 一粒玉 米,如 果他不 曾希望 它长成 种籽; 单身汉 不会娶 妻,如 果他不 曾希望 有小孩 ;商人 或手艺 人不会 工作, 如果他 不曾希 望因此 而有收 益。-- 马钉路 德。

操作系统进程通信练习及答案

操作系统进程通信练习及答案

进程同步与通信练习题(一)单项选择题1.临界区是指(D)。

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

A.一个独占资源 B.并发进程中与共享变量有关的程序段 c.一个共享资源 D.并发进程中涉及相同变量的那些程序段3.管理若干进程共享某一资源的相关临界区应满足三个要求,其中(A)不考虑。

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

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

A.不变 B.加1 C减1 D.减指定数值6.在执行v操作时,当信号量的值(D )时,应释放一个等待该信号量的进程。

A>0 B.<0 c.>=0 D.<=0 这道题目问的是:使用v操作之前的情况。

即,若S信号量的值大于0则释放一个等待该信号量的进程,所以S的值小于等于0的时候才需要通过V操作实现释放一个等待该信号量的进程7.Pv操作必须在屏蔽中断下执行,这种不可变中断的过程称为(B)。

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

A.竞争(互斥时竞争资源)与协作(同步时共同完成一个任务) B.相互独立与相互制约 c.不同状态 D.动态性与并发性9并发进程在访问共享资源时的基本关系为(B)。

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

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

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第三讲

习题课
【例3.3】★若信号量S的初值为2,当前值 为-1,则表示有__________等待进程。 A. 0个 B. 1个 C. 2个 D. 3个 解:当信号量值小于0时,其绝对值表示系 统中因请求该类资源而被阻塞的进程数目, 故本题答案为B。
【例3.4】进程从运行态到阻塞态不可能是 由于现运行进程( )。 A.出现缺页中断 B.发生越界中断 C.申请磁带读/写 D.执行了V操作 解:处于运行的进程由于A、B、C事件的 发生都可能变为阻塞状态。故本题答案为 D.

第三讲
二、填空题

习题课
【例3.11】临界资源的概念是________, 而临界区是指________。 解:临界资源是指多个进程必须互斥访问 的资源。临界区是指进程中访问临界资源的 那部分代码。
【例2.12】★如果信号量的当前值为-4,则 表示系统中在该信号量上有__________个 等待进程。 解:当信号量值小于0时,其绝对值表示系 统中因请求该类资源而被阻塞的进程数目。 故本题答案为:4。
PA 缓冲区1 PB 缓冲区2 复制 PC
从磁盘读入
打印
例题解答
【例3.21】★某自选商场最多能同时容纳100人 购物,出入口每次只允许一人通过。同时出入 口放有100个篮子,供购物者使用,要求购物 者进入商场时带一只篮子,出来时结账并归还 篮子。为了使商场正常运行,用PV操作写出 进 购物者购物流程。 取


【例3.18★】设有一个作业由四个进程组 成,这四个进程在运行时必须按下图的次 序,试用P, V操作表达四个进程的同步关 系。
T1
T2
T3
T4 四个进程的运行次序

解:图中说明作业启动后进程T1先执行。当 进程T1结束后,进程T2, T3可以开始执行。 进程T2, T3完成后,T4才能开始执行。为了 确保这一执行顺序,设三个同步信号量b2, b3, b4分别表示进程T2, T3, T4是否可以开始 执行,其初值均为0。这四个进程的同步描 述如下: semaphore b2=0;/*表示进程T2是否可 以开始执行 semaphore b3=0;/*表示进程T3是否可 以开始执行 semaphore b4=0;/*表示进程T4是否可 以开始执行
【例3.19】★写出P,V操作的含义。 解:P, V操作是两条原语,它们的定义如 下: P操作。P操作记为P(S),其中S为一信号量, 它执行时主要完成下述动作: (1)S=S-1; (2)若S≥0,则进程继续运行; (3)若S<0,则该进程被阻塞,并将它 插入该信号量的等待队列中。



【例3.10】设有4个进程,进程P1和P2共享变 量SA,进程P3和P4共享变量SB,在()种情 况下会出现与时间有关的错误。 A.进程P2正在访问SA,同时进程P4访问SB B.进程P1正在访问SA,同时进程P3访问SB C.进程P1正在访问SA,同时进程P4访问SB D.进程P1正在访问SA,同时进程P2访问SA 解:共享变量必须互斥使用,因P1和P2共享SA, 因此P1和P2不能同时访问SA。故本题答案为D。

【例3.9】对于两个并发进程,设互斥信号 量为mutex,若mutex=0,则__________。 A.表示没有进程进入临界区 B.表示有一个进程进入临界区 C.表示有一个进程进入临界区,另一个进 程等待进入 D.表示有两个进程进入临界区 解:互斥信号量mutex的初值为1,有一个进程 进入临界区时,mutex的值为0,有一个进程 进入临界区且另一个进程等待时,mutex的 值为-1,故本题答案为B。

【例2.15】信号量的物理意义是当信号量值 大于0时表示_________;当信号量值小于0 时,其绝对值为________。 解:当信号量值大于0时,表示系统中当前 可用资源的数目;当信号量值小于0时,其绝 对值表示系统中因请求该类资源而被阻塞的 进程数目。故本题答案为:① 可用资源的数 目 ② 因请求该资源而被阻塞的进程数目。

【例3.8】下述哪个选项不是管程的组成部 分____________。 A.局部于管程的共享数据结构 B.对管程内数据结构进行操作的一组过程 C.管程外过程调用管程内数据结构的说明 D.对局部于管程的数据结构设置初始值的语 句 解:管程由局部于管程的共享变量说明、对管 程内数据结构进行操作的一组过程以及对局 部于管程的数据设置初始值的语句组成,故 本题答案为C。
第三讲
进程通信与控制习题课
一、选择题 【例3.1】★在操作系统中,P, V操作是一种 ____________。 A.机器指令 B.系统调用命令 C.作业控制命令 D.低级进程通信原语 解:P, V操作交换的信息量小,为低级进程通信 原语,故本题答案为D。
第三讲

习题课
【例3.2】进程从运行状态到阻塞状态可能 是由于( )。 A.现运行进程执行了P操作 B.现运行进程时间片用完 C.现运行进程执行了V操作 D.进程调度程序的调度 解:处于运行状态的进程执行P操作,当信 号量值小于0时,进入等待队列而被阻塞。 帮本题答案为A。

三、综合题 【例3.17】己知一个求值公式(A2 +3B)/(B+ 5A),若A. B已赋值,试画出该公式求值过程的前 驱图。 解:在本题公式的求值过程中,有些运算分 量的计算是可以并发进行的。为了描述方便起 见,我们设置了一些变量保存中间计算结果, 并为每条语句命名,如图2.6所示。其求值过 程的前驱图如图2.7所示。
semaphore b2=b3=b4=0; main( ) cobegin {T1;V(b2);V(B3);} {P(b2); T2;V(B4);} {P(b3); T3;V(B4);} {P(b4); P(B4); T4;} coend
T1
b2 T2 b4 b3 T3 b4
T4
四个进程的运行 次序

例题解答
购存 物取 蓝区

出 去
结 帐 台
解:进程中访问临界资源的那段代码称为临 界区,故本题答案为C.
【例3.7】下列描述不正确的是( )。 A. P操作和V操作是对信号量实施的操作 B.并发进程在访问共享资源时可能出现与 时间相关的错误 C. P操作或V操作在执行时可能被并发进 程打断 D. PV操作能实现对临界区管理的要求 解:P、V操作是原语操作,执行过程中不 可能被打断。故本题答案为C.
V操作。V操作记为V(S), S为一信号量, 它执行时主要完成下述动作: (1)S=S+1; (2)若S>0,则进程继续执行; (3)若S≤0,则从信号量等待队列中移 出队首进程,使其变为就绪状态。
P, V操作可以形式化 定义如下: struct semaphore { int count; queuetype queue; }; P(semaphore s) { s.count--; if(s.count<0) { 阻塞该进程; 将该进程插入等待 队列s.queue; } }

【例2.16】假设有N个进程共享同一临界资源, 若使用信号量机制实现对临界资源的互斥访 问,则信号量值的变化范围是________。 解:采用信号量机制实现N个进程对临界资 源的互斥访问,信号量的初始值是1,也是该 信号量的最大值。如果有进程要访问临界资 源,需执行P操作,则信号量的值减1。考虑 极端情况,N个进程都要求访问临界资源,信 号量将执行N个减1操作,因此信号量的最小 值为1-N,故答案为:1~1-N

【例2.13】进程间的高级通信机制可归纳为 3 大 类 , 分 别 是 ________ , ________ 和 ________。 解:进程间的高级通信机制可归纳为3大类: 共享存储器系统、消息传递系统和管道通信。
ห้องสมุดไป่ตู้
[例2.14]在多道程序系统中,进程之间存在着 的不同制约关系可以划分为两类: __________与__________。__________指 进程间具有的一定逻辑关系;__________是 指进程间在使用共享资源方面的约束关系。 解:进程之间存在着的不同制约关系可以划 分为同步和互斥两类,同步指进程间具有的 一定逻辑关系,互斥是指进程间在使用共享 资源方面的约束关系。故本题答案为:① 同 步 ② 互斥 ③ 同步 ④ 互斥。

【例3.5】为了进行进程协调,进程之间应 当具有一定的联系,这种联系通常采用进 程间交换数据的方式进行,这种方式称为 ( )。 A.进程互斥 B.进程同步 C.进程通信 D.进程制约 解:进程间交换数据即进程通信。故本题 答案为C.


【例3.6】★临界区是__________。 A.一个缓冲区 B.一段共享数据区 C.一段程序 D.一个互斥资源
V(semaphore s) { s.count++ if(s.count<=0) { 从等待队列s.queue取 出第一个进程; 将该进程插入就绪队 列; } }

【例3.20】★ 有三个进程PA, PB和PC协作解 决文件打印问题(见下图):PA将文件记录 从磁盘读入内存的缓冲区1,每执行一次读一 个记录;PB将缓冲区1的内容复制到缓冲区2, 每执行一次复制一个记录;PC将缓冲区2的内 容打印出来,每执行一次打印一个记录。缓冲 区的大小和一个记录大小一样。请用P、V操 作来保证文件的正确打印。
相关文档
最新文档