某车站售票厅,任何时间最多可容纳100名购票者进入,当售票厅中少于100名购票者时,厅外的购票者可立即进入,否则需在外面等待。若把一个购票者看作一个进程,请回答下列问题: (1)用PV操作管理这些并发进程时,应怎样定义信号量?写出信号量的初值以及信号量

admin2014-07-18  18

问题 某车站售票厅,任何时间最多可容纳100名购票者进入,当售票厅中少于100名购票者时,厅外的购票者可立即进入,否则需在外面等待。若把一个购票者看作一个进程,请回答下列问题:
  (1)用PV操作管理这些并发进程时,应怎样定义信号量?写出信号量的初值以及信号量各种取值的含义。
  (2)根据所定义的信号量,把应执行的:PV操作填入下列进程中,以保证进程能够正确地并发执行。
  Cobegin process pi(i=1,2,…,n)
    Begin______
    进入售票厅;
    购票;
    退出;
    ……
    end
    Coend
  (3)若欲购票者最多为n个人,写出信号量可能的变化范围(最大值和最小值)。

选项

答案(1)应定义一个信号量S,S的初值为100, 当0<S≤100时,允许厅外的购票者进入; 当S=0时,厅内已有100人,欲购票者暂不能进入; 当S<0时,|S|表示等待进入者的人数。 (2)用PV操作管理时保证进程正确执行的程序如下: Cobegin process pi(i=1,2,3,…,n) begin p(s); 进入售票厅; 购票: 退出; v(s); end; Coend: (3)若购票者最多为n人,则信号量s的变化范围:m—n≤s≤1 000。

解析
转载请注明原文地址:https://kaotiyun.com/show/oaxi777K
0

最新回复(0)