填空题
- 微机是以(总线)为组带构成的计算机系统
- 在批处理兼分时系统中,往往把由分时系统控制的作业称为(前台)作业,把由批处理系统处理的作业称为(后台)作业
- 在分时系统中,若时间片长度一定,则(用户数越多),系统响应时间越慢
- 分布式操作系统能使系统中若干台计算机(协同)完成一个共同的任务,分解问题成为子计算并使之在系统中各台计算机上(并行执行),以充分利用各计算机的优势
- 用户通过网络操作系统可以(网络通信)、(资源共享),从而大大扩展了计算机的应用范围
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情况下,谁优先级高
画甘特图
分母是80,分子是10+5+10+10+5=40
单道程序环境下CPU利用率是50%
分母是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 |
- 单道情况下
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
- 多道情况下
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
在一个多道批处理系统中,有如下表格所示的作业序列,并且作业都是仅作计算的
假定当所有作业均进入输入井时立即开始作业调度,忽略系统管理的开销时间。
要求分别计算采用先来先服务算法和计算时间短的作业优先算法时,
这批作业的调度顺序和作业平均周转时间。
- 采用先来先服务算法时:
必须要所有作业都进入井里面,之后才能开始作业调度
周转时间=作业完成时间-作业提交时间(作业进入输入井的时间)
作业 | 入输井时间 | 需计算时间 | 开始时间 | 完成时间 | 周转时间 |
---|---|---|---|---|---|
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,四个作业同时进入内存
作业平均周转时间
(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时当第一个作业进入输入井立即开始作业调度
采用先来先服务调度算法
作业 | 入输井时间 | 需计算时间 | 开始时间 | 完成时间 | 周转时间 |
---|---|---|---|---|---|
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
当采用计算时间短的作业优先调度算法时,先将各作业的开始时间,完成时间,周转时间,平均周转时间
作业 | 入输井时间 | 需计算时间 | 开始时间 | 完成时间 | 周转时间 |
---|---|---|---|---|---|
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 |
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 |
进程 | 到达时间 | 服务时间 | 完成时间 | 周转时间 | 带权周转时间 |
---|---|---|---|---|---|
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
简答题
就绪态->运行态:进程获得处理机资源
运行态->就绪态:当前进程的时间片用完或有更高优先级的进程到来被抢占
运行态->阻塞态:进程请求某一资源或等待某一事件发生
阻塞态->就绪态:进程等待的事件发生或进程请求的资源已分配好
- 阻塞态不能直接转变为运行态。当进程等待的事件发生后,应该先把进程状态转换为就绪态,进程通过进程调度和进程切换再转变为运行态。
- 就绪态不能直接转变为阻塞态。进程只有在运行的时候才会请求资源或等待事件。