第1题:
A 0个
B 1个
C 2个
D 3个
第2题:
某系统中有一个缓冲区,进程P1不断地生产产品送入缓冲区,进程P2不断地从缓冲区中取出产品消费,用P、V操作实现进程间的同步模型如下图所示。假设信号量S1的初值为1,信号量S2的初值为0,那么a、b处应分别填(26),c、d处分别填(27)。
A.V(S2)、P(S1)
B.P(S1)、V(S2)
C.P(S2)、V(S1)
D.V(S1)、P(S2)
第3题:
● 在操作系统的进程管理中,若系统中有10个进程使用互斥资源R,每次只允许 3个进程进入互斥段(临界区),则信号量S的变化范围是 (26) ;若信号量S的当前值为–2,则表示系统中有 (27) 个正在等待该资源的进程。
(26)A.–7~1 B.–7~3 C.–3~0 D.–3~10
(27)A.0 B.1 C.2 D.3
(26)B (27)C
本题考查操作系统进程管理方面的基础知识。
本题中,已知有10个进程共享一个互斥资源R,如果最多允许3个进程同时进入互斥段,这意味着系统有3个单位的资源,信号量的初值应设为3。当第一个申请该资源的进程对信号量S执行P操作,信号量S减1等于2(即3–1),进程可继续执行;当第二个申请该资源的进程对信号量S执行P操作,信号量S减1等于1(即3–2),进程可继续执行……当第10个申请该资源的进程对信号量S执行P操作,信号量S减1等于–7。所以试题(26)的正确答案为B。
在操作系统的进程管理中,由于多个进程竞争同一资源可能会发生死锁,若无外力作用,这些进程都将永远不能再向前推进。为此,最常用的方法是采用信号量(Semaphore)及有关的P、V操作。信号量是表示资源的实体,是一个与队列有关的整型变量,其值仅能由P、V操作改变。“P操作”用于检测信号量是否为正值,若不是,则阻塞调用进程;“V操作”用于唤醒一个阻塞进程恢复执行。根据用途不同,信号量分为公用信号量和私用信号量。公用信号量用于实现进程间的互斥,初值通常设为1,它所联系的一组并行进程均可对它实施P、V操作;私用信号量用于实现进程间的同步,初始值通常设为0或n。本题中,由于每次只允许3个进程进入互斥段(临界区),故信号量的初值为3,当前值为–2,则表示系统中有两个正在等待该资源的进程。因为当第一个申请该资源的进程对信号量S执行P操作,信号量S减1等于2,进程可继续执行;当第二个申请该资源的进程对信号量S执行P操作,信号量S减1等于1,进程可继续执行;当第三个申请该资源的进程对信号量S执行P操作,信号量S减1等于0,进程可继续执行;当第四个申请该资源的进程对信号量S执行P操作,信号量S减1等于–1,进程处于等待状态;当第五个申请该资源的进程对信号量S执行P操作,信号量S减1等于–2,进程处于等待状态。从以上分析可见,当信号量S等于–2时,有两个进程处于等待状态。所以试题(27)的正确答案为C。
第4题:
假设系统有 n 个进程共享资源 R,且资源 R 的可用数为 3,其中n ≥ 3,若采用 PV 操作, 则信号量 S 的取值范围应为().
A.-1~n-1
B.-3~3
C.- (n-3)~3
D.- (n-1)~1
第5题:
假设系统中有n个进程共享3台打印机,任一进程在任一时刻最多只能使用1台打印机。若用PV操作控制n个进程使用打印机,则相应信号量S的取值范围为( ):若信号量S的值为-3,则系统中有( )个进程等待使用打印机。
A.0,-1,…,- (n-1) B.3,2,1,0,-1,…,- (n-3) C.1,0,-1,…,- (n-1) D.2,1,0,-1,…,- (n-2) A.0 B.1 C.2 D.3
第6题:
若P、V操作的信号量S初值为2,当前值为-1,则表示有(31)等待进程。如果有三个进程共享同一互斥段,而且每次最多允许两个进程进入该互斥段,则信号量的初值应设置为(32)。
A.0个
B.1个
C.2个
D.3个
第7题:
假设系统采用PV操作实现进程同步与互斥,若有n个进程共享一台扫描仪,那么当信号量S的值为-3时,表示系统中有(23)个进程等待使用扫描仪。
A.0
B.n-3
C.3
D.n
第8题:
●在操作系统的进程管理中,若系统中有8个进程要使用互斥资源R.而最多允许2个进程进入互斥段(临界区),则信号量S的变化范围是(15);若信号量S的当前值为-4,则表示系统中有(16)个正在等待该资源的进程。
(15)A.-2~0
B.-2~1
C.-6~2
D.-8~1
(16)A.1
B.2
C.3
D.4
第9题:
某系统有一个缓冲区,进程P1不断地生产产品送入缓冲区,进程P2不断地从缓冲区取产品消费。用PV操作实现进程间的同步模型如图2-3所示。假设信号量S1的初值为1,信号量S2的初值为0,那么,a、b处应当写别填(1),c、d处分别填(2)。
A.V(S2)、P(S1)
B.P(S1)、V(S2)
C.P(S2)、V(S1)
D.V(S1)、P(S2)
第10题:
假设有5个进程共享一个互斥段X ,如果最多允许2个进程同时进入互斥段X ,则信号量S 的变化范围是( );若信号量S 的当前值为-3,则表示系统中有( )个正在等待该资源的进程。
A. -5~1 B. -1~3 C. -3~2 D. 0~5A. 0 B. 1 C. 2 D. 3