当前位置:首页 > 操作系统 - 第二章 - 进程和线程复习题
就绪进程的个数;给出等待进程的个数。 解: 运行进程的个数可能是 0,也可能是 1; 就绪的进程的个数可能是0,也可能是n-1 等待进程的个数可能是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
共分享92篇相关文档