若某航空公司的飞机订票系统有n个订票终端,系统为每个订票终端创建一个售票终端的进程。假设 Pi(i

16 查阅

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

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)表示公共数据区,分别存放各个航班的现存票数”,可见公共数据区厅/是一个临界资源,最多允许一个终端进程使用,因此需要设置一个互斥信号量S,初值为1。售票终端进程Pi先按照定票要求找到对应的公共数据区Hj,接着执行P(S)操作,用于检查是否有其他的售票终端进程正在使用公共数据区Hj。若有,即执行该操作前S值等于0,则本售票终端进程进入等待状态。若没有,即执行该

软考高级