进程同步与互斥练习复习题

  • 格式:ppt
  • 大小:184.50 KB
  • 文档页数:31

下载文档原格式

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

乙制作室工人工作过程: L2:生产一条裤子 P(empty2) P(mutex2) 将裤子放到裤架上 V(mutex2) V(full2) Goto L2
• 在一个盒子里,混装了数量相等的黑白围 棋子。现在利用自动分拣系统把黑子、白 子分开,设分拣系统有两个进程P1和P2, 其中进程P1拣白子;进程P2拣黑子。规定 每个进程一次拣一子,当一个进程在拣时 不允许另一个进程去拣,当一个进程拣了 一子时,必须让另一个进程去拣。试写出 进程P1和P2能够正确并发执行的程序。
有m个进程共享同一临界资源,若使用信号量机制实现 对资源的互斥访问,则信号量值的变化范围是 _______[1-m,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个就绪进程,没有进程处于等待状 态 1.
• 设私有信号量S1=1;S2=0 P1(){ P2(){ P(S1); P(S2); 拣白子; 拣黑子; V(S2);} V(S1);}
• 设公共汽车上,司机和售票员的活动分别 是 • 司机活动:启动车辆;正常运行;到站停 车。 售票员活动:关门;售票;开门。用 信号量和P、V操作实现它们的关系。
(3)描述: 甲制作室工人工作过程: L1:生产一件上衣 P(empty1) P(mutex1) 将上衣放到衣架上 V(mutex1) V(full1) Goto L1 配套工人工作过程: L3:P(full1) P(full2) P(mutex1) P(mutex2) 分别取上衣和裤子进行配套 V(mutex1) V(mutex2) V(empty1) V(empty2) Goto L3
• 10.用PV操作管理临界区时把信号量的初 值定义为1,现已有一个进程在临界区,但 有n个进程在等待进人临界区,这时信号量 的值为(C )。 A.-1 B.1 C.-n D.n
• 11.用V操作唤醒一个等待进程时,被唤醒 进程的状态应变成(B )状态。 A.执行 B.就绪 C.运行 D.收容
• 12.进程间的同步是指进程间在逻辑上的相
• 4.并发进程中与共享变量有关的程序段称 为(B )。 A.共享子程序 B.临界区 C.管理区 D.公共数据区
• 5.用来实现进程同步与互斥的PV操作实际 上是由( D)过程组成的。 A.一个可被中断的 B.一个不可被中断的 C.两个可被中断的 D. 两个不可被中断的
• 6.进程从运行态变为等待态可能由于 (B )。 A.执行了V操作 B.执行了P操作 C.时间片用完 D.有高优先级进程就绪
• Driver() • { • While(true) • { p(s1); • 启动车辆; • 正常行车; • 到站停车; • V(S2); • } • }
• • • • • • • • • • •
Busman( ) { While(true) { 关车门; V(S1); 售票; P(S2); 开车门; 上下乘客; } }
选择题
• 1.任何两个并发进程之间存在着( D)的 关系。 A.各自完全独立 B.拥有共享变量 C.必须互斥 D.可能相互制约
• 2.并发进程执行的相对速度是(D )。 A.由进程的程序结构决定的 B.由进程自己来控制的 C.在进程被创建时确定的 D.与进程调度策略有关的
• 3.并发进程执行时可能会出现“与时间有 关的错误”,这种错误是由于并发进程(A ) 引起的。 A.使用共享资源 B.执行的顺序性 C.要求计算时间的长短 D.程序的长度
Father() { while(ture) { p(dish); 将苹果放入盘中; v(apple); Mother() } { while(ture) } { p(dish); 将香蕉放入盘中; v(banana); } }
son() { while(ture) { p(banana); 从盘中取出香蕉; v(dish); 吃香蕉; } }
设dish=1表示盘子是否为空;apple=0表示盘中是否 有苹果;banana=0表示盘中是否有香蕉。 semaphore dish=1; semaphore apple=0; semaphore banana=0; Main() { cobegin father(); mather(); son(); daughter(); coend }
互( B)关系。 A.联接 C.继续
B.制约 D.调用
多项选择题
• 1.有关并发进程的下列叙述中,(CDE )是正 确的。 A.任何时刻允许多个进程在同一CPU上运 行 B.进程执行的速度完全由进程自己控制 C.并发进程在访问共享资源时可能出现与 时间有关的错误 D.同步是指并发进程中存在的一种制约关 系 E.各自独立的并发进程在执行时不会相互 影响
daughter() { while(ture) { p(apple); 从盘中取出苹果; v(dish); 吃苹果; } }

某套装服装厂有甲乙两个制作室和一个配套室。 两个制作室分别生产上衣和裤子,每制作一件 上衣或裤子后制作室工人都要分别把它们送到 配套室的衣架F1和裤架F2上,衣架F1上存放上 衣,裤架F2上存放裤子,衣架最多能放50件上 衣,裤架最多能放50条裤子。配套室工人每次 从架上取一件上衣和一条裤子,然后将它们配 成套装,并进行包装。为防止操作出错, 甲制 作室工人及配套室工人对衣架F1的存取动作应 互斥进行,乙制作室工人及配套室工人对裤架 F2的存取动作应互斥进行。用P、V原语进行正 确管理,分别描述甲制作室工人、乙制作室工 人以及配套室工人的工作过程。
• 设置两个信号量:S1、S2,S1表示是否允 许司机启动汽车,其初值为0;S2表示是否 允许售票员开门,其初值为0。 • semaphore s1=0; • semaphore s2=0; • main( ) • { • Cobegin • Driver( ); • Busman(); • Coend
2.一个正在运行的进程调用P(s)后,若S的 值为(AD ),则该进程可以继续运行。 A.S>0 B.S<0 C源自文库S≠0 D.S≥0 E.S≤0
判断题
• 1.有交往的并发进程一定共享某些资源。 ( X) • 2.如果不能控制并发进程执行的相对速度, 则它们在共享资源时一定会出现与时间有 关的错误。 (X ) • 3.并发进程的执行结果只取决于进程本身, 不受外界影响。 (X ) • 4.多道程序设计必然导致进程的并发执行。 (√)
• 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裤架 裤子
解: (1)设公用信号量mutex1和mutex2控制进 程对衣架和裤架的互斥操作 设私用信号量empty1和empty2分别表示 衣架和裤架的空位数, full1表示衣架上的衣服数,full2表示裤架上的 裤子数 (2)初始化mutex1=1,mutex2=1, empty1=50,empty2=50,full1=0,full2=0
• 设有一个作业由四个进程组成,这四个进 程在运行时必须按图所示的顺序,用P、V 原语操作表达四个进程的同步关系。
T1
T2
T3
T4
应用题
• 用P、V操作实现下述问题。桌子上有一个 盘子,可以存放一个水果,父亲总是放苹 果到盘子中,而母亲总是放香蕉到盘子中 ;一个儿子专等吃盘中的香蕉,而一个女 专等吃盘中的苹果。