文档库

最新最全的文档下载
当前位置:文档库 > 进程同步问题

进程同步问题

(2013年考研题)某博物馆最多可容纳500 人同时参观,有一个出入口,该出入口一次仅允许一个人通过。参观者的活动描述如下:

cobegin

参观者进程i:

{

进门;

参观;

出门;

}

coend

请添加必要的信号量和P、V(或wait()、signal())操作,以实现上述过程中的互斥与同步。要求写出完整的过程,说明信号量的含义并赋初值。

【答案要点】

定义两个信号量

Semaphore empty = 500; / / 博物馆可以容纳的最多人数(2分)Semaphore mutex = 1; / / 用于出入口资源的控制(2分)

参观者进程i;

{

P ( empty );

P ( mutex );

进门;

V( mutex );

参观;

P ( mutex );

出门;

V( mutex );

V( empty );

}

coend(3分)

【评分说明】

①信号量初值给1分,说明含义给1分,两个信号量的初值和含义共4分。

②对mutex的P、V 操作正确给2分。

③对empty的P、V 操作正确给1分。

④其他答案,参照①~③的标准给分。

免费下载Word文档免费下载: 进程同步问题

(共3页)