操作系统 练习题 第二章 课后习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章课后习题
一、单项选择题
1、在单一处理机上执行程序,多道程序的执行是在()进行的。
A.同一时刻
B. 同一时间间隔内
C.某一固定时刻
D. 某一固定时间间隔内
2、引入多道程序技术后,处理机的利用率()。
A.降低了
B. 有所改善
C.大大提高
D. 没有变化,只是程序的执行方便了
3、顺序程序和并发程序的执行相比,()。
A.基本相同
B. 有点不同
C.并发程序执行总体上执行时间快
D.顺序程序执行总体上执行时间快
4、单一处理机上,将执行时间有重叠的几个程序称为()。
A.顺序程序
B. 多道程序
C.并发程序
D. 并行程序
5、进程和程序的本质区别是()。
A.存储在内存和外存
B.顺序和非顺序执行机器指
C.分时使用和独占使用计算机资源
D.动态和静态特征
6、进程就是程序在并发环境中的执行过程,它是系统进行资源分配和调度的一个基本单位。
进程具有[1]、[2]、调度性、异步性和结构性等基本特征。
进程是一次执行过程,具有生命期体现了进程的[1]特征。
进程由程序段、[3]、[4]组成,其中[4]是进程在系统中存在的唯一标识。
供选择的答案:
[1][2] A、动态性B、静态性C、共行性D、并发性E、可执行
性F、易用性
[3] A、过程B、数据C、进程标识符D、函数
[4] A、FCB B、FIFO C、PCB D、JCB
7、进程执行时的间断性,决定了进程可能具有多种状态。
进程的基本状态有三种,在分时系统中,当一个进程拥有的时间片到时,则该进程即由[1]进入[2]。
如果出现因某种原因使得处理机
空闲时,则需要从就绪队列中选择一进程,并将处理机分配给它,此时该进程进入[3],这个过程是由[4]来完成。
供选择的答案:
[1][2][3] A、就绪状态B、静止状态C、阻塞状态D、运行状态
[4] A、进程控制程序B、资源分配程序C、进程调度程序D、处理机分配程序
8、为了描述进程的动态变化过程,采用了一个与进程相联系的()系统,根据它而感知进程的存在。
A.进程状态字
B. 进程优先数
C.进程控制块
D. 进程起始地址
9、下列进程状态的转换中,哪一个是不正确的()。
A. 就绪->运行
B. 运行->就绪
C. 就绪->阻塞
D. 阻塞->就绪
10、下列各项步骤中,哪一个不是创建进程所必须的步骤()。
A. 建立一个进程控制块PCB
B. 由CPU调度程序为进程调度CPU
C. 为进程分配内存等必要的资源
D. 将PCB链入进程就绪队列
11、在下列特性中,哪一个不是进程的特性()。
A. 异步性
B. 并发性
C. 静态性
D. 动态性
12、在单处理机系统中,处于运行状态的进程()。
A.只有一个
B. 可以有多个
C.不能被挂起
D. 必须在执行完后才能被撤下
13、如果某一进程在运行时,因某种原因暂停,此时将脱离运行状态,而进入()。
A.自由状态
B. 停止状态
C.阻塞状态
D. 静止状态
14、已经获得除()以外的所有运行所需资源的进程处于就绪状态。
A.存储器
B. 打印机
C. CPU
D. 磁盘空间
15、一个进程被唤醒意味着()。
A.该进程重新占有了CPU
B.进程状态变为就绪
C.它的优先权变为最大
D.其PCB移至就绪队列的队首
16、进程从运行状态变为阻塞状态的原因是()。
A.输入或输出事件发生
B.时间片到
C.输入或输出事件完
成 D.某个进程被唤醒
17、在操作系统中同时存在多个进程,它们()。
A. 不能共享系统资源
B. 不能调用同一段程序代码
C. 可以共享允许共享的系统资源
D. 可以共享所有的系统资源
18、操作系统中有一组常称为特殊系统调用的程序,它不能被系统中断,在操作系统中称为()。
A.初始化程序
B. 原语
C.子程序
D. 控制模块
19、进程间的基本关系为()。
A.相互独立与相互制约
B.同步与互斥
C.并行执行与资源共享
D. 信息传递与信息缓冲
20、进程间的同步与互斥,分别表示了各进程间的()。
A.相互独立与相互制约
B.协调与竞争.不同状态 D. 动态性与独立性
21、两个进程合作完成一个任务,在并发执行中,一个进程要等待其合作伙伴发来信息,或者建立某个条件后再向前执行,这种关系是进程间的()关系。
A.同步
B. 互斥
C.竞争
D. 合作
22、在一段时间内,只允许一个进程访问的资源称为()。
A. 共享资源
B. 临界区
C. 临界资源
D. 共享区
23、在操作系统中,对信号量S的P原语操作定义中,使进程进入相应阻塞队列等待的条件是()。
A. S>0
B. S=0
C. S<0
D. S10
24、从下列有关进程管理的叙述中,选出正确的两条叙述。
()()
A、进程之间同步,主要源于进程之间的资源竞争,是指对多个相关进程在执行次序上的协调;
B、临界资源是指每次仅允许一个进程访问的资源;
C、信号量机制是一种有效的实现进程同步与互斥的工具。
信号量只能由P-V操作来改变;
D、V操作是对信号量执行加1操作,意味着释放一个单位资源,加1后如果信号量的值小于等于零,则从等待队列中唤醒一个进程,现进程变为等待状态,否则现进程继续进行;
二、填空题
1、程序的____________执行是现代操作系统的基本特征之一,为了更好地描述这一特征而引入了____________这一概念。
2、进程至少有三种基本状态:____________、____________和____________。
3、进程存在的标志是____________。
4、进程的静态实体由____________、____________和____________三部分组成。
5、进程被创建后,最初处于____________状态,然后经____________选中后进入状态。
6、进程的同步和互斥反映了进程间____________和____________的关系。
7、用于进程控制的原语主要有____________、____________、____________和____________。
8、操作系统中信号量的值与____________的使用情况有关,它的值仅能由____________来改变。
9、每执行一次P操作,信号量的数值S减1。
若S30,则该进程____________;若S<0,则该进程____________。
10、每执行一次V操作,信号量的数值S加1。
若____________,则该进程继续执行;否则,从对应的____________队列中移出一个进程并将____________状态赋予该进程。
11、利用信号量实现进程的____________,应为临界区设置一个信号量mutex,其初值为1,表示该资源尚未使用,临界区应置于____________和____________原语之间。
12、如果系统中有n个进程,则在就绪队列中进程的个数最多为____________。
13、高级进程通信方式大致分为三大类:____________、____________和____________。
14、一般说来,进程队列有三种组织方式,线性方式、____________和____________。
三、简答题
1.在操作系统中为什么要引入进程概念?它与程序的差别和关系是怎样的?
2.PCB的作用是什么?它是怎样描述进程的动态性质的?
3.进程的基本状态有几种?试描绘进程状态转换图。
4.用进程状态转换图(如下)能说明有关处理机管理的大量内容。
试回答:(1)、什么事件引起每次显著的状态变迁?(2)、下列状态变迁因果能否发生?为什么?
(A)2—>1 (B)3—>2 (C)4—>1
5.在UNIXS-5中,表示进程的数据结构是怎样的?
6.PCB表的组织方式主要有那几种?分别予以简要说明。
7.什么是进程的互斥与同步?
8.什么是临界区和临界资源?一进程进入临界区的调度原则是什么?
9.是否所有的共享资源都是临界资源?为什么?
10.简述信号量的定义和作用。
P、V操作原语是如何定义的?
四、应用题
1、设系统中只有一台打印机,有三个用户的程序在执行过程中都要使用打印机输出计算结果。
设每个用户程序对应一个进程。
问:这三个进程间有什么样的制约关系?试用P、V操作写出这些进程使用打印机的算法。
2、判断下面的同步问题的算法是否正确?若有错,请指出错误原因并予以改正。
(1)设A、B两进程共用一个缓冲区Q,A向Q写入信息,B则从Q读出信息,算法框图如图所示。
注:信号量S的初值为0
(2)设A、B为两个并发进程,它们共享一临界资源。
其运行临界区的算法框图如图所示。
注:信号量S1、S2的初值均为0
3、设有一台计算机,有两条I/O通道,分别接一台卡片输入机和一台打印机。
卡片机把一叠卡片逐一输入到缓冲区B1中,加工处理后在搬到缓冲区B2中,并在打印机上印出,问:
①系统要设几个进程来完成这个任务?各自的工作是什么?②这些进程间有什么样的相互制约关系?③用P、V操作写出这些进程的同步算法。
进程控制练习题答案
一.选择题
1.B 2.C 3.C 4.C 5.D 6.⑴A ⑵D ⑶B ⑷C 7.⑴
⑵⑶AD ⑷
C 8.C 9.C 10.B 11.C 12.A 13.C 14.C 15.B 16.A 17.C 18.B 19.B 20.B 21.A 22.C 23.C 24.BC
二、填空题
1.并发进程2.运行态就绪态阻塞态3.PCB 4.程序数据集合PCB5.就绪进程调度程序 6.直接制约间接制约7.进程创建进程终止进程阻塞进程唤醒8.相应资源pv操作9.进入阻塞队列10.S>0 阻塞就绪11.互斥
P(mutex) V(mutex) 12.n-1 13.共享存储器管道文件消息传
递14.链接方式索引方式。
三、简答题
1.答:在操作系统中,由于多道程序并发执行时共享系统资源,共同决定这些资源的状态,因此系统中各程序在执行过程中就出现了相互制约的新关系,程序的执行出现“走走停停”的新状态。
这些都是在程序的动态过程中发生的。
用程序这个静态概念已不能如实反映程序并发执行过程中的这些特征。
为此,人们引入“进程”这一概念来描述程序动态执行过程的性质。
进程与程序的主要区别是:1、进程是动态的;程序是静态的。
2、进程有独立性,能并发执行;程序不能并发执行。
3、二者无一一对应关系。
4、进程异步运行,会相互制约;程序不具备此特征。
但进程与程序又密切的联系:进程不能脱离具体程序而虚设,程序规定了相应进程所要完成的动作。
2.答:PCB是进程组成中最关键的部分。
每个进程有惟一的进程控制块;操作系统根据PCB 对进程实施控制和管理,进程的动态、并发等特征是利用PCB表现出来的;PCB是进程存在的惟一标志。
PCB中有表明进程状态的信息:该进程的状态是运行态、就绪态还是阻塞态,利用状态信息来描述进程的动态性质。
3. 答:进程的基本状态有运行态、就绪态和阻塞态(或等待态)。
进程状态转换图见图2—6。
4.(1)就绪->运行:CPU空闲,就绪态进程被调度程序选中。
运行->阻塞:运行态进程因某种条件为满足而放弃对CPU的占用,如等待读文件。
阻塞->就绪:阻塞态进程所等待的事件发生了,例如读数据的操作完成。
运行->就绪:正在运行的进程用完了本次分配给它的CPU时间片。
(2)下述状态变迁:(A)2—>1:可以。
运行进程用完了本次分配给它的时间片,让出CPU,从就绪队列中选一个进程投入运行。
(B)3—>2:不行。
任何时候一个进程只能处于一种状态,它既然由运行态变为阻塞态,就不能再变为就绪态。
(C)4—>1:可以。
某一阻塞态进程等待的事件出现了,而且此时就绪队列为空,该进程进入就绪队列后马上又被调度运行。
5.在UNIX S_5中,进程映像由以下部分构成:proc结构和user结构,核心栈和用户栈,进程私有的程序和数据,共享正文段。
6. PCB表的组织方式主要有:线性方式、链接方式和索引方式。
线性方式是把所有进程的PCB都放在一个表中。
链接方式按照进程的不同状态把它们分别放在不同的队列中。
索引方式是利用索引表记载相应状态进程的PCB地址。
7. 进程的互斥:在逻辑上本来完成独立的若干进程,由于竞争同一个资源而产生的相互制约关系。
进程的同步:是进程间共同完成一项任务时直接发生相互作用的关系,也就是说,这些具有伙伴关系的进程在执行时间次序上必须遵循确定的规律。
8.临界资源:一次仅允许一个进程使用的资源。
临界区:在每个进程中访问临界资源的那段程序。
一进程进入临界区的调度原则是:(1).如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。
(2).任何时候,处于临界区内的进程不可多于一个。
如已有进程进入自己的临界区,则其它所有试图进入临界区的进程必须等待。
(3)进入临界区的进程要在有限时间内退出,以便其它进程能及时进入自己的临界区。
(4)如果进程不能进入自己的临界区,则应让出CPU ,避免进程出现“忙等”现象。
9.不是所有的共享资源都是临界资源。
因为临界资源是一次仅允许一个进程使用的资源,而系统中有很多资源可以让多个进程同时使用,例如硬盘,正文段等。
10. 信号量一般是由两个成员组成的数据结构,其中一个成员是整型变量,表示该信号量的值,它是与相应资源的使用情况有关的;另一个是指向CPU的指针。
当多个进程都等待同一信号量时,它们就排成一个队列,由信号量的指针项指出该队列的头。
信号量通常可以简单反映出相应资源的使用情况,它与P,V操作原语一起使用可实现进程的同步和互斥。
P,V操作原语的定
义:P(S):顺序执行下述两个动作:(1)信号量的值减1,即S=S-1; (2)如果S>=0,则该进程继续执行;如果S<0,则把该进程的状态置为阻塞态,把相应的PCB连入该信号量队列的末尾,并放弃处理机,进行等待(直至其它进程在S上执行V操作,并它释放出来为止)。
V(S):顺序执行下述两个动作:(1)S值加1,即S=S+1; (2)如果S<=0,则该进程继续运行;如果S<=0,则释放信号队列上的第一个PCB(即信号指针所指向的PCB)所对应的进程(把阻塞态改为就绪态),执行V操作的进程继续运行。
四、应用题
1.因为打印机是一种临界资源,所以这三个进程只能互斥使用这台打印机,即一个用户的计谋结果打印之后,另一个用户再打印。
设三个进程分别为A,B,C. 设一个互斥信号量mutex,其初值为1。
A进程B进程C进程P(mutex) P(mutex) P(mutex) 使用打印机使用打印机使用打印机V(mutex)……V(mutex)……V(mutex)………….
2.(1)这个算法不对。
因为A,B两进程共用一个缓冲区Q,如果A先运行,且信息数量足够多,那么缓冲区Q中的信息就会发生后面的冲掉前面的,造成信息丢失,B就不能从Q K读出完整的信息。
改正:
A,B两进程要同步使用缓冲区Q。
为此,设立两个信号量:e m p t y
表示缓冲区Q为空,初值为1;f u l l表示缓冲区Q为满,初值为0。
算法框如图1所示。
(2)这个算法不对。
因为A,B两个进程是并发的,它们共享一个临界资源,所以二者应互斥地使用该临界资源,在进入临界区时不存在A先B后的时序关系,而是哪个进程先到一步就先进入自己的临界区。
改正:A,B两个进程应互斥地进入临界区。
为此,设立一个信号量:互斥信号量m u t e x,其初值为1。
3. (1)系统可设三个进程来完成这个任务:R进程负责从卡片输入机上读入卡片信息,输入到缓冲区B1中;C进程负责从缓冲区B1中取出信息,进行加工处理,之后将结果送到缓冲区B2中;P进程负责从缓冲区B2中取出信息,并在打印机上打印。
(2)R进程受C进程影响,B1放满信息后R进程要等待——等C进程将其中信息全部取走,才能继续读入信息;C进程受R进程和P
进程的约束:B1中信息放满后C进程才可从中取出它们,且B2被取空
后C进程才可将加工结果送入其中;P进程受C进程的约束:B2中信息放满后P进程才可从中取出它们,进行打印。
(3)信号量含义及初值:B1f u l l——缓冲区B1满,初值为0;B1e m p t y——缓冲区B1空,初值为0;B2f u l l——缓冲区B2满,初值为0;
B2e m p t y——缓冲区B2空,初值为0。