1.1.假设一个系统有 5 个进程,他们的到达时间和服务时间如上表所示,忽略 I/O 以及其他的开销时间,若分别按 先来先服务( FCFS ) 、 非抢占式及抢占 的短进程优先( SPF ) 调度算法进行 CPU 调度,请给出各进程的完成时间、周转时间、带权周转时间、平均周转时间和平均带权周转时间。
进程 | 到达时间 | 服务时间 |
---|---|---|
A | 0 | 3 |
B | 2 | 6 |
C | 4 | 4 |
D | 6 | 5 |
E | 8 | 2 |
- | 进程 | A | B | C | D | E | 平均 |
---|---|---|---|---|---|---|---|
- | 到达时间 | 0 | 2 | 4 | 6 | 8 | |
- | 服务时间 | 3 | 6 | 4 | 5 | 2 | |
FCFS | 完成时间 | 3 | 9 | 13 | 18 | 20 | |
- | 周转时间 | 3 | 7 | 9 | 12 | 12 | 8.6 |
- | 带权周转时间 | 1 | 1.17 | 2.25 | 2.4 | 6 | 2.56 |
SPF (非抢占) | 完成时间 | 3 | 9 | 15 | 20 | 11 | |
- | 周转时间 | 3 | 7 | 11 | 14 | 3 | 7.6 |
- | 带权周转时间 | 1 | 1.17 | 2.75 | 2.8 | 1.5 | 1.84 |
SPF (抢占) | 完成时间 | 3 | 15 | 8 | 20 | 10 | |
- | 周转时间 | 3 | 13 | 4 | 14 | 2 | 7.2 |
- | 带权周转时间 | 1 | 2.16 | 1 | 2.8 | 1 | 1.59 |
续1.2 假设一个系统有 5 个进程,他们的到达时间和服务时间如上表所示,忽略 I/O 以及其他的开销时间,若按 高响应比优先调度算法(HRRF) 进行 CPU 调度,请给出各进程的完成时间、周转时间、带权周转时间、平均周转时间和平均带权周转时间。
- | 进程 | A | B | C | D | E | 平均 |
---|---|---|---|---|---|---|---|
高响应比优先 | 完成时间 | 3 | 9 | 13 | 20 | 15 | |
- | 周转时间 | 3 | 7 | 9 | 14 | 7 | 8 |
- | 带权周转时间 | 1 | 1.17 | 2.25 | 2.8 | 3.5 | 2.14 |
续1.3假设一个系统有 5 个进程,他们的到达时间和服务时间如上表所示,忽略 I/O 以及其他的开销时间,若按 只按时间片进行抢占的多级反馈队列 以及 立即抢占的多级反馈队列 (MFFP)(第 i 级队列的时间片= 2 i-1 )调度算法进行 CPU 调度,请给出各进程的完成时间、周转时间、带权周转时间、平均周转时间和平均带权周转时间。
综合概述答案:
2. 某多道程序设计系统配有一台处理器和两台外设 IO1 、 IO2 ,现有 3 个优先级由高到低的作业 J1 、 J2 和 J3 都已装入了主存,它们使用资源的先后顺序和占用时间分别是:
J1 : IO2(30ms) , CPU(10ms) , IO1(30ms) , CPU(10ms)
J2 : IO1(20ms) , CPU(20ms) , IO2(40ms)
J3 : CPU(30ms ), IO1(20ms)
处理器调度采用可抢占式的优先数算法,忽略其他辅助操作时间,回答下列问题:
分析:
本题是一个多道系统中兼有作业调度和进程调度的计算题,其中系统中的三个进程不仅要竞争使用处理器,而且还要竞争使用外设,从而使得进程之间的关系更加复杂。另一方面,本题略去了具体的作业调度(假设作业都已装入了主存),减少了所要考虑的因素。本题进程的执行过程可以借助图示的方法来描述,如图所示:
解答:
3.图 3-5 示出了时间片分别为 q =1 和 q =4 时, A 、 B 、 C 、 D 、 E 五个进程的运行情况,而图 3-6 为 q =1 和 q =4 时各进程的平均周转时间和带权平均周转时间。图中的 RR(Round Robin) 表示轮转调度算法。
习题部分:
1 .下列算法中,操作系统用于作业调度的算法是 (A)。
A .先来先服务算法 B .先进先出算法
C .最先适应算法 D .时间片轮转算法
2 .在批处理系统中,周转时间是指 (B) 。
A .作业运行时间 B .作业等待时间和运行时间之和
C .作业的相对等待时间 D .作业被调度进入内存到运行完毕的时间
3 .在作业调度中,排队等待时间最长的作业被优先调度,这是指 (A)调度算法。
A .先来先服务 B .短作业优先
C .响应比高优先 D .优先级
4 .下列算法中,用于进程调度的算法是 (D) 。
A .最先适应 B .最高响应比优先
C .均衡资源调度 D .优先数调度
5 .两个进程争夺同一个资源 (B)。
A .一定死锁 B .不一定死锁
C .只要互斥就不会死锁 D .以上说法都不对
6 .下列各项中,不是进程调度时机的是 (D) 。
A .现运行的进程正常结束或异常结束 B .现运行的进程从运行态进入就绪态
C .现运行的进程从运行态进入等待态 D .有一进程从等待态进入就绪态
7 .进程调度算法有多种, (B) 不是进程调度算法。
A .先来先服务调度算法 B .最短查找时间优先调度算法
C .静态优先数调度算法 D .时间片轮转调度算法
8 .作业调度程序从 (D) 状态的队列中选取适当的作业投入运行。
A .就绪 B .提交 C .等待 D .后备
9 .在实时操作系统中,经常采用 (D) 调度算法来分配处理器。
A. 先来先服务 B. 时间片轮转 C. 最高优先级 D. 可抢占的优先级
10 .采用时间片轮转调度算法主要是为了 (A) 。
A .多个终端都能得到系统的及时响应
B .先来先服务
C .优先权高的进程及时得到调度
D .需要 CPU 时间最短的进程先做
11 .下面关于优先权大小的论述中,不正确的论述是 © 。
A .计算型作业的优先权,应低于 I/O 型作业的优先权
B .系统进程的优先权应高于用户进程的优先权
C .资源要求多的作业,其优先权应高于资源要求少的作业
D .在动态优先权时,随着进程运行时间的增加,其优先权降低
12 .产生死锁的原因是(D) 有关。
A .与多个进程竞争 CPU
B .与多个进程释放资源
C .仅由于并发进程的执行速度不当
D .除资源分配策略不当外,也与并发进程执行速度不当
13 .有关产生死锁的叙述中,正确的是 (D) 。
A . V 操作可能引起死锁 B . P 操作不会引起死锁
C . PV 操作使用得当不会引起死锁 D .以上说法均不正确
14 .有关死锁的论述中, © 是正确的。
A .“系统中仅有一个进程进入了死锁状态”
B .“多个进程由于竞争 CPU 而进入死锁”
C .“多个进程由于竞争互斥使用的资源又互不相让而进入死锁”
D .“由于进程调用 V 操作而造成死锁”
15 .有关资源分配图中存在环路和死锁关系,正确的说法是 (D) 。
A .图中无环路则系统可能存在死锁
B .图中无环路则系统可能存在死锁,也可能不存在死锁
C .图中有环路则系统肯定存在死锁
D .图中有环路则系统可能存在死锁,也可能不存在死锁
16 .“死锁”问题的讨论是针对 (D) 的。
A .某个进程申请系统中不存在的资源
B .某个进程申请资源数超过了系统拥有的最大资源数
C .硬件故障
D .多个并发进程竞争独占型资源
17 .考虑到公平对待进程和提高系统资源工作的并行度,操作系统会经常调整进程的优先级,通常应提高 (D) 的进程优先级。
A .需计算时间长 B .很少使用外设
C .使用 CPU 时间长 D .启动外设次数多
18 .实时系统中的进程调度,通常采用(D) 算法。
A .响应比高者优先 B .短作业优先
C .时间片轮转 D .抢占式的优先数高者优先
19 . UNIX 操作系统采用的进程调度算法为 (A) 。
A 、不可强占处理机的动态化先数调度算法
B 、可强占处理机的动态化先数调度算法
C 、不可强占处理机的静态优先数调度算法
D 、可强占处理机的静态化先数调度算法
20 .当进程调度采用最高优先级调度算法时,从保证系统效率的角度来看,应提高 (B) 进程的优先级。
A .连续占用处理器时间长的 B .在就绪队列中等待时间长的
C .以计算为主的 D .用户
21 .产生系统死锁的原因可能是由于© 。
A .进程释放资源 B .一个进程进入死循环
C .多个进程竞争资源出现了循环等待 D .多个进程竞争共享型设备
22 .采用时间片轮转调度算法时,对不同的进程可以规定不同的时间片。一般来说,对 (B) 进程给一个较小的时间片比较合适。
A .需运算时间长的 B .需经常启动外设的
C .不需使用外设的 D .排在就绪队列末尾的
23 .对资源采用按序分配策略能达到 (A) 的目的。
A .防止死锁 B .避免死锁 C .检测死锁 D .解除死锁
24 .一种既有利于短小作业又兼顾到长作业的作业调度算法是 © 。
A .先来先服务 B .轮转 C .最高响应比优先 D .均衡调度
25 .在单处理器的多进程系统中,进程什么时候占用处理器和能占用多长时间,取决于 ©
A .进程相应的程序段的长度 B .进程总共需要运行时间多少
C .进程自身和进程调度策略 D .进程完成什么功能
26 .在解决死锁问题的方法中,属于“死锁避免”策略的是 (A) 。
A .银行家算法 B .死锁检测算法
C .资源有序分配法 D .资源分配图化简法
27 .系统出现死锁的原因是 © 。
A .计算机系统出现了重大故障
B .有多个等待态的进程同时存在
C .若干进程因竞争资源而无休止地等待着它方释放已占有的资源
D .资源数大大少于进程数或进程同时申请的资源数大大超过资源总数
28 .在操作系统中,所谓“死锁”是指 (B) 。
A .程序死循环 B .多个进程彼此等待资源而不能前进的状态
C .硬件故障 D .时间片太短,进程的调进调出太频繁而效率太低
29 .假设有三个进程竞争同类资源,如果每个进程需要 2 个该类资源,则至少需要提供该类资源 _ (B) 个,才能保证不会发生死锁。
A . 3 B . 4 C . 5 D . 6
30 .以下 (D) 不属于死锁的必要条件。
A .互斥使用资源 B .占有并等待资源
C .不可抢夺资源 D .静态分配资源
31 .在为多个进程所提供的可共享的系统资源不足时,可能出现死锁。但是,不适当的 ()C 也可能产生死锁。
A .进程优先权 B .资源的静态分配
C .进程的推进顺序 D .分配队列优先权
32 .采用资源剥夺法可以解除死锁,还可以采用 (B)方法解除死锁。
A .执行并行操作 B .撤消进程
C .拒绝分配新资源 D .修改信号量
33 .系统中有 4 个并发进程,都需要某类资源 3 个。试问该类资源最少为 (A)个时,不会因竞争该资源而发生死锁。
A . 9 B . 10 C . 11 D . 12
34 .在下列解决死锁的方法中,不属于死锁预防策略的是 (D) 。
A .资源的有序分配法 B .资源的静态分配法
C .分配的资源可剥夺法 D .银行家算法
35 .分时系统中进程调度算法通常采用 (B)。
A .响应比高者优先 B .时间片轮转法
C .先来先服务 D .短作业优先
36 .设有三个作业 J1 、 J2 、 J3 ,它们的到达时间和执行时间如下表:
作业名 到达时间 执行时间
J1 8:00 2 小时
J2 8:45 1 小时
J3 9:30 0.25 小时
它们在一台处理器上按单道运行,若采用短作业优先调度算法,则此三作业的执行次序是 ©。
A . J3,J2,J1 B . J1,J2,J3
C . J1,J3,J2 D . J3,J1,J2
37 .在下列作业调度算法中,可能引起作业长时间不能被装入执行的算法是 (B)。
A . FCFS 算法 B .计算时间短的作业优先算法
C .最高响应比优先算法 D .动态优先数调度算法
39 .在非抢占调度方式下,运行进程执行 V 原语后,其状态(A) 。
A .不变 B .要变 C .可能要变 D .可能不变
40 .在多进程的并发系统中,肯定不会因竞争 (D) 而产生死锁。
A .打印机 B .磁带机 C .磁盘 D . CPU
41 .通常不采用 ©方法来解除死锁。
A .终止一个死锁进程 B .终止所有死锁进程
C .从死锁进程处抢夺资源 D .从非死锁进程处抢夺资源
43 .设系统中有 P1 、 P2 、 P3 三个进程,并按 P1 、 P2 、 P3 的优先次序调度运行,它们的内部计算和 I/O 操作时间如下:
P1 :计算 60 ms—I/O 80 ms— 计算 20 ms
P2 :计算 120 ms—I/O 40ms— 计算 40ms
P3 :计算 40 ms—I/O 80ms— 计算 40ms
设调度程序执行时间忽略不计,完成这三个进程比单道运行节省的时间是(B) 。
A . 140ms B . 160ms C . 170ms D . 180ms
44 .有三个作业 A 、 B 、 C ,它们的到达时间和执行时间依次为 (8:50 和 1.5 小时 ) 、 (9:00 和 0.4 小时 ) 、 (9:30 和 1 小时 ) 。当作业全部到达后,批处理单道系统按响应比高者优先算法进行调度,则作业被选中的次序为 (B) 。
A . (ABC) B . (BAC) C . (BCA) D . (CAB)
45 .设系统中有 n 个并发进程,竞争资源 R ,且每个进程都需要 m 个 R 类资源,为使该系统不会因竞争该类资源而死锁,资源 R 至少要有 © 个。
A . nm+1 B . nm+n C . n*m+1-n D .无法预计
46 .下列选项中,降低进程优先级的合理时机是 (A) 。( 2010 全国试题)
A .进程的时间片用完 B .进程刚完成 I/O ,进入就绪队列
C .进程长期处于就绪队列中 D .进程从就绪队列转为运行状态
47 .下列进程调度算法中,综合考虑进程等待时间和执行时间的是 D 。( 2009 全国试题)
A .时间片轮转调度算法 B .短进程优先调度算法
C .先来先服务调度算法 D .高响应比优先调度算法
48 .某计算机系统中有 8 台打印机,有 k 个进程竞争使用,每个进程最多需要 3 台打印机。该系统可能会发生死锁的 k 的最小值是 C__ 。( 2009 全国试题)
A . 2 B . 3 C . 4 D . 5
49 .进程调度的关键问题是 ©。
A .内存的分配 B .时间片的确定 C .调度算法的确定 D . I/O 设备的分配
50 .下列选项中,满足短任务优先且不会发生饥饿现象的调度算法是 (B) 。( 2011 全国试题)
A .先来先服务 B .高响应比优先 C .时间片轮转 D .非抢占式短任务优先
51 .某时刻进程的资源使用情况如下表所示。
此时的安全序列是 (D) 。
A . P1 , P2 , P3 , P4 B . P1 , P3 , P2 , P 4
C . P1 , P4 , P3 , P2 D .不存在
52 .设有五个进程 P0 、 P1 、 P2 、 P3 、 P4 共享三类资源 R1 、 R2 、 R3 ,这些资源总数分别为 18 、 6 、 22 , T0 时刻的资源分配情况如下表所示,此时存在的一个安全序列是 (D) 。( 2012 全国试题)
A . P0 , P2 , P4 , P1 , P3 B . P1 , P0 , P3 , P4 , P2
C . P2 , P3 , P4 , P1 , P0 D . P3 , P4 , P2 , P1 , P0
53 .一个多道批处理系统中仅有 P1 和 P2 两个作业, P2 比 P1 晚 5ms 到达,它们的计算和 I/O 操作顺序如下:
P1 :计算 60ms , I/O80ms ,计算 20ms
P2 :计算 120ms , I/O40ms ,计算 40ms
若不考虑调度和切换时间,则完成两个作业需要的时间最少是(B) 。( 2012 全国试题)
A . 240ms B . 260ms C . 340ms D . 360ms
54 .某单处理器多进程系统中有多个就绪进程,则下列关于处理机调度的叙述中,错误的是 © 。
A .在进程结束时能进行处理机调度
B .创建新进程后能进行处理机调度
C .在进程处于临界区时不能进行处理机调度
D .在系统调用完成并返回用户态时能进行处理机调度
作业名 | 到达时间 | 估计运行时间 | 优先数 |
---|---|---|---|
J1 | 10 : 10 | 20 分钟 | 5 |
J2 | 10 : 20 | 30 分钟 | 3 |
J3 | 10 : 30 | 25 分钟 | 4 |
J4 | 10 : 50 | 20 分钟 | 6 |
( 1 )列出所有作业进入内存时间及结束时间。
( 2 )计算平均周转时间。
解:先作必要的分析(可在草稿纸上完成,分析过程不计分):
10 : 10 J1 被调入,开始运行
10 : 20 J2 进入内存,因优先级高,开始运行
J1 运行了 10 分钟,还剩 10 分钟,因优先级低,运行态变就绪态
10 : 30 J1 继续就绪
J2 运行了 10 分钟,还剩 20 分钟
J3 到达,但不能被调入
10 : 50 J2 运行结束, J4 到达
调入短作业 J4 ,但因 J4 优先级比 J1 低, J1 开始继续运行
11 : 00 J1 运行结束
J3 被调入,因优先级高,开始运行
J4 因优先级低,仍就绪
11 : 25 J3 运行结束, J4 开始运行
11 : 45 J4 运行结束
( 1 )各个作业进入主存时间、结束时间和周转时间如下表所示:( 6 分)
作业名 | 提交时间 | 进入时间 | 结束时间 | 周转时间 |
---|---|---|---|---|
J1 | 10 : 10 | 10 : 10 | 11 : 00 | 50 |
J2 | 10 : 20 | 10 : 20 | 10 : 50 | 30 |
J3 | 10 : 30 | 11 : 00 | 11 : 25 | 55 |
J4 | 10 : 50 | 10 : 50 | 11 : 45 | 55 |
( 2 )平均周转时间:( 50+30+55+55 ) /4=47.5 ( min )
7.有 5 个批处理作业( A , B , C , D , E )几乎同时到达一个计算中心,估计的运行时间分别为 10 , 6 , 2 , 4 , 8 分钟,他们的优先数分别为 1 , 2 , 3 , 4 , 5 ( 1 为最低优先数)。对下面的各种调度算法,分别计算作业的平均周期时间。
( 1 )最高优先级优先
( 2 )短作业优先
8 .假定某系统当时的资源分配图如图 3-2 所示:
( 1 )分析当时系统是否存在死锁。
( 2 )若进程 P 3 再申请 R 3 时,系统将发生什么变化,说明原因。
解: (1) 因为当时系统的资源分配图中不存在环路.所以不存在死锁。
(2) 当进程 P 3 申请资源 R 3 后,资源分配图中形成环路 P 2 → R 2 → P 3 → R 3 → P 2 ,而 R 2 ,R 3 都是单个资源的类,该环路无法消除,所以进程 P 2 , P 3 永远处于等待状态.从而引起死锁。
9 .若系统有同类资源 m 个,供 n 个进程共享,试问:当 m>n 和 m ≤ n 时,每个进程最多可以申请多少个这类资源而使系统一定不会发生死锁?
解:设每个进程申请该类资源的最大量为 x 个,则只要不等式 n(x-1)+1 ≤ m 成立,系统一定不会发生死锁。因为最坏情况下,每个进程都已获得 x-1 各资源,则 n 个进程共获得 n(x-1) 个资源,而不等式 n(x-1)+1 ≤ m 表示每个进程都已获得 x-1 各资源后,系统仍有可分配的资源,这样,至少有一个进程可以得 到全部资源,从而能执行完成,它完成后释放的资源又可使其它进程执行完成。
解不等式 n(x-1)+1 ≤ m , 可得 x ≤ 1+(m-1)/n
于是可得
X=1 当 m ≤ n
X=1+[(m-1)/n] 当 m>n
10 .设系统中仅有一类数量为 M 的独占资源,系统中 N 个进程竞争该类资源,其中各进程对该类资源的最大需求量为 W 。当 M 、 N 、 W 分别取下列值时,试判断哪些情况可能会发生死锁?哪些情况不可能发生死锁?为什么?
① M=2, N=2, W=1 ② M=3, N=2, W=2 ③ M=3, N=2, W=3
④ M=5, N=3,W=2 ⑤ M=6, N=3, W=3
解: M 、 N 、 W 满足关系式 N(W-1)
12 .在单处理机系统中,有多个进程运行:一些以计算为主,一些以输入 / 输出为主。如何赋予进程占有处理器的优先级才能提高系统的效率,使系统的平均周转时间减少?
答:若计算型进程的优先级高于 I/O 型进程的优先级,计算型进程一旦占有了 CPU 便忙于计算,使 I/O 型进程得不到运行的机会,导致 I/O 设备空闲,达不到 CPU 与 I/O 操作并行的目的;多个 I/O 型进程在系统中停留时间增加,系统的平均周转时间增加。
若 I/O 型进程的优先级高于计算型进程的优先级,当它完成一项 I/O 操作后,便能立即获得 CPU ,为下 次 I/O 作准备工作,并启动外设。当设备被启动后,它便主动交出 CPU ,由系统将 CPU 分配给计算型进程,从而使 CPU 与 I/O 设备并行操作,获得较好的运行效率。
因此,应赋予以 I/O 为主的进程更高的优先级。