一、选择最合适的答案
1. 用P、V 操作管理临界区时,信号量的初值一般应定义为( C )。 A.–1 D.任意值
2. 有m 个进程共享同一临界资源,若使用信号量机制实现对一临界资源的互斥访问,则信号量的变化范围是( A )。
至–(m-1) 至m-1 至–m 至m 3. 在下面的叙述中,正确的是( C )。
A.临界资源是非共享资源B.临界资源是任意共享资源 C.临界资源是互斥共享资源D.临界资源是同时共享资源 4. 对进程间互斥地使用临界资源,进程可以( D ) A.互斥地进入临界区B.互斥地进入各自的临界区
C.互斥地进入同一临界区D.互斥地进入各自的同类资源的临界区
5. 设两个进程共用一个临界资源的互斥信号量mutex,当mutex=1 时表示( B )。 A.一个进程进入了临界区,另一个进程等待 B.没有一个进程进入临界区 C.两个进程都进入了临界区 D.两个进程都在等待
6. 设两个进程共用一个临界资源的互斥信号量mutex,当mutex=-1 时表示( A )。 A.一个进程进入了临界区,另一个进程等待 B.没有一个进程进入临界区 C.两个进程都进入了临界区 D.两个进程都在等待
7.当一进程因在记录型信号量S 上执行P(S)操作而被阻塞后,S 的值为( B )。 A.>0 B.<0 C.≥0 D.≤0
8.当一进程因在记录型信号量S 上执行V(S)操作而导致唤醒另一进程后,S 的值为( D )。 A.>0 B.<0 C.≥0 D.≤0
9.如果信号量的当前值为-4,则表示系统中在该信号量上有( A )个进程等待。
10.若有4 个进程共享同一程序段,而且每次最多允许3 个进程进入该程序段,则信号量的变化范围是( B )。
A. 3,2,1,0 B. 3,2,1,0,-1 C. 4,3,2,1,0 D. 2,1,0,-1,-2
11.若信号S 的初值为2,当前值为-1,则表示有( B )个等待进程
12.如果有三个进程共享同一互斥段,而且每次最多允许两个进程进入该互斥段,则信号量的初值应设置为( C )。 A. 3 B. 1 C. 2 D. 0
13.并发进程之间( D ) A.彼此无关B.必须同步
C.必须互斥D.可能需要同步或互斥
14.在操作系统中,有一组进程,进程之间具有直接相互制约性。这组并发进程之间( B )。 A.必定无关B.必定相关 C.可能相关D.相关程度相同
15. ( A )操作不是P 操作可完成的。 A.为进程分配处理机B.使信号量的值变小 C.可用于进程的同步D.使进程进入阻塞状态 16.下列步骤中,( C )不是创建进程所必须的。 A 建立一个进程控制块B 为进程分配内存 C 为进程分配CPU D 将其控制块放入就绪队列
17.在进程管理中,当( B )时,进程从运行状态变为就绪状态。 A 进程被调度程序选中 B 时间片用完 C 等待某一个事件发生 D 等待的事件发生 18. 进程和程序的最根本区别在于( B )。 A 对资源的占有类型和数量。 B 进程是动态的,而程序是静态的。 C 看它们是否能够并发地在处理机上运行 D 进程规模较小,程序规模较大 19. 一个进程被唤醒意味着( C )。 A 该进程的优先数变大 B 该进程获得了CPU
C 该进程从阻塞状态变为就绪状态
D 该进程排在了就绪队列的队首
20. 进程的3 种状态之间,下列( C )转换是不能进行的。 A 就绪状态到运行状态 B 运行状态到阻塞状态 C 阻塞状态到运行状态 D 阻塞状态到就绪状态
21. 下列情况下,在( A )时,进程从阻塞状态转换到就绪状态。 A 等待的某事件已经发生了。 B 时间片用完了
C 分配到必要的资源并获得了处理机 D 等待某事件
22. 下面对父进程和子进程的叙述中,正确的是( BD )。 A 父进程创建子进程,因此父进程执行完了,子进程才能运行。 B 父进程和子进程之间可以并发执行 C 撤消子进程时,应同时撤消其父进程 D 撤消父进程时,应同时撤消其子进程
23. 某进程所申请一次打印事件结束,则该进程的状态可能发生改变是( D ) A 运行状态转变到就绪状态 B 阻塞状态转变到运行状态 C 就绪状态转变到运行状态 D 阻塞状态转变到就绪状态
24. 下列哪一个体现了原语的主要特点( D ) A 并发性B 异步性C 共享性D 不可分割性
25. 在具有挂起状态的系统中,若当前内存空间高度吃紧,系统将使请求I/O 的一个执行状态的进程进入( D )状态。
A 活动就绪B 静止就绪C 活动阻塞D 静止阻塞
26. 如果单CPU 系统中有n 个进程,则就绪队列中进程的个数最多可达到( C )个。 A n+1 B n C n-1 D 1
27. 在分时系统中,下列描述中,( C )不属于响应时间的一部分。 A 处理机对请求信息进行处理的时间 B 从键盘输入的请求信息传送到处理机的时间 C 请求信息在外存队列上排队等待的时间 D 所形成的响应回送到终端显示器的时间
28. 信箱通信是一种( B )通信方式。 A 直接B 间接C 低级D 信号量
29. 操作系统通过( B )对进程进行管理。 A JCB B PCB C DCT D CHCT 30. 临界区是( C )。
A 一个缓冲区B 一段共享数据区C 一段程序D 一个互斥资源
二、选择所有正确的答案
1. 有关进程的描述中,( AC )是正确的。 A.进程执行的相对速度不能由进程自己来控制 B.利用信号量的P. V 操作可以交换大量信息 C.同步是指并发进程之间存在的一种制约关系
D.并发进程在访问共享资源时,不可能出现与时间有关的错误 2. 下列资源中,( ACD ) 是临界资源。 A.打印机B.非共享的资源 C.共享变量D.共享缓冲区
3. 进程从执行状态转换到阻塞状态的可能原因是( BD ). A.时间片完B.需要等待其它进程的执行结果 C.执行了V 操作D.执行了P 操作
4. 进程从阻塞状态转换到就绪状态的可能原因是( BC ). A. 时间片完B. 其它进程执行了唤醒原语 C. 执行了V 操作D. 执行了P 操作
5.在单处理机系统中,设系统中有n 个进程(n>2),且当前处理机没有执行进程调度程序,下述情况哪些可能发生( BCD )。
A.没有运行的进程,有2 个进程处于就绪状态,n 个进程处于等待状态。 B.一个进程处于运行状态,n-1 个进程处于等待状态。
C. 一个进程处于运行状态,1 个进程处于就绪状态,n-2 个进程处于等待状态。 D. 一个进程处于运行状态,n-1 个进程处于就绪状态,没有进程处于等待状态 三、判断正误,错误的简要说明理由 1.一个临界资源可以对应多个临界区。(√)
2.互斥地使用临界资源是通过互斥地进入临界区实现的。(X)
表达不确切,应该是互斥的进入同类临界区。 3.同步信号量的初值一般为1。(X)
互斥信号量的初值一般为1;而同步信号量的初值应视具体情况而定。 4.生产者-消费者问题是一个既有同步又有互斥的问题。(√)
5.进程A、B 共享变量x,需要互斥执行;进程B、C 共享变量y,B、C 也需要互斥执行,因此,进程A、C 必须互斥执行。(X)不具有传递性。
6.单道程序系统中程序的执行也需要同步和互斥。(X) 单道程序系统不具有并发性,因此不需要同步和互斥。 7. P、V 操作都是原语操作。( √ )
8. 进程执行的相对速度不能由进程自己来控制。( √ ) 9. 利用信号量的P、V 操作可以交换大量信息。( X ) 10.同步是指并发进程之间存在的一种制约关系。( √ )
11.一般来说,用户进程的PCB 存放在用户区,系统进程的PCB 存放在操作系统系统区。( X ) 12.进程可以由程序、数据和进程控制块描述。( √ )
13.进程是程序在一个数据集合上的过程,它是系统进行资源分配和调度的一个独立单位。( √ )。 四、填空题
1、在操作系统中引入线程概念的主要目的是(缩短系统切换的时空开销,提高程序执行并发度)。 2、引入了线程的操作系统中,资源分配的基本单位是( 进程),CPU 分配的基本单位是(线程)。 3、进程的基本状态由执行、(就绪)、(阻塞)。
4、进程的基本特征是( 动态性)、(并发性)、(独立性)、(异步性)、(结构特征)。
5、信号量的物理意义是当信号量值大于0 时表示(系统当前可用资源数目);当信号量值小于0 时,其绝对值为(因请求该资源而被阻塞的进程数目)。 6、进程由(程序段)、(数据段)、(PCB)三部分组成。 7、进程是一个程序对某个数据集的(一次执行过程)。
8、若一个进程已进入临界区,其他欲进入临界区的进程必须(等待)。
9、程序并发执行与顺序执行时相比产生了一些新特征,分别是(间断性)、(失去封闭性)、(不可再性)。 10、采用用户级线程的系统中,处理器调度的对象是(进程);采用内核支持的线程系统中,处理器调度的对象是(线程)。
11、高级通信方式分为三大类:(共享存储器系统)、(消息传递系统)、(管道通信系统)。
12、在一个多道程序系统中,进程之间存在着不同关系可以划分为两大类:其中(同步)指进程间存在一定的逻辑关系,需要在执行次序上协调;(互斥)指进程间在使用共享资源方面的约束关系。解决上述两个
问题的一种常用的方法是(信号量机制)。 五、简答题
1、在操作系统中为什么要引入进程概念P37
答:因为在多道程序环境下,程序的执行属于并发执行。可是与此同时,他们将失去其封闭性,并具有间断性及不可再现性的特征。这决定了通常的程序是不能参与并发执行。为了使程序能并发执行,且为了对并发执行的程序加以描述和控制,人们引入了\"进程\"的概念。 2、试说明PCB 的作用。P41
答: OS 调度进程的主要数据,依据记录进程的有关信息,供系统对进程进行控制,标志进程的存在 3、试从调度性、并发性、拥有资源及系统开销4 个方面对进程和线程进行比较。P73
答:A.在引进线程的OS 中,把线程作为独立跳读和分派的基本单位,而把进程作为资源拥有的基本单位。 B.在引进线程的OS 中,不仅进程间可并发执行,而且同一进程的多个线程亦可并发执行,因而使OS 具有更好的并发性。
C.进程始终是资源的一个独立单位,而线程自己不拥有系统资源,但是它可以访问其隶属进程的资源。 D.在创建、撤销和切换进程方面,进程开销远大于线程。 4、同步机构应遵循哪些基本准则P50
答:A.空闲让进B.忙着等待C.有限等待D.让权等待 5、线程具有哪些属性P73-74
答:A.轻型实体B.独立调度和分派的基本单位C 可并发执行D 共享进程资源
六、解答题
1.某车站售票厅,任何时刻最多可容纳20 名购票者进入,当售票厅中少于20 购票者时,则厅外的购票者可立即进入,否则需在外面等待。若把一个购票者看作一个进程,请回答下列问题:
(1) 用P、V 操作管理这些并发进程时,应怎样定义信号量写出信号量的初值以及信号量各种取值的含义。 (2) 根据所定义的信号量,把应执行的P、V 操作填入下述程序中,以保证进程能够正确地并发执行。 COBEGIN PROCESS Pi(i=1,2,…)
Begin
; 进入售票厅; 购票;
; 退出;
End;
COEND
(3)若欲购票者最多为n 个人,写出信号量可能的变化范围(最大值和最小值)。 解:售票厅问题:
(1)定义一信号量S,初始值为20。 S>0 S的值表示可继续进入售票厅的人数 S=0 表示售票厅中已有20名顾客 S<0 |S|的值为等待进入售票厅中的人数 (2)上线为P(S) 下线为V(S)
(3)S的最大值为20,S的最小值为20-N,N为某一时刻需要进入售票厅的最大人数。 2. 进程之间存在哪几种相互制约关系各是什么原因引起的下列活动分别属于哪种制约关系 (1)若干同学去图书馆借书; (2)两队举行篮球比赛; (3)流水线生产的各道工序; (4)商品生产和社会消费。
解:进程间存在着2种相互制约的关系:直接制约关系(即同步问题)和间接制约关系(即互斥问题)。同步问题是存在逻辑关系的进程之间相互等待所产生的制约关系,互斥问题是相互无逻辑关系的进程间竞争使用相同资源所发生的制约关系。
(1)属于互斥关系,因为书的个数是有限的,一本书只能借给一个同学; (2)属于互斥关系,篮球只有一个,两队都要争夺;
(3)属于同步关系,各道工序的开始都依赖前道工序的完成;
(4)属于同步关系,商品没生产出来,消费无法进行,商品未消费完,生产也无须进行。
3.设有两个优先级相同的进程P1 和P2 如下。信号量S1 和S2 的初值均为0,试问P1、P2并发执行结束后,x=,y=,z= 〈进程P1〉 y:=1; y:=y+2; V(S1); z:=y+1; P(S2); y:=z+y;
〈进程P2〉
x:=1;
x:=x+1; P(S1); x:=x+y;
V(S2);
z:=x+z;
解:因为P1和P2是两个并发进程,所以进程调度程序调度P1和P2的顺序是不确定的。
这里不妨假设P1先执行。进程P1执行到语句P(S2)时,S2=-1,进程P1阻塞。此时,y=3,z=4。当进程调
度程序调度到进程P2时,由于进程P1已执行了V(S1),进程P2在执行P(S1)时并未阻塞而继续执行,当执行到V(S2)时,将P1唤醒,分成两种情况:
(1)然后执行P2最后一个语句z:=x+z,此时x=5,z=9。当进程P1再次被调度时,继续执行P1的最后一个语句,此时y=12,最终结果是:x=5,y=12,z=9。
(2)如果当P2进程执行到V(S2)时,将P1唤醒,然后P2进程被中断,此时x=5,y=3,z=4。P1进程开始执行然后执行最后一个语句y:=z+y,此时x=5,y=7,z=4。然后P2进程被调度,执行z:=x+z,此时x=5,y=7,z=9。
如果P2先执行,则执行结果与上面相同。
4.桌上有一空盘,只允许存放一个水果。爸爸可向盘中放苹果,也可向盘中放桔子。儿子专等吃盘中的桔子,女儿专等吃盘中的苹果。规定当盘中空时一次只能放一只水果供吃者取用,请用P、V 原语实现爸爸、儿子、女儿三个并发进程的同步。
分析在本题中,爸爸、儿子、女儿共用一个盘子,且盘中一次只能放一个水果。当盘子为空时,爸爸可将一个水果放入果盘中。若放入果盘中的是苹果,则允许女儿吃,儿子必须等待;若放入果盘中的是桔子,则允许儿子吃,女儿必须等待。本题实际上是生产者-消费者问题的一种变形。这里,生产者放入缓冲区的产品有两类,消费者也有两类,每类消费者只消费其中固定的一类产品。
解在本题中,应设置三个信号量S、So、Sa,信号量S 表示盘子是否为空,其初值为1;信号量So 表示盘中是否有桔子,其初值为0;信号量Sa 表示盘中是否有苹果,其初值为0。
同步描述如下: int S=1; 盘子是为空 int Sa=0; 盘中无苹果 int So=0; 盘中无桔子 main( ) {
cobegin father(); son(); daughter(); coend } father() {
while(1) {
P(S );
将水果放入盘中; if (放入的是桔子)else V(Sa); }
V(So);
} son( ) {
while(1) {
P(So);
从盘中取出桔子;V(S); 吃桔子; } }
daughter( ) {
while(1) {
P(Sa);
从盘中取出苹果;V(S); 吃苹果; } }
因篇幅问题不能全部显示,请点此查看更多更全内容