首页 > 试题广场 >

5个进程共享同一程序段,而且每次最多允许3个进程进入该程序段

[单选题]
5个进程共享同一程序段,而且每次最多允许3个进程进入该程序段,则信号量的变化范围是()。
  • 4, 3, 2, 1, 0
  • 3, 2, 1, 0, -1
  • 5, 4, 3, 2, 1
  • 3, 2, 1, 0, -1, -2
程序段最多允许三个进程进入,则表示资源的数目为3,因此,信号量初值为3,每进入一个进程,信号量的值减1,当信号量的值减为0时,表示三个进程均进入程序段,此时若再有一个进程请求进入执行P操作,则信号量的值减为-1,进程阻塞。一共有五个进程,所以信号量的值最小为-2。因此信号量的值取值范围为3,2,1,0,-1,-2。因此应该选D。
发表于 2018-04-11 11:22:34 回复(0)
正确答案
D
答案解析
程序段每次最多允许三个进程进入,则表示资源的数目为3,因此,信号量初值为3,每进入一个进程,信号量的值减1,当信号量的值减为0时,表示三个进程均进入程序段,此时若再有一个进程请求进入执行P操作,则信号量的值减为-1,进程阻塞。一共有五个进程,所以信号量的值最小为-2。因此信号量的值取值范围为3,2,1,0,-1,-2。
发表于 2018-04-13 22:11:54 回复(0)
本题目考查信号量的取值范围。程序段最多允许三个进程进入,则表示资源的数目为3,因此,信号量初值为3,每进入一个进程,信号量的值减1,当信号量的值减为0时,表示三个进程均进入程序段,此时若再有一个进程请求进入执行P操作,则信号量的值减为-1,进程阻塞。一共有四个进程,所以信号量的值最小为-1。因此信号量的值取值范围为3,2,1,0,-1。因此应该选B。
发表于 2018-03-25 17:51:13 回复(1)