全文预览

信号量的PV操作(例题)

上传者:非学无以广才 |  格式:doc  |  页数:18 |  大小:0KB

文档介绍
empty); siton the baber_chair; v(full); p (cut); pay; v(payment); p(receipt); get up from the baber_chair; v(empty); p(mutex) count--; v(mutex); exit shop; End; Process Barber: Begin Loop: P(full); Cut hair; V(cut); P(payment); Accept payment; V(receipt); Goto Loop; CoEnd; 7 、一个海底隧道中只有一个车道,规定同一个方向的可以连续过隧道;某方向有列车过隧道时,另一个方向的列车就要等待,现在东岸和西岸都有列车要过隧道, 如果把每个过隧道的列车看作一个进程,为保证安全,使用 P、 V操作实现正确管理。 8、如果系统中有 N个进程, ?运行进程最多几个,最少几个? ?就绪进程最多几个,最少几个? ?等待进程最多几个,最少几个? 解答: 运行进程最多 1个,最少 0个; 就绪进程最多 N -1个,最少 0个; 等待进程最多 N个,最少 0个; 12、假设有三个并发进程 P,Q,R ,其中 P 负责从输入设备上读入信息并传送给 Q,Q将信息加工后传送给 R,R 则负责将信息打印输出。写出下列条件的并发程序: (1 )进程 P、Q 共享一个缓冲区,进程 Q、R 共享另一个缓冲区。(2 )进程 P、Q 共享一个由 m 个缓冲区组成的缓冲池,进程 Q、R 共享另一个由 n个缓冲区组成的缓冲池。参考答案:(1) 第一步:确定进程 3 个进程 P、Q、R P 进程: ?从输入设备上读入信息?将信息放入缓冲区 1 Q 进程: ?从缓冲区 1 取出信息?将信息放入缓冲区 2中 R 进程: ?从缓冲区 2 取出信息?将信息打印输出

收藏

分享

举报
下载此文档