niusouti.com

设一个飞机航班售票系统有n个售票处,每个售票处通过终端访问系统的公共数据区,假定公共数据区中的一些单元Aj(j=1,2,3,……)分别存放某月某日某次航班的余票数。设P1,P2,……Pn表示各个售票处的处理进程,R1,R2,……Rn表示各进程执行时所用的工作单元。当各售票处有旅客买票时,请用PV操作实现各处理进程间的工作。

题目
设一个飞机航班售票系统有n个售票处,每个售票处通过终端访问系统的公共数据区,假定公共数据区中的一些单元Aj(j=1,2,3,……)分别存放某月某日某次航班的余票数。设P1,P2,……Pn表示各个售票处的处理进程,R1,R2,……Rn表示各进程执行时所用的工作单元。当各售票处有旅客买票时,请用PV操作实现各处理进程间的工作。


相似考题
参考答案和解析
参考答案:
Begin
S:semaphore;
S:=1;
Cobegin
Process Pi(i=1,2,…,n)
begin
按旅客订票要求找到Aj;
P(S);
Ri:=Aj;
if Ri>=1 then begin
Ri:=Ri-1;
Aj:=Ri;
V(S);
输出一张票
end
else begin
V(S);
输出“票已售完”
end
end;
Coend;
End;
更多“设一个飞机航班售票系统有n个售票处,每个售票处通过终端访问系统的公共数据区,假定公共数据区中的一些单元Aj(j=1,2,3,……)分别存放某月某日某次航班的余票数。设P1,P2,……Pn表示各个售票处的处理进程,R1,R2,……Rn表示各进程执行时所用的工作单元。当各售票处有旅客买票时,请用PV操作实现各处理进程间的工作。 ”相关问题
  • 第1题:

    若某航空公司的飞机订票系统有n个订票终端,系统为每个订票终端创建一个售票终端的进程。假设Pi(i=1,2,…,n)表示售票终端的进程,Hj(j=1,2,…,m)表示公共数据区,分别存放各个航班的现存票数,Temp为工作单元。PJ进程的工作流程如图所示,a、b和c处将执行P操作和V操作,则图中a、b和c应填入 ( ) 。


    A.P(S)、V(S)和V(S)
    B.P(S)、P(S)和V(S)
    C.V(S)、P(S)和P(S)
    D.V(S)、V(S)和P(S)

    答案:A
    解析:
    这是一道考查利用P、V操作实现进程间的同步和互斥工作的综合理解题。由于"系统为每个订票终端创建一个售票终端的进程","Hj(j=1,2,…,m)表示公共数据区,分别存放各个航班的现存票数",可见公共数据区Hj是一个临界资源,最多允许一个终端进程使用,因此需要设置一个互斥信号量S,初值为1。售票终端进程Pi先按照定票要求找到对应的公共数据区Hj,接着执行P(S)操作,用于检查是否有其他的售票终端进程正在使用公共数据区Hj。若有,即执行该操作前S值等于0,则本售票终端进程进入等待状态。若没有,即执行该操作前S值等于1,则将S值减1后将公共数据区Hj值复制给工作单元Temp。若Temp值大等于1,即表示该公共数据区Hj中相应航班有剩余票数,则将Temp值减1后复制给相应的公共数据区Hj,然后执行V(S)操作,表明该售票终端进程交出公共数据区Hj的使用权,并唤醒其他进入等待状态的售票终端进程。最后售票终端进程输出一张相应航班的飞机票。若Temp值小于1,即表示该公共数据区Hj中已没有相应航班的飞机票,则该售票终端进程执行V(S)操作,交出公共数据区Hj的使用权,并唤醒其他进入等待状态的售票终端进程。最后售票终端进程输出"票已售完"的提示信息。

  • 第2题:

    假设铁路自动售票系统有 n 个售票终端,该系统为每个售票终端创建一个进程 Pi(i=1,2,…,n)管理车票销售过程。假设 Tj(j=1,2,…,m)单元存放某日某趟车的车票剩余票数,Temp 为 Pi进程的临时工作单元,x 为某用户的购票张数。Pi进程的工作流程如下图所示, 用 P 操作和Ⅴ操作实现进程间的同步与互斥。初始化时系统应将信号量 S 赋值为(请作答此空)。 图中(a)、(b)和(c)处应分别填入( )。


    A.n-1
    B.0
    C.1
    D.2

    答案:C
    解析:
    按照用户购票要求找到了单元,那么(a)应该执行P操作来申请一个资源,互斥操作的信号量初值一般为1或者资源的数量,剩下的(b)(c)都应该是V操作,释放资源。

  • 第3题:

    某航空公司机票销售系统有n个售票点,该系统为每个售票点创建一个进程Pi(i=1,2,…,n)管理机票销售。假设Tj(j=1,2,…,m)单元存放某日某航班的机票剩余票数,Temp为Pi进程的临时工作单元,x为某用户的订票张数。初始化时系统应将信号量S赋值为(请作答此空)。Pi进程的工作流程如下图所示,若用P操作和V操作实现进程间的同步与互斥,则图中空(a)、空(b)和空(c)处应分别填入(2)。

    A. 0
    B. 1
    C. 2
    D. 3

    答案:B
    解析:
    本题考查PV操作方面的基本知识。因为公共数据单元Tj是一个临界资源,最多允许1个终端进程使用,因此需要设置一个互斥信号量S,初值等于1。第2小题因为进入临界区时执行P操作,退出临界区时执行V操作。

  • 第4题:

    假设铁路自动售票系统有n个售票终端,该系统为每个售票终端创建一个进程Pi(i=1,2,…,n)管理车票销售过程。假设Tj(j=1,2,…,m)单元存放某日某趟车的车票剩余票数,Temp为Pi进程的临时工作单元,x为某用户的购票张数。Pi进程的工作流程如下图所示,用P操作和V操作实现进程间的同步与互斥。初始化时系统应将信号量S赋值为(请作答此空)。图中( a )、( b )和( c )处应分别填入( )。


    A. n-1
    B. 0
    C. 1
    D. 2

    答案:C
    解析:

  • 第5题:

    某航空公司机票销售系统有n个售票点,该系统为每个售票点创建一个进程Pi(i=1,2,…,n)管理机票销售。假设Tj(j=1,2,…,m)单元存放某日某航班的机票剩余票数,Temp为Pi进程的临时工作单元,x为某用户的订票张数。初始化时系统应将信号量S赋值为(请作答此空)。Pi进程的工作流程如下图所示,若用P操作和V操作实现进程间的同步与互斥,则图中空(a)、空(b)和空(c)处应分别填入( )。

    A.0
    B.1
    C.2
    D.3

    答案:B
    解析:
    本题考查PV操作方面的基本知识。因为公共数据单元Tj是一个临界资源,最多允许1个终端进程使用,因此需要设置一个互斥信号量S,初值等于1。第2小题因为进入临界区时执行P操作,退出临界区时执行V操作。