进程管理习题

1)可能打印出的z值有? (假设每条赋值语句是一个原子操作) 2)可能打印出的c值有? (其中x为P1,P2的共享变量) 6.在一个仓库中可以存放A和B两种产品,要求: 1)每次只能存入一种产品。 2)A产品数量-B产品数量

其中,M, N是正整数,试用P操作.V操作描述产品A与产品B的入库过程。

7.面包师有很多面包,由n个销售人员推销。每个顾客进店后取一个号,并且等待叫号,当一个销售人员空闲下来时,就叫下一个号。试设计一个使销售人员和顾客同步的算法。

8.某工厂有两个生产车间和一个装配车间两个生产车间分别生产A, B两种零件,装配车间的任务是把A,B两种零件组装成产品。两个生产车间每生产一个零件都要分别把它们送到专配车间的货架F1,F2上。F1存放零件A,F2存放零件B,Fl和F2的容量均可以存放10个零件。装配工人每次从货架上取一个零件A和一个零件B后组装成产品。请用P,V操作进行正确管理。

9.某寺庙,有小和尚.老和尚若干,有一水缸,由小和尚提入水缸

供老和尚饮用。水缸可容10桶水,水取自同一井中。水井径窄,每次只能容一个桶取水。水桶总数为3个,每次入取缸水仅为1桶水,且不可同时进行。试给出有关从缸取水.入水的算法描述。 10.如图2-11所示,三个合作进程P1,P2 ,P3,它们都需要通过同一设备输入各自的数据a,b,c,该输入设备必须互斥地使用,而且其第一个数据必须由P1进程读取,第二个数据必须由P2进程读取,第三个数据则必须由玛进程读取。然后,三个进程分别对输入数据进行下列计算: P1:x=a+b; P2:x=a*b; P3:x=y+c-a;

最后,P1进程通过所连接的打印机将计算结果x,y,z的值打印出来。请用信号量实现它们的同步。

11.有桥如图2-12所示。车流方向如箭头所示。回答如下问题: 1)假设该桥上每次只能有一辆车行驶,试用信号灯的Pv操作实现交通管理。

2)假设该桥上不允许两车交会,但允许同方向多个车一次通过(即桥上可有多个同方向行驶的车)。试用信号灯的P, V操作实现桥上交通管理。

12.假设有两个线程(编号为0和1)需要去访问同一个共享资源,为了避免竞争状态的问题,我们必须实现一种互斥机制,使得在任何时候只能有一个线程在访问这个资源。假设有如下的一段代码:

当一个线程想要访问临界资源时,就调用上述的这两个函数。例如,线程0的代码可能是这样的:

试问:

l)以上的这种机制能够实现资源互斥访问吗?为什么?

2)如果把Enter_Critical_Section() 函数中的两条语句互换一下位臵,结果会如何?

13.设自行车生产线上有一只箱子,其中有N个位臵(N>=3), 每个位臵可存放一个车架或一个车轮;又设有三个工人,其活动分别为:

试分别用信号量与PV操作实现三个工人的合作,要求解中不含死锁。

14.设P,Q,O共享一个缓冲区,P,Q构成一对生产者-消费者,R既为生产者又为消费者。使用P,V操作是实现其同步。 15.理发店有一位理发师,一把理发椅和n把供等候理发的顾客坐的椅子。如果没有顾客,理发师便在理发椅上睡觉,一个顾客到来时,顾客必须叫醒理发师,如果理发师正在理发时又有顾客到来,则如果有空椅子可坐,就坐下来等待,否则就离开。

16.假设一个录像厅有1、2、3三种不同的录像片,可由观众选择放映。录像厅的放映规则为:

1)任一时刻最多只能放映一种录像片,正在放映的录像片是自动循环放映的,最后一个观众主动离开时一结束当前录像片的放映; 2)选择当前正在放映的录像片的观众可立即进入,允许同时有多位选择同一种录像片的观众同时观看,同时观看的观众数量不受限制; 3)等待观看其他录像片的观众按到达顺序排队,当一种新的录像片开始放映时,所有等待观看该录像片的观众可依次序进入录像厅同时观看。用一个进程代表一个听众,求:用信号量方法PV操作实现,

联系客服:779662525#qq.com(#替换为@)