正确答案:
题目:若某航空公司的飞机订票系统有n个订票终端,系统为每个订票终端创建一个售票终端的进程。假设Pi(i=1,2,…,n)表示售票终端的进程,Hj(j=1,2,…,m)表示公共数据区,分别存放各个航班的现存票数,Temp为工作单元。系统初始化时将信号量S赋值为1)。Pi进程的工作流程如图1-14所示,a、b和c处将执行P操作和V操作,则图1-14中a、b和c应填入(2)。
解析:因为该航空公司的飞机订票系统有n个订票终端,多个客户可能在不同的终端同时订购某一航班的票,导致售票出错。例如,当某航班只剩下一张票时,有3个客户在3个不同的终端订购,则3个终端可能同时售出这张票,而这是不允许的,因此,必须要设置一个信号量S,用来表示某航班当前是否有客户在订票或者待订票的人数。该信号量的初值为1,表示同时只能有一个客户订购某个航班的票。当有客户在某个终端订购某航班的票时,首先要执行P(S)操作,使其他客户等待。当完成订票或者票已售完时,再执行V(S)操作。
学习资料的答案和解析: