问题 单项选择题

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

(28)处填()。

A.0

B.1

C.2

D.3

答案

参考答案:B

解析:

[分析]: 本题考查PV操作的相关知识,在计算机操作系统中,PV操作是进程管理中的难点。

利用信号量和PV操作实现进程互斥的一般模型是:

进程P1 进程P2 …… 进程Pn

…… …… …… ……

P(S); P(S); P(S);

临界区; 临界区; 临界区;

V(S); V(S); V(S);

…… …… ……

其中信号量S用于互斥,初值为1。

使用PV操作实现进程互斥时应该注意以下几点。

(1)每个程序中用户实现互斥的P、V操作必须成对出现,先做P操作,进临界区,后做V操作,出临界区。若有多个分支,要认真检查其成对性。

(2)P、V操作应分别紧靠临界区的头尾部,临界区的代码应尽可能短,不能有死循环。

(3)互斥信号量的初值一般为1。

对于28题,有多个售票点,为了让每个售票点在售票时对剩余票数进行互斥操作,需设立一个互斥信号,其初值为1。

对于29题,当某个售票点有售票请求时对信号进行P操作。根据流程图,对Temp进行判断,若Temp≥x,则接受售票请求,否则拒绝售票请求。所以a处是P操作,b和c处是V操作,A选项正确。

多项选择题
多选题