单选题
已知有10个进程共享一个互斥段,如果最多允许6个进程同时进入互斥段,则信号量S的初值是{{U}} (1) {{/U}},其变化范围是{{U}} (2) {{/U}}。
单选题 (1)
【正确答案】 D
【答案解析】
单选题 (2)
【正确答案】 C
【答案解析】[解析] 已知有10个进程共享一个互斥段,如果最多允许6个进程同时进入互斥段,这意味着系统有6个单位的资源,信号量S的初值应当设置为6。第1空的正确答案为选项D。 当第一个申请该资源的进程对信号量S进行P操作,信号量S减1等于5,进程可继续进行;当第2个申请该资源的进程对信号量S进行P操作,信号量S减1等于4,进程可继续进行;……当第10个申请该资源的进程对信号量S进行P操作,信号量S减1等于-4,进程可继续进行。所以,信号量S的变化范围是-4~6。第2空的正确答案为选项C。
单选题 (1)
【正确答案】 D
【答案解析】
单选题 (2)
【正确答案】 C
【答案解析】[解析] 由于系统中只有一个缓冲区,需要设置一个信号量S1,且初值为1,表示缓冲区为空,可以将产品放入缓冲区。第1空的正确答案为选项D。 为了实现P1与P2的进程同步,要设置另一个信号量S2,且初值为0,表示缓冲区中有产品。第2空的正确答案为选项C。
单选题 (1)
【正确答案】 D
【答案解析】
单选题 (2)
【正确答案】 C
【答案解析】[解析] 进程同步是进程之间的合作而引起的制约问题。要实现进程同步,可使用一个信号量与消息联系起来,信号量如果为0,表示消息未产生;信号量如果为1,表示消息已存在。本题是最简单的单缓冲区的生产者和消费者的同步问题。 P操作的定义是:S=S-1,若S>=0,则执行P操作的进程继续执行。若S<0,则进程进入阻塞状态。 V操作的定义是:S=S+1,若S>O,则执行V操作的进程继续执行。若S<=0,则进程唤醒一个进程,并将其插入就绪队列,然后执行V操作的进程继续。 第1空的正确答案为选项B。第2空的正确答案为选项C。