计算机学科专业基础综合计算机操作系统进程管理三.docx
《计算机学科专业基础综合计算机操作系统进程管理三.docx》由会员分享,可在线阅读,更多相关《计算机学科专业基础综合计算机操作系统进程管理三.docx(35页珍藏版)》请在冰点文库上搜索。
计算机学科专业基础综合计算机操作系统进程管理三
计算机学科专业基础综合-计算机操作系统进程管理(三)
(总分:
100.00,做题时间:
90分钟)
一、{{B}}基础题{{/B}}(总题数:
0,分数:
0.00)
二、{{B}}单项选择题{{/B}}(总题数:
46,分数:
92.00)
1.以下关于进程的描述中,______不符合操作系统对进程的理解。
∙A.一个进程只能执行一个程序
∙B.进程可以由程序、数据和进程控制块描述
∙C.进程是资源分配的基本单位,也是独立运行的基本单位
∙D.进程是程序在一个数据集合上运行的过程,它是系统调度的独立单位
(分数:
2.00)
A. √
B.
C.
D.
解析:
在计算机操作系统中,进程是资源分配的基本单位,也是独立运行和系统调用的基本单位(进程是资源分配的基本单位,这是其与线程的主要区别)。
进程是程序关于某个数据集合在处理器上的一次执行过程,可以和别的进程并发执行。
操作系统为每个进程配置了一个进程控制块(ProcessControlBlock,PCB)。
这样从结构上来看,每个进程都由程序段、数据段和一个进程控制块组成,即进程=PCB+程序段+数据段。
★PCB是操作系统感知进程存在的唯一依据。
补充另一个“块”:
作业控制块(JobControlBlock,JCB)。
本题容易产生疑惑的是A选项,认为进程与程序是一一对应的。
其实通过多次执行,一个程序可以对应多个进程(如可以同时开多个QQ,执行的程序都是同一个,但有多个进程);同样,通过调用关系,一个进程可以对应多个程序(如一个QO进程会调用聊天部分、广告部分等,都是独立的程序)。
因此,一个进程可以执行多个程序,一个程序也可以启动多个进程。
从上述内容可以得出,A选项是不对的。
2.在进程状态转换时,下列转换中不可能发生的是______。
∙A.就绪状态→执行状态
∙B.执行状态→就绪状态
∙C.执行状态→阻塞状态
∙D.阻塞状态→执行状态
(分数:
2.00)
A.
B.
C.
D. √
解析:
进程的三态转换是进程概念中比较重要的知识点,要重点掌握以下几个方面:
状态转换的关系,转换发生的典型事件,对进程状态的判断。
本题考查的是进程状态转换的关系。
进程三态转换如图所示。
[*]直接分析选项:
在进程调度下,就绪状态可以转变为运行状态,A选项排除;在时间片轮转调度策略下,进程的时间片用完就会通过进程调度将进程由执行态转变为就绪态,B选项排除;当进程运行过程中需要等待某事件发生时,进程由执行态变为阻塞态,C选项排除。
★牢记一点:
阻塞态不能直接转变为执行态,只有就绪态可以变为执行态。
因此本题选择D选项。
3.以下可能导致一个进程从执行状态变为就绪状态的事件是______。
∙A.一次I/O操作结束
∙B.运行进程需要做I/O操作
∙C.运行进程结束
∙D.出现了比现在的进程优先级更高的进程
(分数:
2.00)
A.
B.
C.
D. √
解析:
本题考查状态转换发生的事件。
当进程处于就绪态时,表明进程获得了除处理器外的所有执行条件,只要得到处理器就可以执行。
进程从执行态变为就绪态则表明该进程是被剥夺了处理器,因此选出被剥夺处理器的选项即可。
A选项的I/O操作结束表明进程等待的事件发生,应当由阻塞态变为就绪态;B选项的运行进程需要I/O操作,说明等待某事件发生,应当由执行态变为阻塞态;C选项中进程已经运行结束,进程应当被撤销,已经跳出三态之外;D选项中出现优先级更高的进程,如果系统采用可抢占的调度策略且高优先级进程已经就绪,则高优先级的进程会抢占处理器,当前进程只能暂停运行,由于只是失去处理器而不是缺少其他资源,因此由执行态变为就绪态。
答案选D。
4.进程在______时处于非阻塞状态。
∙A.等待键盘输入数据
∙B.等待协作进程的一个信号
∙C.等待操作系统分配CPU
∙D.等待网络数据进入内存
(分数:
2.00)
A.
B.
C. √
D.
解析:
当进程等待除处理器外的其他资源时,都处于阻塞态。
只有等待处理器时,进程处于就绪态。
因此选择C选项。
★就绪态和阻塞态的主要区别在于进程等待的东西不同。
就绪态时,进程等待的是处理器(CPU);阻塞态时,进程等待的是除了处理器外的其他东西(I/O或者用户输入等)。
5.下列关于线程和进程的叙述中,正确的是______。
Ⅰ.线程包含CPU现场,可以独立执行程序
Ⅱ.每个线程都有自己独立的地址空间
Ⅲ.线程之间的通信必须使用系统调用函数
Ⅳ.线程切换都需要内核的支持
Ⅴ.线程是资源分配的单位,进程是调度和分配的单位
Ⅵ.不管系统中是否有线程,进程都是拥有资源的独立单位
∙A.Ⅰ、Ⅱ、Ⅳ
∙B.Ⅰ、Ⅵ
∙C.Ⅱ、Ⅳ
∙D.Ⅲ、Ⅵ
(分数:
2.00)
A. √
B. √
C.
D.
解析:
6.在多对一的线程模型中,当一个多线程的进程中的某个线程被阻塞后______。
∙A.该进程的其他线程可以继续执行
∙B.整个进程都将阻塞
∙C.该阻塞线程将被撤销
∙D.会调度进程中某个其他线程继续执行
(分数:
2.00)
A.
B. √
C.
D.
解析:
在多对一的线程模型中,多个用户级线程对应一个内核级线程。
采用该模型的系统中,线程在用户空间进行管理,效率相对较高。
由于多个用户级线程映射到一个内核级线程,只要一个用户级线程阻塞,就会导致整个进程被阻塞。
由于系统只能识别一个线程(内核级线程),因此即使有多处理器,该进程的若干个用户级线程也只能同时运行一个,不能并行执行。
因此答案选择B选项。
7.一个计算机系统中,进程的最大数目主要受到______的限制。
∙A.内存大小
∙B.用户数目
∙C.打开的文件数
∙D.外部设备数量
(分数:
2.00)
A. √
B.
C.
D.
解析:
进程创建需要占用系统内存来存放PCB的数据结构,所以一个系统能够创建的进程总数是有限的。
进程的最大数目取决于系统内存的大小,系统安装时就已经确定(若后期内存增加了,系统能够创建的进程总数也应增加,但是一般需要重新启动)。
而用户数目、外部设备数量和打开的文件数等均与此无关。
因此答案选择A选项。
8.时间片轮转调度算法是为了______。
∙A.多个终端能够得到系统的及时响应
∙B.使系统变得高效
∙C.优先级较高的进程得到及时响应
∙D.将需要CPU时间最少的进程最先做完
(分数:
2.00)
A. √
B.
C.
D.
解析:
时间片轮转调度的目的是为了让所有进程都能在相对短的时间内得到处理,不让某些终端的进程长时间得不到执行而饿死,因此选择A选项。
时间片轮转调度并不能提高系统性能,相反会由于调度进程而增加系统开销。
时间片轮转对于所有进程都是公平的,优先级高的进程并不会比其他进程更优先得到响应,C选项错误。
D选项描述的是短作业优先调度算法,时间片轮转调度并无此特点。
9.设4个作业从8:
00开始,每小时到达1个(即8:
00、9:
00、10:
00、11:
00依次到达1个作业),每个作业的执行时间均为2小时,系统采用先来先服务和不抢占的调度策略,它们在一台处理器上按照单道运行,则10:
00到达的那个作业的响应比为______,整个系统的平均周转时间为______小时。
∙A.2、1
∙B.2、3.5
∙C.3、2.5
∙D.3、5
(分数:
2.00)
A.
B. √
C.
D.
解析:
4个作业的执行情况如图所示。
[*]首先需要明确周转时间和响应比的概念:
周转时间为等待时间与执行时间之和,响应比为周转时间与执行时间之比。
由图可以计算得到4个作业的周转时间分别为2、3、4、5小时,因此平均周转时间为(2+3+4+5)/4小时=3.5小时。
作业3的等待时间为2小时,执行时间为2小时,因此周转时间为4小时,响应比为2。
10.针对以下的每种情况,选择调度算法。
为了照顾紧急作业用户,应采用______;为了能实现多终端人机交互,应采用______;为了能使短作业、长作业和交互作业用户都满意,应采用______。
Ⅰ.剥夺式优先级调度算法Ⅱ.时间片轮转调度算法Ⅲ.多级反馈队列调度算法Ⅳ.先到先服务调度算法
∙A.Ⅰ、Ⅱ、Ⅲ
∙B.Ⅳ、Ⅱ、Ⅲ
∙C.Ⅰ、Ⅱ、Ⅳ
∙D.Ⅰ、Ⅳ、Ⅲ
(分数:
2.00)
A. √
B.
C.
D.
解析:
需要优先执行某些作业的情况下,应当考虑优先级调度策略,而且对于紧急的作业,还需要采用剥夺式调度策略;看到“多终端”和“人机交互”这两个关键词就应当想到时间片轮转调度算法;能够多种作业类型兼顾的调度算法只有多级反馈队列调度算法(当然,只是在考研范围内)。
★另外补充两个常见的相关考查点:
①短作业优先能够提高系统吞吐量;②先来先服务有利于计算型作业。
11.作业是用户提交的,进程是系统自动生成的,除此之外,两者的区别是______。
∙A.两者执行不同的程序段
∙B.前者以用户任务为单位,后者以操作系统控制为单位。
∙C.前者是批处理的,后者是分时的
∙D.后者可并发执行,前者则不同
(分数:
2.00)
A.
B. √
C.
D.
解析:
用户提交作业,根据作业内容,系统会生成对应的进程。
因此,进程所执行的就是作业所包含的代码(因为要完成的内容相同),A选项是错误的。
作业是用户提交的,而进程是由系统生成的。
所以,作业以用户任务为单位,而进程则是由系统分配资源和控制运行的基本单位,B选项正确。
作业和进程是对应的,进程在执行,意味着作业也是在执行的。
因此,并不能说进程是并发执行而作业不是,而且作业并不一定是批处理的,进程也不一定是分时的,因此C选项、D选项错误。
12.进程调度算法采用固定时间片轮转调度算法,当时间片过大时,会使时间片轮转算法变为______调度算法。
∙A.高响应比优先
∙B.先来先服务
∙C.短进程优先
∙D.以上都不对
(分数:
2.00)
A.
B. √
C.
D.
解析:
时间片轮转调度算法是将所有进程按照到达时间排序,每个进程执行一个时间片的时间,然后切换至下一个进程。
如果时间片过大,则在单个时间片内进程就可以执行结束,因此此时会变为先到先服务。
13.有5个批处理作业几乎同时到达,其预计运行时间分别为10、6、2、4、8,其优先级(由外部设定)分别为3、5、2、1、4,这里5为最高优先级。
以下各种调度算法中,平均周转时间为14的是______调度算法(同一时刻只有一个作业运行)。
∙A.时间片轮转(时间片大小为2)
∙B.优先级调度
∙C.先来先服务(按照顺序10、6、2、4、8)
∙D.短作业优先
(分数:
2.00)
A.
B.
C.
D. √
解析:
短作业优先的平均等待时间是最短的,因此鉴于短作业优先的特殊性,先算短作业优先的平均周转时间。
★所有调度算法中,短进程优先算法的平均周转时间是最短的,因为每个进程的执行时间都是固定的,变化的只是等待时间。
短进程优先由于先执行的都是短作业,因此能将等待时间降到最小。
当采用多种调度算法时,可以利用这个结论进行检验。
14.下列关于剥夺式系统的说法中,正确的是______。
∙A.若系统采用时间片轮转调度进程,则系统采用的是剥夺式调度
∙B.若由于某种事件引起调度,则该系统是剥夺式调度
∙C.实时系统通常采用剥夺式调度
∙D.在剥夺式系统中,进程的周转时间较非剥夺式系统可预见
(分数:
2.00)
A. √
B.
C.
D.
解析:
时间片轮转调度算法是一种剥夺式的调度算法,当时间片用完时,即使当前进程没有执行完,系统也会剥夺当前进程的处理器给下一个进程,A选项正确。
因为某种事件而引起调度,不能确定是否剥夺,有可能是不剥夺系统。
只有进程本身等待某事件时才主动放弃处理器而引起调度,才有可能是剥夺系统。
采用优先级剥夺调度策略,当有优先级更高的进程到达时,会剥夺当前进程处理器并引起调度,因此B选项错误。
实时系统是否剥夺是不确定的,如订票系统通常不会采用剥夺策略,不然会导致被剥夺的用户购票失败,C选项错误。
剥夺式系统中,进程的执行顺序不可预知,因此无法估算周转时间,相反非剥夺的系统会由于调度顺序可预见而使周转时间更容易预见,D选项错误。
15.以下算法与作业运行时间有关的是______。
∙A.优先级调度
∙B.时间片轮转
∙C.短作业优先
∙D.先来先服务
(分数:
2.00)
A.
B.
C. √
D.
解析:
与运行时间有关的调度算法是短作业优先,多级队列反馈也有些关系(最后一个队列)。
其他三项与作业的运行时间均无关系。
优先级调度与作业优先级有关,时间片轮转则与时间片大小以及作业数量有关,先来先服务只与作业到达的次序有关。
16.下列关于临界区和临界资源叙述中,正确的是______。
Ⅰ.银行家算法可以用来解决临界区(CriticalSection)问题
Ⅱ.一个正在访问临界资源的进程由于申请I/O操作而被阻塞时,不允许其他进程进入临界区和抢占处理器执行
Ⅲ.公用队列属于临界资源
Ⅳ.私用数据属于临界资源
∙A.Ⅰ、Ⅱ
∙B.Ⅰ、Ⅳ
∙C.只有Ⅲ
∙D.只有Ⅳ
(分数:
2.00)
A.
B.
C. √
D.
解析:
临界资源是指每次仅允许一个进程访问的资源。
每个进程中访问临界资源的那段代码称为临界区。
Ⅰ错误,银行家算法是避免死锁的算法。
Ⅱ错误,一个正在访问临界资源的进程由于申请I/O操作而被阻塞时,不允许其他进程进入临界区,但可以运行其他进程抢占处理器继续执行。
Ⅲ正确,公用队列可供多个进程使用,但一次只可有一个程序使用。
Ⅳ错误,私用数据仅供一个进程使用,不存在临界区问题。
因此,本题选择C选项。
17.两个旅行社为旅客在航空公司订飞机票,形成互斥资源的是______。
∙A.旅行社
∙B.航空公司
∙C.飞机票
∙D.飞机票和航空公司
(分数:
2.00)
A.
B.
C. √
D.
解析:
互斥资源指被竞争且不能同时使用的资源,机票不能够同时被两个旅客占有,因此机票是互斥资源。
旅行社和航空公司都可以同时为多个旅客服务,不算互斥资源。
18.进程A在执行过程中要使用临界资源,但要先获得进程B的计算结果,而此时进程B正在忙于I/O操作,则此时进程A应遵循同步机制的______准则。
∙A.让权等待
∙B.空闲让进
∙C.忙则等待
∙D.有限等待
(分数:
2.00)
A. √
B.
C.
D.
解析:
进程同步机制应遵循的4个准则为:
空闲让进、忙则等待、有限等待和让权等待。
1)空闲让进:
当没有进程处于临界区时,可以允许一个请求进入临界区的进程立即进入自己的临界区。
2)忙则等待:
当已有进程进入其临界区时,其他试图进入临界区的进程必须等待。
3)有限等待:
对要求访问临界资源的进程,应保证能在有限的时间内进入自己的临界区。
4)让权等待:
当一个进程因为某些原因不能进入自己的临界区时,应释放处理器给其他进程。
进程A需要进程B的结果,而此时进程B没法给A结果,因此A因为缺少数据而无法进入自己的临界区,应当遵循“让权等待”的准则,放弃处理器给其他进程,因此答案选择A选项。
19.设有两个进程P1和P2,counter为共享变量,描述如下:
intcounter=6;
P1:
computing;
counter=counter+1;
P2:
printing;
counter=counter-2;
两个进程并发执行,运行完成后,counter的值不可能为______。
∙A.4
∙B.5
∙C.6
∙D.7
(分数:
2.00)
A.
B.
C. √
D.
解析:
本题需要考虑赋值表达式的左值和右值(或理解为分解成两条指令),将指令命名如下:
计算右值1.counter+13.counter-2左值赋值2.counter=4.counter=初始时counter为6,考虑到进程并发执行的特点,当执行顺序为1,2,3,4或3,4,1,2时,counter的结果为5。
当执行顺序为1,3,2,4或3,1,2,4时,counter的结果为4。
当执行顺序为1,3,4,2或3,1,4,2时,counter的结果为7。
故而无法得到6,因此答案选择C选项。
20.下述选项不是管程的组成部分的是______。
∙A.局限于管程的共享数据结构
∙B.对管程内数据结构进行操作的一组过程
∙C.管程外过程调用管程内数据结构的说明
∙D.对局限于管程的数据结构设置初始值的语句
(分数:
2.00)
A.
B.
C. √
D.
解析:
管程定义了共享数据结构和各种进程在该数据结构上的全部操作。
管程由局限于管程的共享变量说明、对管程内的数据结构进行操作的一组过程以及对局限于管程的数据设置初始值的语句组成。
★管程的作用相当于进程中临界区前后的进入区和退出区。
21.在用信号量机制实现互斥时,互斥信号量的初值为______。
∙A.0
∙B.1
∙C.-1
∙D.用户指定
(分数:
2.00)
A.
B. √
C.
D.
解析:
互斥即同时只允许一个进程访问,初值只能是1,表示同时只允许一个进程进入自己的临界区。
所有信号量的初值都不能为负数。
★有时候题目条件为同时允许N个进程进入自己的临界区,则此时约束进程的信号量的初值就不再是1,而是N,即同时允许几个进程进入临界区,则信号量初值为几。
当用信号量表示某种资源时,信号量的初值应该与可利用资源的初始数量相一致,因此需要根据情况变化由用户来指定。
22.有3个进程共享同一程序段,而每次只允许两个进程进入该程序段,若用PV操作同步机制,则信号量S的取值范围是______。
∙A.2,1,0,-1
∙B.3,2,1,0
∙C.2,1,0,-1,-2
∙D.1,0,-1,-2
(分数:
2.00)
A. √
B.
C.
D.
解析:
用于控制同时访问的进程数量的信号量初值通常为允许同时访问的最大进程数,本题中的情况是2(如果初值为1,则表示同时只允许1个进程访问)。
当3个进程同时申请访问时,执行3次P操作,因此信号量的最小值为-1。
因此选择A选项。
23.对于两个并发进程,设置互斥信号量为mutex(初值为1),若mutex=-1,则表示______。
∙A.没有进程进入临界区
∙B.有一个进程进入临界区,另一个进程撤销
∙C.有一个进程进入临界区,另一个进程等待进入
∙D.有两个进程进入临界区
(分数:
2.00)
A.
B.
C. √
D.
解析:
互斥信号量初值为1,表示同时只允许1个进程访问临界资源。
当有1个进程提出访问临界资源请求时,执行P操作,互斥信号量减1,变为0,同时该进程进入临界区。
如果另一个进程此时也请求访问临界资源,则同样执行P操作,由于互斥信号量执行P操作之前的值为0,执行过P操作后,信号量值变为-1,小于0,不能允许进程访问临界资源,将其阻塞并加入阻塞队列中。
因此,mutex=-1时,表示有一个进程进入临界区,另一个进程等待进入。
24.当一个进程因在互斥信号量上执行V操作而导致唤醒另一个进程时,则互斥信号量现在的取值为______。
∙A.大于0
∙B.小于0
∙C.大于等于0
∙D.小于等于0
(分数:
2.00)
A.
B.
C.
D. √
解析:
V操作能够唤醒另一个进程,表明执行过V操作之后,在等待队列中或许还存在等待的进程,或者被唤醒的进程是等待队列中的最后一个。
因此信号量取值为负数或刚好为0,本题选择D选项。
有的题也会对P操作考查类似的问题,下面举一个简单例子。
如果对信号量S执行P操作后,则进入等待队列的条件就是当前没有资源能够分配给进程,因此反映在信号量的值上就是在P操作之前信号量的值已经小于等于0,表示刚好没有资源且无等待进程,或者没有资源但还有其他等待进程。
因此执行P操作前,信号量的值小于等于0,执行过P操作之后,信号量的值小于0。
25.每执行一次P操作,信号量S减1,如果减1后______,则该进程继续执行;若______,则该进程将被阻塞,并被插入到该信号量对应的等待队列中。
∙A.S大于0
∙B.S大于等于0
∙C.S小于0
∙D.S小于等于0
(分数:
2.00)
A.
B. √
C. √
D.
解析:
如果执行之后S大于等于0,则表明此次申请资源成功,进程可以继续执行;如果执行之后S小于0,则表明本次申请未能得到满足,因此插入到等待队列中。
类似地,也可以总结出v操作的相关规律:
每执行一次V操作,信号量S加1,如果加1后S大于0,则该进程继续执行;若S小于等于0,则从该信号量对应的等待队列中取出一个进程,并使该进程的状态变为就绪状态。
如果执行之后S大于0,则表明当前没有等待的进程,当前进程不需要执行唤醒操作,继续执行即可;如果执行过V操作后S小于等于0,说明当前队列中有等待的进程,需要将其中的一个唤醒。
26.若一个系统中共有5个并发进程涉及某个相同的变量A,则变量A的相关临界区是由______个临界区构成的(假设每个进程对于变量A的操作都只有一段代码)。
∙A.1
∙B.5
∙C.与资源数量有关
∙D.与进程功能有关
(分数:
2.00)
A.
B. √
C.
D.
解析:
本题考查临界区和临界资源的辨析。
临界资源是进程需要访问但不能同时访问的公共资源,临界区则是每个进程用来访问临界资源的代码,每个进程都有自己的临界区,各自临界区的代码功能也可以不同。
有5个进程会涉及变量A,而且每个进程对A的操作都只有一段代码,则与A相关的临界区每个进程有一个,所以答案为B选项。
★如果题目中不加“一段代码”这个条件,则相关的临界区就不一定与进程数相同了,因为每个进程中可能有多段代码都与临界资源有关。
也就是说,每个进程中与临界资源有关的临界区会有多个,此时本题的答案就变为D选项了。
27.假设系统中总共有n个进程存在,则阻塞队列中进程的个数最多有______个。
∙A.n+1
∙B.n
∙C.n-1
∙D.1
(分数:
2.00)
A.
B. √
C.
D.
解析:
本题极易错认为n个进程应该有一个进程被分配CPU运行,剩下最多n-1个进程在阻塞队列中,而且如果就绪队列中有进程,则阻塞队列中的进程还将少于n-1个。
但考虑到另一种情况,那就是死锁。
如果这n个进程由于争夺资源而产生死锁,那么就有n个进程全在阻塞队列中等待相互间的资源的释放,没有执行中和就绪的进程。
如果题目改为问就绪队列最多有多少个,则答案就变为n-1了。
一个计算机系统中至少含有一个处理器,也就是说总会有一个请求执行的进程得到处理器。
假设所有进程都提出执行申请,则其中一个得到满足,剩余的n-1个进程插入就绪队列,此时就绪的进程最多,个数为n-1。
28.假设系统中