第2章 进程管理练习答案

内容发布更新时间 : 2025/5/8 18:25:53星期一 下面是文章的全部内容请认真阅读。

V(mutex); V(s2);

13.试用信号量机制描述两人下象棋的过程

类似于一个生产者和一个消费者利用单缓冲(棋盘)通信的例子

14.设AB两点之间是一段东西向的单行车道,现在要设计一个AB路段自动管理系统,规则如下:当AB间有车辆在行驶时同方向的车可以驶入,另一方向的车必须在AB段外等待;当AB段之间无车辆行驶时,任一方向到达的车都可驶入,但不能从两个方向同时驶入;当某方向在AB段行驶的车辆驶出了AB段且暂无车辆进入AB段时,应让另一方向等待的车辆进入AB段行驶。试用信号量和P、V操作管理AB路段车辆的行驶

分析:这是读者—写者问题的变形,相当于两组读者(即两个方向的车辆)访问同一个共享文件(即AB路段)的互斥问题。 (1)信号量及其设置

S1、S2初值均为0,分别用于对从A、B点驶入AB的车辆计数

互斥信号量mutex,初值为1,用于实现不同方向的第一辆车互斥驶入AB路段。 互斥信号量ma、mb,初值均为1,分别用于两个方向的车互斥的访问计数器变量。 向西行驶的车辆: P(ma);

If S1=0 then P(mutex); S1++; V(ma);

车辆从A点通过AB路段到达B点 P(ma); S1--;

If S1=0 then V(mutex); V(ma);

向东行驶的车辆: P(mb);

IfS2=0 then P(mutex); S2++; V(mb);

车辆从B点通过AB路段到达A点 P(mb); S2--;

If S2=0 then V(mutex); V(mb);

15.在4×100接力赛中,四个运动员之间存在如下关系:1号传给2号,2号传给3号,3号传给4号,4号跑完全程。试用信号量机制进行描述。 用前驱图描述:

运动员1——运动员2——运动员3——运动员4

信号量 S12 S23 S34 初值均为0 运动员1:

11 / 13

持棒跑100米; 交棒给运动员2; V(S12);

运动员2: P(S12);

持棒跑100米; 交棒给运动员3; V(S23);

运动员3同运动员2

运动员4: P(S34);

持棒跑100米;

16.今有一文件F供A、B两组进程共享,规定同组的进程可以同时读文件F;但当有A组(或B组)的进程在读文件F时就不允许B组(或A组)的进程读文件。

定义整形计数器变量C1和C2,分别记录A组和B组中读文件F的进程数,初值均为0.设置3个初值均为1的信号量S1、S2和SAB。 进程Ai:

_______________; 将C1加1;

若C1=1 则_________________;

_________________; 读文件F;

__________________; 将C1减1;

若C1=0 则________________;

_________________;

进程Bi:

_______________; 将C2加1;

若C2=1 则_________________;

_________________; 读文件F;

__________________;

12 / 13

将C2减1;

若C2=0 则________________;

_________________; 要求:(1)说明信号量S1、S2、SAB的作用;

S1是用于A组进程互斥使用计数器C1的互斥信号量;S2是用于B组

>>鐏炴洖绱戦崗銊︽瀮<<
12@gma联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4 ceshi