操作系统第二次作业参考解答(第三章)
一选择题。1.进程从运行态转换成阻塞态的条件是 c 。
a.进程的时间片用完b.被进程调度程序选中。
c.等待某一事件d.等待的事件已发生。
2.进程从运行状态变成就绪状态的原因是: a 。
a.该进程的时间片用完b.该进程等待输入输出操作。
c.该进程输入输出操作完成d.该进程已完成。
3.用p、v操作管理临界区时,信号量的初值应定义为 c 。
a.-1b.0c.1d.n (n>1)
4.在引入线程的操作系统中,资源分配的基本单位是 d 。
a.作业b.程序c.线程d.进程。
5.进程与线程的根本区别是 a 。
a. 进程是资源分配单位,而线程是调度和执行单位。
b. 线程是资源分配单位,而进程是调度和执行单位。
c. 进程是并发执行的,而线程是串行执行的。
d. 线程是并发执行的,而进程是串行执行的。
6.用信箱实现通信时,使用 b 两条基本原语。
a.打开与关闭 b.发送与接收 c.p操作与v操作 d.同步与互斥。
7.在应对死锁问题中,银行家算法是用于 b 的。
a.预防死锁 b.避免死锁 c.检测死锁 d.解除死锁。
8.某系统中仅有 4 个并发进程竞争某类资源,并都需要该类资源 3 个,那么该类资源至少有 a 个,这个系统不会发生死锁。
a. 9b.10c.11d.12
二判断题(你认为正确的写t,错误的写f)
1.( f )在多道程序环境下,程序和机器执行程序的活动是严格一一对应的。
2.( f )当一进程在运行中需等待某一事件发生时,便调用阻塞原语,将自己从运行态改变为就绪态。
3.( f )一组同步的并发进程均可对自己的私用信号量进行p操作和v操作。
4.( t )消息缓冲通信和信箱通信是进程通信的高级形式。
5.( f )银行家算法可以预防死锁。
6.( t )windowsnt采用多线程机制。
三简答题。1. 画图表示进程的三个基本状态及其转换条件。
进程调度。时间片等待某事件。
用完。等待事件已发生。
2. 什么是原语?属于进程控制方面的原语有哪些?
解答:原语是指由若干条机器指令构成的并用以完成特定功能的一段程序,这段程序执行期间不可分割,不可中断。操作系统内核的各项功能是通过执行原语来实现的。
属于进程控制方面的原语有进程创建原语、进程撤消原语、进程挂起原语、进程激活原语、进程阻塞原语和进程唤醒原语。
3.引起进程调度的时机有哪几种情况?
解答:引起进程调度的时机有以下几种情况:
(1)现运行进程正常结束或异常结束;
2)现运行进程因某种原因(如i/o请求),从运行态进入阻塞态;
3)现运行进程执行某原语操作(如p操作、阻塞原语等),进入阻塞态;
4)在优先级调度且抢占方式情况下,一具有更高优先级的进程进入就绪队列要求运行;
5)在分时系统中,分给进程运行的时间片用完。
当出现以上情况之一时,现运行进程使用的处理机被收回,并引起新一轮进程调度。
4. 简述公用信号量和私用信号量的用法及其初值。
解答:在操作系统中,信号量表示资源的实体, 其值仅能由p、v操作改变。公用信号量通常用于实现进程之间的互斥,是被一组互斥的进程所公用的,初值为1, 它所联系的一组并发进程均可对其实施p、v操作 (在进入各自临界区前实施p操作,离开临界区时实施v操作);私用信号量一般用于实现进程之间的同步,初值为 0 或某个正整数n, 仅允许拥有该信号量的进程对其实施 p操作,与它同步的进程对其实施v操作。
5. 什么是死锁?产生死锁的必要条件是什么?
解答:一组进程中的每个进程,都无限期等待被该组进程中的另一进程所占有的资源,因而无法得到满足,永远不能继续前进,这种现象称为死锁,这组进程就称为死锁的进程。
产生死锁有四个必要条件:(1)互斥控制条件,一个资源仅能被一个进程独占;(2)非剥夺控制条件,进程所获得的资源在未释放之前,不能被其它进程剥夺;(3)逐次请求条件,进程不是集中性的一次请求资源,而是逐次取得资源;(4)环路条件,进程之间对资源的请求和占用构成了环路。
四应用题。1.某剧院售票厅,任何时刻最多可容纳100名购票者进入,当售票厅中少于100名购票者时,则厅外的购票者可立即进入,否则需在外面等待。若把一个购票者看作一个进程,请回答下列问题:
1)这是同步还是互斥问题?如用p、v操作管理这些并发进程,写出信号量的初值。
答:这是互斥问题,设一公用信号量s,初值为100。
(2)在下面程序的适当位置上添加信号量的 p、v操作,以保证能正确地并发执行。
cobegin process pi ( i = 1,2,…
beginp(s);
进入剧院售票厅;
排队购票;退出剧院售票厅;
v(s);end;
coend;
3)若购票者最多为 n(n>100)个人,请写出信号量的变化范围(最大值和最小值)。
答:从-(n-100)变化到100。
2.某系统中有四类资源,五个进程。当前资源分配情况如下:
allocationneed**ailable
a b c d a b c d a b c d
p0: 0 0 3 2 0 0 1 2 1 6 2 3
p1: 1 0 0 0 1 7 5 0
p2: 1 3 5 4 2 3 5 6
p3: 0 3 3 2 0 6 5 2
p4: 0 0 1 4 0 6 5 6
试问:(1) 当前状态是否安全?若是安全状态,请给出进程安全序列。
(2) 如果进程p2提出请求request2=(1,2,2,2),系统能否将资源分配给它?说明原因.
解答:(1)当前状态是安全的。找出进程安全序列的分析过程如下:
从分析过程,可得出进程安全序列是:。
(2)按照银行家算法, 因request2(1, 2,2,2)≤ need2(2,3,5,6),且request2(1, 2,2,2)≤ **ailable(1,6,3,2),试探性地将请求的资源分给进程p2,并修改有关数据结构的数值:
**ailable= **ailable(1,6,3,2)- request2(1, 2,2,2)
**ailable(0,4,1,0)
need2= need2(2,3,5,6)-request2(1, 2,2,2)=need2(1,1,3,4)
allocation2= allocation2(1,3,5,4)+ request2(1, 2,2,2)
allocation2(2,5,7,6)
此时系统可用资源**ailable(0,4,1,0)均不能满足这五个进程还需要的资源数量,分别是(0,0,1,2)、(1,7,5,0)、(1,1,3,4)、(0,6,5,2)和(0,6,5,6)。系统将进入不安全状态,恢复need2、allocation2及**ailable原来的值。结论是:
对进程p2的请求不予分配,进程p2阻塞等待。完)
操作系统第二次作业答案
一 单项选择题。本大题共10个小题,每小题 5.0 分,共50.0分。在每小题给出的选项中,只有一项是符合题目要求的。1.某系统有3个并发进程,都需要同类资源4个,试问该系统不会发生死锁的最少资源数是 b a.9 b.10c.11 d.122.进程的属性包括 b a.进程就是程序。或者说,进程是程序...
第二次作业 含答案
第二次作业 第三章处理机调度与死锁 1.高级调度与低级调度的主要任务是什么?为什么要引入中级调度?高级调度的主要任务 用于决定把外存上处于后备队列中的哪些作业调入内存,并为它们创建进程,分配必要的资源,然后,再将新创建的进程插入就绪队列上,准备执行。低级调度的主要任务 用于决定就绪队列中的哪个进程应...
应用系统测试 第二次作业答案
第一题 选择题,单选或多选。1 软件实施活动的进入准则描述不正确的是 d a 需求工件已经被基线化。b 详细设计工件已经被基线化。c 构架工件已经被基线化。d 项目阶段成果已经被基线化 2.软件可靠性是指在指定的条件下使用时,软件产品维持规定的性能级别的能力,其子特性 c 是指在软件发生故障或者违反...