操作系统第二章进程和线程复习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章练习题
一、单项选择题
1.某进程在运行过程中需要等待从磁盘上读入数据,此时该进程的状态将( C )。
A. 从就绪变为运行; B.从运行变为就绪;
C.从运行变为阻塞; D.从阻塞变为就绪2.进程控制块是描述进程状态和特性的数据结构,一个进程( D )。
A.可以有多个进程控制块;
B.可以和其他进程共用一个进程控制块;
C.可以没有进程控制块;
D.只能有惟一的进程控制块。
3.临界区是指并发进程中访问共享变量的(D)段。
A、管理信息
B、信息存储
C、数据
D、
程序
4. 当__ B__时,进程从执行状态转变为就绪状态。
A. 进程被调度程序选中
B. 时间片到
C. 等待某一事件
D. 等待的事件发生
5. 信箱通信是一种( B )通信方式。
A. 直接通信
B. 高级通信
C. 低级通信
D. 信号量
6. 原语是(B)。
A、一条机器指令
B、若干条机器指令组成
C、一条特定指令
D、中途能打断的指令
7. 进程和程序的一个本质区别是(A)。
A.前者为动态的,后者为静态的;
B.前者存储在内存,后者存储在外存;
C.前者在一个文件中,后者在多个文件中;
D.前者分时使用CPU,后者独占CPU。
8. 任何两个并发进程之间存在着(D)的关系。
A.各自完全独立B.拥有共享变量
C.必须互斥D.可能相互制约
9. 进程从运行态变为等待态可能由于(B )。
A.执行了V操作 B.执行了P 操作
C.时间片用完 D.有高优先级进程就绪
10. 用PV操作管理互斥使用的资源时,信号量的初值应定义为(B)。
A.任意整数 B.1 C.0 D.-1
11. 现有n个具有相关临界区的并发进程,如果某进程调用P 操作后变为等待状态,则调用P操作时信号量的值必定为(A)。
A.≤0 B.1
C.n-1 D.n
12. 用PV操作管理临界区时把信号量的初值定义为1,现已有一个进程在临界区,但有n个进程在等待进入临界区,这时信号量的值为(C)。
A.-1 B.1 C.-n D.n
13. 用V操作唤醒一个等待进程时,被唤醒进程的状态应变成(B)状态。
A.执行B.就绪 C.运行 D.收容
14. 有一共享文件可供n个并发进程使用,但限制最多m个进程(n≥m≥1)可同时读文件,用PV操作进行管理时其信号量的初值应该为(B)。
A.n B.m C .n-m D.1
15. 当一个任务需要若干进程协同完成时,进程之间需要交换一定数量的信息,把这种信息交换称为(B)。
A.进程唤醒B.进程通信
C.进程互斥 D.进程同步
二、判断题
1、程序在运行时需要很多系统资源,如内存、文件、设备等,
因此操作系统以程序为单位分配系统资源。
(错)
2、若无进程处于运行状态,则就绪队列和等待队列均为空。
(错)
3、进程的互斥和同步总是因相互制约而同时引起。
(错)
4、P V操作不仅可用来实现进程的同步与互斥,而且可以防止
系统死锁。
(错)
5、并发进程的执行速度只取决于进程本身,不受外界影响。
(错)
三、填空题
1.在现代操作系统中,资源的分配单位是进程 ,而处理机
的调度单位是线程 ,一个进程可以有多个线程。
2.进程调度完成进程状态从就绪态到运行态的转化。
3.并发进程中涉及到访问临界资源的程序段称为临界区。
4.进程的基本状态有就绪 , 运行 , 阻塞。
5. 用PV操作管理相关临界区时,任何一个进程要进入自己的临界区前应调用 P 操作,退出临界区时应调用 V 操作。
6. 系统中存在多个进程时,这些进程对共享资源的使用存在着不同的相互制约关系,制约关系可归结为两种,一种是直接制约关系,另一种是间接制约关系。
7. 用PV操作实现进程同步时,进程应调用 P 操作来检测自
己等待的消息是否到达,调用 V 操作则可唤醒一个等待消息的进程。
8. 如果在一个取负值的信号量上调用P操作,则将使该进程变为阻塞状态,而调用V操作将使一个等待资源的进程成为就绪状态。
9. 有一资源可供n个进程共享,但限制它们只能互斥使用,若采用PV操作来管理则信号量的初值应定义为 1 ,可能出现的信号量的最小值为 1-n 。
10. 若信号量S的初值定义为10,则在S上调用了18次P操作和15次V操作后S的值应该为 7 。
11.若进程间利用信箱进行通信,则操作系统应该设计两个基本通信原语是 send 原语和 receive 原语。
四、问答题
1.一个单CPU的操作系统共有n个进程,不考虑进程状态过渡
时的情况,也不考虑空转进程。
给出运行进程的个数;给出就绪进程的个数;给出等待进程的个数。
2.解:运行进程的个数可能是 0,也可能是 1;
3.就绪的进程的个数可能是0,也可能是n-1
4.等待进程的个数可能是0,也可能是n
2. 说明下列活动是属于哪些制约关系
1)若干同学去图书馆借书进程互斥
2)两队进行篮球比赛进程互斥
3)流水线生产中的各道工序进程同步
4)商品生产和社会消费进程同步
3. 是否所有的共享资源都是临界资源,为什么?
答:不是,根据定义,一次只允许一个进程使用的进程才叫临界资源, 能同时被多个进程使用的资源不是临界资源
4. 某车站售票厅,任何时刻最多可容纳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
5. 四个进程A、B、C、D都要读一个共享文件F,系统允许多个进程同时读文件F。
但限制是进程A和进程C不能同时读文件F,进程B和进程D也不能同时读文件F。
为了使这四个进程并发执行时能按系统要求使用文件,现用PV操作进行管理,请回答下面的问题:
(1)应定义的信号量及初值:。
(2)在下列的程序中填上适当的P、V操作,以保证它们能正确并发工作:
A()B() C() D()
{ { { {
[1]; [3]; [5];[7];
read F; read F; read F; read F;
[2];[4]; [6]; [8];
} } } }
思考题解答:
(1)定义二个信号量S1、S2,初值均为1,即:S1=1,S2=1。
其中进程A和C使用信号量S1,进程B和D使用信号量S2。
(2)从[1]到[8]分别为:P(S1) V(S1) P(S2) V(S2) P(S1) V(S1) P(S2) V(S2)
6.设有一个发送者进程和接收者进程,其流程图如下图所示。
S是用于实现进程同步的信号量,mutex是用于实现进程互斥的信号量。
试问流程图中的A、B、C、D四框中应填写什么假定缓冲区有无限多个,S和mutex的初值应为多少
图发送者及接收者工作流程图
7. 在公共汽车上,司机和售票员的工作流程如下:
为保证乘客的安全,司机和售票员应密切配合协调工作。
假定初始状态为:车辆正在起点站停着车、开着门,等待第一批乘客。
当发车时间到,售票员关好车门后司机可以启动车辆。
若用PV操作来实现司机与售票员之间的协调工作,请回答下列问题:
(1)司机与售票员之间的关系是同步还是互斥解释之。
(2)用PV操作来管理时应定义几个信号量初值为多少?(3)请在司机与售票员的工作流程中填上适当的P操作和V 操作,使他们能安全、协调地工作。
8. 进程之间的通信方式有几种在单机环境下,常用的哪几种通信方式?
答:三种:共享内存,消息机制,以及管道通信
在单机环境下:常采用共享内存以及管道通信。
五、多选题
1.有关并发进程的下列叙述中,(C、D)是正确的。
A.任何时刻允许多个进程在同一CPU上运行
B.进程执行的速度完全由进程自己控制
C.并发进程在访问共享资源时可能出现与时间有关的错误D.同步是指并发进程中存在的一种制约关系
E.各自独立的并发进程在执行时不会相互影响
2. 一个正在运行的进程调用P(S)后,若S的值为(A D),则该进程可以继续运行。
A.S>0 B.S<0 C.S≠0 D.S≥0 E.S≤0。