填空题
- 微机是以(总线)为组带构成的计算机系统
- 在批处理兼分时系统中,往往把由分时系统控制的作业称为(前台)作业,把由批处理系统处理的作业称为(后台)作业
- 在分时系统中,若时间片长度一定,则(用户数越多),系统响应时间越慢
- 分布式操作系统能使系统中若干台计算机(协同)完成一个共同的任务,分解问题成为子计算并使之在系统中各台计算机上(并行执行),以充分利用各计算机的优势
- 用户通过网络操作系统可以(网络通信)、(资源共享),从而大大扩展了计算机的应用范围
CPU利用率相关计算题
1
有两个程序。
程序A依次使用CPU计10s,设备甲计5s,CPU计5s,设备乙计10s,CPU计10s
程序B依次使用设备甲计10s,CPU计10s,设备乙计5s,CPU计5s,设备乙计10s
问:在单道程序环境下先执行程序A再执行程序B,CPU的利用率是多少
此题并没有说明如果A,B请求使用CPU情况下,谁优先级高
画甘特图
![![[Pasted image 20241107201003.png]]](https://i-blog.csdnimg.cn/direct/eb25320a37724ca3baf7141e28a2b957.png)
分母是80,分子是10+5+10+10+5=40
单道程序环境下CPU利用率是50%
![![[Pasted image 20241107201747.png]]](https://i-blog.csdnimg.cn/direct/ffd2b49f88fd480b9d15802930a42f8c.png)
分母是45,分子是45-5=40
多道程序环境下CPU利用率是88.9%
2
设想一台电脑配备256KB的可用内存空间(未被OS占用的),一个磁盘,一个终端和一台打印机。三个程序JOB1,JOB2和JOB3,同时被提交运行
| 内容 | JOB1 | JOB2 | JOB3 |
|---|---|---|---|
| 作业类型 | 偏重计算 | 偏重I/O | 偏重I/O |
| 执行时间 | 5min | 15min | 10min |
| 所需内存 | 50KB | 100KB | 80KB |
| 是否需要磁盘 | No | No | Yes |
| 是否需要终端 | No | Yes | No |
| 是否需要打印机 | No | No | Yes |
50+100+80=230,三个程序可以同时被放入内存当中
完成以下表格
| 单道程序设计 | 多道程序设计 | |
|---|---|---|
| 处理机利用率 | 17 | 33 |
| 内存利用率 | 33 | 67 |
| 磁盘利用率 | 33 | 67 |
| 打印机利用率 | 33 | 67 |
| 经过时间 | 30 | 15 |
| 吞吐量 | 6 | 12 |
| 平均周转时间 | 18.3 | 10 |
- 单道情况下
![![[Pasted image 20241107215048.png]]](https://i-blog.csdnimg.cn/direct/214504ded5d346e7bc466bf8af37d493.png)
CPU利用率:5/30x100%=17%
内存利用率:5x50K+15x100K+10x80K/30x256 x 100%=33%
磁盘利用率:(10x80K)/((5+15+10)x80K) x 100%=33%
打印机利用率:10/30x100%=33%
经过时间:30min
吞吐量:3/0.5h=6Jobs/h
周转时间:(5+20+30)/3=18.3
- 多道情况下
![![[Pasted image 20241107215149.png]]](https://i-blog.csdnimg.cn/direct/bf1dec129cec45a9bfce9d58eeaa968b.png)
CPU利用率:5/15x100%=33%
内存利用率:5x230K+5x180K+5x100K/15x256 x 100%=67%
磁盘利用率:(10x80)/(15x80)x100%=67%
打印机利用率:10/15x100%=67%
经过时间:15min
吞吐量:3/0.25h=12Jobs/h
平均周转时间:(5+15+10)/3=10
3
2015
在一个多道批处理系统中,供用户使用的主存空间有100K,主存采用可变分区管理,并且已装入主存的作业不被移动,今有如表1所示仅作计算的作业序列
假设作业调度和进程调度均采用计算时间短的作业优先调度算法,当第一个作业进入输入井后就开始调度,并忽略系统开销的时间。
要求:
- 给出作业调度的次序
- 计算各作业的周转时间
- 计算平均作业周转时间
| 作业 | 入输井时间 | 需计算时间 | 主存要求 | 进入主存时间 | 开始时间 | 完成时间 | 周转时间 |
|---|---|---|---|---|---|---|---|
| 1 | 9.0h | 0.5h | 15K | ||||
| 2 | 9.2h | 0.4h | 60K | ||||
| 3 | 9.3h | 0.3h | 40K | ||||
| 4 | 9.5h | 0.2h | 10K | ||||
| 5 | 9.6h | 0.1h | 15K |
没有限制有多少道,只要能同时放入主存就可以
已装入主存的作业不被移动:除非作业完成,否则会一直在主存里面
当第一个作业进入输入井后就开始调度:
输入井在外存里边,说明进行作业调度
进入输入井的时间,就是作业提交的时间
9.0,1先进入井,运行到9.5,此时主存空间剩85
9.2,2后进入井,此时主存空间剩25
9.3,3进入不了井,主存空间不够
9.5,4进入井,主存空间剩15,此时1运行结束
之后是进程调度,2和4里面选一个时间短的开始运行,0.4>0.2,优先运行4,运行到9.7结束
9.6,5进入内存,主存空间剩0
9.7,2和5在内存当中,60>15,5先运行,运行到9.8结束
9.8,此时主存内还有2,主存内剩40,让2运行,运行到10.2
10.2,2运行完毕,主存剩100,3进入井,运行到10.5

周转时间:作业完成时间-作业提交时间
完成时间-输入井时间
| 作业 | 入输井时间 | 需计算时间 | 主存要求 | 进入主存时间 | 开始时间 | 完成时间 | 周转时间 |
|---|---|---|---|---|---|---|---|
| 1 | 9.0h | 0.5h | 15K | 9.0 | 9.0 | 9.5 | 0.5 |
| 2 | 9.2h | 0.4h | 60K | 9.2 | 9.8 | 10.2 | 1.0 |
| 3 | 9.3h | 0.3h | 40K | 10.2 | 10.2 | 10.5 | 1.2 |
| 4 | 9.5h | 0.2h | 10K | 9.5 | 9.5 | 9.7 | 0.2 |
| 5 | 9.6h | 0.1h | 15K | 9.6 | 9.7 | 9.8 | 0.2 |
平均周转时间:(0.5+1+1.2+0.2+0.2) / 5 = 0.62
作业调度的次序就是进入主存的次序:12453
4
2016
在一个多道批处理系统中,有如下表格所示的作业序列,并且作业都是仅作计算的
假定当所有作业均进入输入井时立即开始作业调度,忽略系统管理的开销时间。
要求分别计算采用先来先服务算法和计算时间短的作业优先算法时,
这批作业的调度顺序和作业平均周转时间。
- 采用先来先服务算法时:
![![[Pasted image 20241108122546.png]]](https://i-blog.csdnimg.cn/direct/559479a1ea3640c19e296d3ed5ea70a6.png)
必须要所有作业都进入井里面,之后才能开始作业调度
![![[Pasted image 20241108124501.png]]](https://i-blog.csdnimg.cn/direct/8065fb7773fc40ffb466183b40865070.png)
周转时间=作业完成时间-作业提交时间(作业进入输入井的时间)
| 作业 | 入输井时间 | 需计算时间 | 开始时间 | 完成时间 | 周转时间 |
|---|---|---|---|---|---|
| 1 | 8.0h | 1h | 8.6 | 9.6 | 1.6 |
| 2 | 8.2h | 0.5h | 9.6 | 10.1 | 1.9 |
| 3 | 8.4h | 0.2h | 10.1 | 10.3 | 1.9 |
| 4 | 8.6h | 0.6h | 10.3 | 10.9 | 2.3 |
作业平均周转时间
(1.6+1.9+1.9+2.3)/4=1.925
2. 短作业优先:
因为是多道批处理系统,到了8.6,四个作业同时进入内存
![![[Pasted image 20241108122907.png]]](https://i-blog.csdnimg.cn/direct/125e9a5ad1da40a2868bd85c21f67651.png)
![![[Pasted image 20241108123836.png]]](https://i-blog.csdnimg.cn/direct/b1c4329a869f47fd8c1377b4b83bf071.png)
作业平均周转时间
(2.9+1.1+0.4+1.3)/4=1.425
| 作业 | 入输井时间 | 需计算时间 | 开始时间 | 完成时间 | 周转时间 |
|---|---|---|---|---|---|
| 1 | 8.0h | 1h | 9.9 | 10.9 | 2.9 |
| 2 | 8.2h | 0.5h | 8.8 | 9.3 | 1.1 |
| 3 | 8.4h | 0.2h | 8.6 | 8.8 | 0.4 |
| 4 | 8.6h | 0.6h | 9.3 | 9.9 | 1.3 |
5
2017
在一个单道批处理系统中,有4个作业进入系统,进入输入井的时间及需计算时间如下面的表格所示。现忽略系统开销的时间,并规定8:00时当第一个作业进入输入井立即开始作业调度
采用先来先服务调度算法
![![[Pasted image 20241109134239.png]]](https://i-blog.csdnimg.cn/direct/4d98c4b2c1204944b9fad45dcbb74517.png)
| 作业 | 入输井时间 | 需计算时间 | 开始时间 | 完成时间 | 周转时间 |
|---|---|---|---|---|---|
| 1 | 8:00 | 60min | 8:00 | 9:00 | 1 |
| 2 | 8:30 | 30min | 9:00 | 9:30 | 1 |
| 3 | 9:00 | 12min | 9:30 | 9:42 | 0.7 |
| 4 | 9:30 | 6min | 9:42 | 9:48 | 0.3 |
平均周转时间:1+1+0.7+0.3=3 3/4=0.75
当采用计算时间短的作业优先调度算法时,先将各作业的开始时间,完成时间,周转时间,平均周转时间
![![[Pasted image 20241109135110.png]]](https://i-blog.csdnimg.cn/direct/dee68c80a2f846c98193cba199141eec.png)
| 作业 | 入输井时间 | 需计算时间 | 开始时间 | 完成时间 | 周转时间 |
|---|---|---|---|---|---|
| 1 | 8:00 | 60min | 8:00 | 9:00 | 1 |
| 2 | 8:30 | 30min | 9:12 | 9:42 | 1.2 |
| 3 | 9:00 | 12min | 9:00 | 9:12 | 0.2 |
| 4 | 9:30 | 6min | 9:42 | 9:48 | 0.3 |
平均周转时间:1+1.2+0.2+0.3=2.7 2.7/4=0.625
6
2019
一个具有两道作业的批处理系统,作业调度采用短作业优先的非抢先调度算法
进程调度采用优先数为基础的抢占式调度算法,在下表所示的作业序列中,作业优先数即为进程优先数,优先数越小优先级越高
| 作业名 | 到达时间 | 估计运行时间 | 优先数 |
|---|---|---|---|
| A | 10:00 | 40min | 5 |
| B | 10:20 | 30min | 3 |
| C | 10:30 | 50min | 4 |
| D | 10:50 | 20min | 6 |
![![[Pasted image 20241109141846.png]]](https://i-blog.csdnimg.cn/direct/667c61a700f645919b1defbda8a30dc0.png)
10:00,A先进入输入井,此时内存内只有A一道程序,获得处理机,运行
10:20,B进入输入井,进入内存,此时内存内有AB两道程序,进行进程调度,B的优先级比A高,B抢占处理机,进行运行
10:30,C进入输入井,此时内存里有两道程序,在后备队列中等待
10:50,D进入输入井,此时B运行完毕,后备队列中有C和D,D的运行时间比C短,先进入内存,此时内存里有AD两道程序,D的优先级比A小,A先运行
11:10,A运行完毕,C从后备队列进入内存,C的优先级比D高,获得处理机运行
12:00,C运行完毕,此时内存里只剩D一个程序,运行
| 作业 | 入内存时间 | 完成时间 | 周转时间 |
|---|---|---|---|
| A | 10:00 | 11:10 | 70 |
| B | 10:20 | 10:50 | 30 |
| C | 11:10 | 12:00 | 90 |
| D | 10:50 | 12:20 | 90 |
平均周转时间:70+30+90+90=280 280/4=70
7
2020
有6个待运行的作业,各自预计运行时间为3,5,6,7,9,x,请问用什么调度算法能使作业的平均周转时间最短,并写出其执行次序
按照短作业优先的次序可以使平均周转时间最短,x值不定,
- x<=3,次序:x,3,5,6,7,9
- 3<x<=5,次序:3,x,5,6,7,9
- 5<x<=6,次序:3,5,x,6,7,9
- 6<x<=7,次序:3,5,6,x,7,9
- 7<x<=9,次序:3,5,6,7,x,9
- 9<=x,次序:3,5,6,7,9,x
8
2021
假设系统中有5个进程,它们的到达时间和服务时间见下表,忽略I/O以及其他开销时间,按时间片轮转(RR,时间片=1)调度算法进行CPU调度,请给出各个进程的完成时间,周转时间,带权周转时间和平均带权周转时间
| 进程 | 到达时间 | 服务时间 |
|---|---|---|
| A | 0 | 3 |
| B | 2 | 6 |
| C | 4 | 4 |
| D | 6 | 5 |
| E | 8 | 2 |
![![[Pasted image 20241109144312.png]]](https://i-blog.csdnimg.cn/direct/ea300405e1234e94a45bbab89a28d58a.png)
| 进程 | 到达时间 | 服务时间 | 完成时间 | 周转时间 | 带权周转时间 |
|---|---|---|---|---|---|
| A | 0 | 3 | 4 | 4 | 4/3=1.33 |
| B | 2 | 6 | 18 | 16 | 16/6=2.67 |
| C | 4 | 4 | 17 | 13 | 13/4=3.25 |
| D | 6 | 5 | 20 | 14 | 14/5=2.8 |
| E | 8 | 2 | 15 | 7 | 7/2=3.5 |
平均周转时间 10.8
平均带权周转时间 2.71
简答题
![![[Pasted image 20241108151039.png]]](https://i-blog.csdnimg.cn/direct/5330c9afbf27493f8a11c6e6d6ceb009.png)
就绪态->运行态:进程获得处理机资源
运行态->就绪态:当前进程的时间片用完或有更高优先级的进程到来被抢占
运行态->阻塞态:进程请求某一资源或等待某一事件发生
阻塞态->就绪态:进程等待的事件发生或进程请求的资源已分配好
- 阻塞态不能直接转变为运行态。当进程等待的事件发生后,应该先把进程状态转换为就绪态,进程通过进程调度和进程切换再转变为运行态。
- 就绪态不能直接转变为阻塞态。进程只有在运行的时候才会请求资源或等待事件。
3629

被折叠的 条评论
为什么被折叠?



