(2)临界区是指进程中用于实现进程同步的那段代码。 (3)临界区是指进程中用于实现进程通信的那段代码。 (4)临界区是指进程中用于访问共享资源的那段代码。 (5)临界区是指进程中访问临界资源的那段代码。 24. 进程A和B共享同一临界资源,并且进程A正处于对应的临界区内执行。请从下列描述中选择一条正确的描述。C
A. 进程A的执行不能被中断,即临界区的代码具有原子性。
B. 进程A的执行能被中断,但中断A后,不能将CPU调度给进程B。
C. 进程A的执行能被中断,而且只要B进程就绪,就可以将CPU调度给进程B。 D. 进程A的执行能被中断,而且只要B进程就绪,就必定将CPU调度给进程B。 25. (A)是一种只能由wait和signal操作所改变的整型变量,(A)可用于实现进程的(B)和(C),(B)是排他性访问临界资源。 A:(1)控制变量;(2)锁;(3)整型信号量;(4)记录型信号量。 B:(1)同步;(2)通信;(3)调度;(4)互斥。 C:(1)同步;(2)通信;(3)调度;(4)互斥。
26. 对于记录型信号量,在执行一次wait操作时,信号量的值应当(A),当其值为(B)时,进程阻塞。在执行signal操作时,信号量的值应当为(C),当其值为(D)时,应唤醒阻塞队列中的进程。 A:(1)不变;(2)加1;(3)减1;(4)加指定数值;(5)减指定数值。 B:(1)大于0;(2)小于0;(3)大于等于0;(4)小于等于0. C:(1)不变;(2)加1;(3)减1;(4)加指定数值;(5)减指定数值。 D:(1)大于0;(2)小于0;(3)大于等于0;(4)小于等于0. 27. 用信号量S实现对系统中4台打印机的互斥使用,S.value的初值应设置为(A),若S.value的初值为-1,则表示S.L队列中有(B)个等待进程。 A:(1)1;(2)0;(3)-1;(4)4;(5)-4 B:(1)1;(2)2;(3)3;(4)4;(5)5;(6)6;(7)0。
28. 设有10个进程共享一个互斥段,如果最多允许有1个进程进入互斥段,则所采用的互斥信号量初值应设置为(A),而该信号量的取值范围为(B);如果最多允许有3个进程同时进入互斥段,则所采用的互斥信号量初值应设置为(C)。 A:(1)10;(2);3;(3)1;(4)0。 B:(1)0~1;(2)-1~0;(3)1~-9;(4)0~-9。 C:(1)10;(2);3;(3)1;(4)0。
29. 在生产者-消费者问题中,应设置互斥信号量mutex、资源信号量full和empty。它们的初值应分别为(A)、(B)、(C)。 A:(1)0;(2)1;(3)-1;(4)-n;(5)+n。 B:(1)0;(2)1;(3)-1;(4)-n;(5)+n。 C:(1)0;(2)1;(3)-1;(4)-n;(5)+n。
30. 对生产者-消费者问题的算法描述如下,请选择正确的答案编号填入方框中。
第 21 页 共 36 页
Producer: begin Repeat (A); (B);
Buffer(in):=m; In:=(in+1)mod n; (C); (D);
Until false End
Consumer: begin Repeat (E); (B);
M:=buffer(out); Out:=(out+1)mod n; (C); (F);
Until false end
A: (1)wait(mutex); (2)signal(mutex); (3)wait(empty); (4)signal(full); (5)wait(full); (6)signal(empty)。
B: (1)wait(mutex); (2)signal(mutex); (3)wait(empty); (4)signal(full); (5)wait(full); (6)signal(empty)。
C: (1)wait(mutex); (2)signal(mutex); (3)wait(empty); (4)signal(full); (5)wait(full); (6)signal(empty)。
D: (1)wait(mutex); (2)signal(mutex); (3)wait(empty); (4)signal(full); (5)wait(full); (6)signal(empty)。
E: (1)wait(mutex); (2)signal(mutex); (3)wait(empty); (4)signal(full); (5)wait(full); (6)signal(empty)。
F: (1)wait(mutex); (2)signal(mutex); (3)wait(empty); (4)signal(full); (5)wait(full); (6)signal(empty)。 31. 试选择(A)~(D),以便能正确地描述图2.12所示的前趋关系。 Var a,b,c: semaphore:=0,0,0; Begin
S1 S2 Parbegin
Begin S1; (A); end;
b Begin S2; (B); end; a Begin
S3 Wait(a); wait(b); S3; (C); End c Begin (D); S4 end
Parend
S4 End
第 22 页 共 36 页
A: (1)signal(a); (2)signal(b); (3)wait(c); (4)signal(c)。 B: (1)signal(a); (2)signal(b); (3)wait(c); (4)signal(c)。 C: (1)signal(a); (2)signal(b); (3)wait(c); (4)signal(c)。 D: (1)signal(a); (2)signal(b); (3)wait(c); (4)signal(c)。
32. 有两个程序:A程序按顺序使用CPU10秒、设备甲5秒、CPU5秒、设备乙10秒、CPU10秒;B程序按顺序使用设备甲10秒、CPU10秒、设备乙5秒、CPU5秒、设备乙10秒。在顺序环境下,执行上述程序,CPU的利用率约为(A)。若允许它们采用非抢占方式并发执行,并且不考虑切换等开销,则CPU的利用率约为(B)。 A(1)30%;(2)40%;(3)50%;(4)60%;(5)70%;(6)80%;(7)90%。 B(1)30%;(2)40%;(3)50%;(4)60%;(5)70%;(6)80%;(7)90%。 33. 从下面的叙述中选出一条正确的叙述:
(1)操作系统的一个重要概念是进程,不同的进程所执行的代码也不同。 (2)操作系统通过PCB来控制和管理进程,用户进程可从PCB中读出与本身运行状态相关的信息。
(3)当进程由执行状态变为就绪状态时,CPU现场信息必须被保存在PCB中。 (4)当进程申请CPU得不到满足时,它将处于阻塞状态。
(5)进程是可与其他程序并发执行的程序在一个数据集合上的运行过程,所以程序段是进程存在的唯一标志。
34. 从下面的叙述中选出4条正确的叙述:
(1)一个进程的状态发生变化总会引起其它一些进程的状态发生变化。 (2)进程被挂起(suspend)后,状态变为阻塞状态。 (3)信号量的初值不能为负数。
(4)线程是CPU调度的基本单位,但不是资源分配的基本单位。
(5)在进程对应的代码中使用wait、signal操作后,可以防止系统发生死锁。 (6)管程每次只允许一个进程进入。
(7)wait、signal操作可以解决一切互斥问题。 (8)程序的顺序执行具有不可再现性。
35. 在引入线程的操作系统中,资源分配和调度的基本单位是(A),CPU调度和分配的基本单位是(B)。 A:(1)程序;(2)进程;(3)线程;(4)作业。 B:(1)程序;(2)进程;(3)线程;(4)作业。 36. 在三种基本类型的操作系统中,都设置了(A),在批处理系统中还应设置(B);在分时系统中除了(A)以外,通常还设置了(C),在多处理机系统中则还需设置(D)。 A:(1)剥夺调度;(2)作业调度;(3)进程调度;(4)中级调度;(5)多处理机调度。 B:(1)剥夺调度;(2)作业调度;(3)进程调度;(4)中级调度;(5)多处理机调度。 C:(1)剥夺调度;(2)作业调度;(3)进程调度;(4)中级调度;(5)多处理机调度。 D:(1)剥夺调度;(2)作业调度;(3)进程调度;(4)中级调度;(5)多处理机调度。
第 23 页 共 36 页
37. 在面向用户的调度准则中,(A)是选择实时调度算法的重要准则,(B)是选择分时系统中进程调度算法的重要准则,(C)是批处理系统中选择作业调度算法的重要准则,而(D)准则则是为了照顾紧急作业用户的要求而设置的。 A:(1)响应时间快;(2)平均周转时间短;(3)截止时间的保证;(4)优先权高的作业能获得优先服务;(5)服务费低。 B:(1)响应时间快;(2)平均周转时间短;(3)截止时间的保证;(4)优先权高的作业能获得优先服务;(5)服务费低。 C:(1)响应时间快;(2)平均周转时间短;(3)截止时间的保证;(4)优先权高的作业能获得优先服务;(5)服务费低。 D:(1)响应时间快;(2)平均周转时间短;(3)截止时间的保证;(4)优先权高的作业能获得优先服务;(5)服务费低。 38. 支持多道程序设计的操作系统,在运行过程中不断地选择新进程运行来实现CPU的共享,但其中(A)不是引起操作系统选择新进程的直接原因。 A:(1)执行进程的时间片用完;(2)执行进程出错;(3)执行进程要等待某一事件发生;(4)有新进程进入就绪队列。
39、一般情况下,互斥信号量的初值为 B 。
A. 0 B. 1 C. 2 D. 4
第三部分 是非题
1.进程是动态的概念 (对) 2.进程执行需要处理机 (对) 3.进程是有生命期的 (对) 4.进程是指令的集合 (错) 5.操作系统的一重要概念是进程,因此不同进程所执行的代码也一定不同 (错) 7.操作系统用PCB管理进程,用户进程可以从PCB中读出与本身运行状况有关的信息 (错) 8.进程同步是指某些进程之间在逻辑上的相互制约关系 (对) 9.在一个只有单个CPU的计算机中,进程不能并行操作。
错。一个进程在利用CPU运行,另一个进程可以同时进行I/O操作,它们是并行的。
10.线程可以分为内核级(Kernel Thread)和用户级(User Thread)两种,操作系统不可以直接调度用户级的线程。对。
第四部分 填空题
1.信号量的物理意义是当信号量值大于零时表示 可用资源的数目 ;当信号量值小于零时,其绝对值为 因请求该资源而被阻塞的进程数目 。
2.临界资源的概念是 一次仅允许一个进程访问的资源 ,而临界区是指 进程中访问临界资源的那段程序代码 。
3.进程在运行过程中有三种基本状态,它们是 运行、就绪、等待。
4.进程主要由 程序段、数据段、PCB 三部分内容组成,其中 PCB 是进程存在的唯一标志。而 程序段 部分也可以为其他进程共享。
5.系统中各进程之间逻辑上的相互制约关系称为 进程同步 。
6.若一个进程已进入临界区,其他欲进入临界区的进程必须 等待。 7.将进程的 PCB 链接在一起就形成了进程队列。
第 24 页 共 36 页