目录
一、单选题
2-1操作系统内核是通过各种原语操作来实现其控制功能的,所谓原语是()。
A.一个程序段
B.一个具有特定核心功能的程序段
C.一个具有特定核心功能,且不可被中断执行的程序段
D.一个具有特定核心功能,且不可被中断执行的必须与其它进程同步的程序段
2-2同一系统中的进程之间既相互依赖又相互制约,如果两个进程同时要用一公用变量,其中一个进程必须等待,这种关系称为()。
A.同步 B.共享 C.互斥 D.独享
2-3同一系统中如果两个进程要用有界缓冲来传输数据,这两个进程之间有一种制约关系,这种关系称为()。
A.互斥 B.共享 C.同步 D.独享
2-4一种由P和V操作所改变的整型变量是()。
A.控制变量 B.锁 C.整型信号量 D.记录型信号量
2-5关于PV操作,以下说法不正确的是()。
A.P(S)操作意味着申请一份关于信号量S的资源
B.V(S)操作意味着释放一份关于信号量S的资源
C.进程调用一个V操作,将信号量的值加1后,信号量的值小于0,则应从信号量的等待队列中唤醒一个进程
D.进程调用一个P操作,将信号量的值减1后,信号量的值小于0,则进程应阻塞,排入信号量的等待队列
信号量的PV操作是如何定义的?试说明信号量的PV操作的物理意义。
P(S):将信号量S减1,若≥0,则该进程继续执行﹔若结果<0,则该进程被阻塞,并将其插入到该信号量的等待队列中,然后转去调度另一进程。v (S):将信号量S加1,若结果>0,则该进程继续执行﹔若结果≤0,则从该信号量的等待队列中移出一个进程,使其从阻塞状态变为就绪状态,并插入到就绪队列中,然后返回当前进程继续执行。
PV操作的物理含义:信号量S值的大小表示某类资源的数量。当S>0时,其值表示当前可供分配的资源数目﹔当S<0时,其绝对值表示S信号量的等待队列中的进程数目。每执行一次Р操作,S值减1,表示请求分配一个资源,若S≥0,表示可以为进程分配资源,即允许进程进入其临界区﹔若S<0,表示已没有资源可供分配,申请资源的进程被阻塞,并插入S的等待队列中,s的绝对值表示等待队列中进程的数目,此时CPU将重新进行调度。每执行一次V操作,S值加1,表示释放一个资源,若S>0,表示等待队列为空;若s≤0,则表示等待队列中有因申请不到相应资源而被阻塞的进程,于是唤醒其中一个进程,并将其插入就绪队列。无论以上哪种情况,执行v操作的进程都可继续运行。
2-6当某一信号量的值为2时,说明()。
A.有2份关于该信号量的资源可分配
B.在该信号量的队列中有两个进程
C.有两个进程由于申请相应资源而被阻塞
D.系统中有两个并行执行的进程
2-7当某一信号量的值为-2时,以下说法不正确的是()。
A.有2份关于该信号量的资源可分配
B.在该信号量的等待队列中有两个进程
C.有两个进程由于申请与该信号量有关的资源而被阻塞
D.有两个进程在等待使用与该信号量有关的资源
2-8有两个并发进程都要使用一台打印机,打印机对应的信号量是S,若S=0,则表示()。
A.没有进程在用打印机 B.有一进程在用打印机,另一进程正等待使用打印机
C.有一进程在用打印机 D.两个进程都在用打印机
2-9用P、V操作管理相关进程的临界区时,信号量的初值应定义为()。
A.-1 B.0 C.1 D.随意
2-10用V操作唤醒一个等待进程时,被唤醒进程的状态变为()。
A.等待 B.运行 C.就绪 D.完成
2-11若2个并发进程相关临界区的互斥信号量MUTEX,现在取值为0,则正确的描述应该是()。
A.没有进程进入临界区 B.有一个进程进入临界区,另一个在等待进入临界区
C.有一个进程进入临界区 D.不定
2-12在生产者-消费者的程序中,应当注意的是()。
A.V操作的次序不能颠倒 B.V操作的次序可以颠倒
C.P操作的次序不能颠倒 D.P操作的次序可以颠倒
2-13在生产者-消费者问题的解法中如果将生产者进程的两个P操作的位置放错()。
A.将会使系统中没有一个进程能够进行下去 B.进程仍能正常运行
C.将可能会使两个进程间发生死锁 D.进程仍能正常运行,但速度会减慢
2-14进程控制就是对系统中的进程实施有效的管理,通过使用()、进程撤销、进程阻塞、进程唤醒等进程控制原语实现。
A.进程运行 B.进程互斥 C.进程创建 D.进程同步
2-15为了进行进程协调,进程之间应当具有一定的联系。这种联系通常采用进程间交换数据的方式进行,这种进程管理称为()。
A.进程互斥 B.进程同步 C.进程通信 D.进程制约
2-16进程间的同步是指进程间在逻辑上的相互()关系。
A.联接 B.继续 C.制约 D.调用
2-17在多进程系统中,为了保证公共变量的完整性,各进程应互斥进入临界区。所谓临界区是指()。
A.一段程序 B.一段数据区 C.一个缓冲区 D.同步机制
2-18()是一种只能进行wait操作和signal操作的特殊变量。
A.调度 B.进程 C.信号量 D.同步
2-19用P、V操作管理临界区时,信号量的初值一般应定义为()。
A.0 B.-1 C.1 D.任意值
2-20设两个进程共用一个临界资源的互斥信号量mutex,当mutex=1时表示()。
A.一个进程进入了临界区,另一个进程等待
B.没有一个进程进入临界区
C.两个进程都进入临界区
D.两个进程都在等待
2-21设两个进程共用一个临界资源的互斥信号量mutex,当mutex=-1时表示()。
A.两个进程都进入临界区 B.没有一个进程进入临界区
C.一个进程进入了临界区,另一个进程等待 D.两个进程都在等待
①互斥信号量,初始值为1,取值范围为(-1, 0,1)。
当信号量为1时,表示两个进程皆未进入需要互斥的临界区;
当信号量为0时,表示有一个进程进入临界区运行,;
当信号量为-1时,表示有一个进程正在临界区运行,(另一个等待)另一个进程因等待而阻塞在信号量队列中,需要当前已在临界区运行的进程退出时唤醒。
②互斥信号量不采用自旋锁的方式实现,mutex初始值为1,当一个准备进入临界区时,mutex - 1 = 0,该进程进入临界区;另一个进程准备进入临界区时,mutex - 1 = -1,mutex < 0时将该进程挂起到mutex的列表中,等待被唤醒。因此一个进程已经进入临界区,另一个进程在等待。
2-22当一进程因在记录型信号量S上执行P(S)操作而被阻塞后,S的值为()。
A.<0 B.≥0 C.>0 D.≤0
对于记录型信号量,当 s<0 的时候,请求进程会阻塞
对于整型信号量,当s<=0的时候,请求进程不会阻塞,而是进入盲等状态
整型信号量是先判断,再value--;
记录型信号量是先value--,再判断
2-23当一进程因在记录型信号量S上执行V(S)操作而导致唤醒另一进程后,S的值为()。
A.>0 B.<0 C.≥0 D.≤0
唤醒进程,说明S的值小于0,被唤醒之后,所以S的值应该<=0.
唤醒另一进程,说明有进程可被唤醒,就是说有进程在等待进行临界区,若V操作前只有一个进程在等待,则V操作之后S=0,若V操作前有多个进程在等待,是V操作之后S<0,所以,综合来说,S<=0,
2-24如果信号量的当前值为-4,则表示系统中在该信号量上有()个进程等待。
A.5 B.3 C.4 D.0
2-25若有4个进程共享同一程序段,而且每次最多允许3个进程进入该程序段,则信号量的变化范围是()。
A.3,2,1,0 B.4,3,2,1,0 C.2,1,0,-1,-2 D.3,2,1,0,-1
程序段最多允许三个进程进入,则表示资源的数目为3,因此,信号量初值为3,每进入一个进程,信号量的值减1,当信号量的值减为0时,表示三个进程均进入程序段,此时若再有一个进程请求进入执行P操作,则信号量阻塞,一共有四个进程,所以信号量最小值为-1,因此信号量的取值范围为3,2,1,0,-1
2-26如果信号量的当前值为-4,则表示系统中在该信号量上有( )个进程等待。
A.5 B.4 C.3 D.0
二、填空题
4-1在操作系统中,使用信号量可以解决进程间的同步与互斥问题。