操作系统三级调度相关习题

填空题

  1. 微机是以(总线)为组带构成的计算机系统
  2. 在批处理兼分时系统中,往往把由分时系统控制的作业称为(前台)作业,把由批处理系统处理的作业称为(后台)作业
  3. 在分时系统中,若时间片长度一定,则(用户数越多),系统响应时间越慢
  4. 分布式操作系统能使系统中若干台计算机(协同)完成一个共同的任务,分解问题成为子计算并使之在系统中各台计算机上(并行执行),以充分利用各计算机的优势
  5. 用户通过网络操作系统可以(网络通信)、(资源共享),从而大大扩展了计算机的应用范围

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]]

分母是80,分子是10+5+10+10+5=40
单道程序环境下CPU利用率是50%
![[Pasted image 20241107201747.png]]

分母是45,分子是45-5=40
多道程序环境下CPU利用率是88.9%

2

设想一台电脑配备256KB的可用内存空间(未被OS占用的),一个磁盘,一个终端和一台打印机。三个程序JOB1,JOB2和JOB3,同时被提交运行

内容JOB1JOB2JOB3
作业类型偏重计算偏重I/O偏重I/O
执行时间5min15min10min
所需内存50KB100KB80KB
是否需要磁盘NoNoYes
是否需要终端NoYesNo
是否需要打印机NoNoYes

50+100+80=230,三个程序可以同时被放入内存当中

完成以下表格

单道程序设计多道程序设计
处理机利用率1733
内存利用率3367
磁盘利用率3367
打印机利用率3367
经过时间3015
吞吐量612
平均周转时间18.310
  1. 单道情况下
    ![[Pasted image 20241107215048.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

  1. 多道情况下
    ![[Pasted image 20241107215149.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. 给出作业调度的次序
  2. 计算各作业的周转时间
  3. 计算平均作业周转时间
作业入输井时间需计算时间主存要求进入主存时间开始时间完成时间周转时间
19.0h0.5h15K
29.2h0.4h60K
39.3h0.3h40K
49.5h0.2h10K
59.6h0.1h15K

没有限制有多少道,只要能同时放入主存就可以
已装入主存的作业不被移动:除非作业完成,否则会一直在主存里面
当第一个作业进入输入井后就开始调度:
输入井在外存里边,说明进行作业调度

进入输入井的时间,就是作业提交的时间
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
在这里插入图片描述

周转时间:作业完成时间-作业提交时间
完成时间-输入井时间

作业入输井时间需计算时间主存要求进入主存时间开始时间完成时间周转时间
19.0h0.5h15K9.09.09.50.5
29.2h0.4h60K9.29.810.21.0
39.3h0.3h40K10.210.210.51.2
49.5h0.2h10K9.59.59.70.2
59.6h0.1h15K9.69.79.80.2

平均周转时间:(0.5+1+1.2+0.2+0.2) / 5 = 0.62
作业调度的次序就是进入主存的次序:12453

4

2016
在一个多道批处理系统中,有如下表格所示的作业序列,并且作业都是仅作计算的
假定当所有作业均进入输入井时立即开始作业调度,忽略系统管理的开销时间。
要求分别计算采用先来先服务算法和计算时间短的作业优先算法时,
这批作业的调度顺序和作业平均周转时间。

  1. 采用先来先服务算法时:
    ![[Pasted image 20241108122546.png]]

必须要所有作业都进入井里面,之后才能开始作业调度
![[Pasted image 20241108124501.png]]

周转时间=作业完成时间-作业提交时间(作业进入输入井的时间)

作业入输井时间需计算时间开始时间完成时间周转时间
18.0h1h8.69.61.6
28.2h0.5h9.610.11.9
38.4h0.2h10.110.31.9
48.6h0.6h10.310.92.3

作业平均周转时间
(1.6+1.9+1.9+2.3)/4=1.925
2. 短作业优先:

因为是多道批处理系统,到了8.6,四个作业同时进入内存
![[Pasted image 20241108122907.png]]

![[Pasted image 20241108123836.png]]

作业平均周转时间
(2.9+1.1+0.4+1.3)/4=1.425

作业入输井时间需计算时间开始时间完成时间周转时间
18.0h1h9.910.92.9
28.2h0.5h8.89.31.1
38.4h0.2h8.68.80.4
48.6h0.6h9.39.91.3
5

2017
在一个单道批处理系统中,有4个作业进入系统,进入输入井的时间及需计算时间如下面的表格所示。现忽略系统开销的时间,并规定8:00时当第一个作业进入输入井立即开始作业调度

采用先来先服务调度算法
![[Pasted image 20241109134239.png]]

作业入输井时间需计算时间开始时间完成时间周转时间
18:0060min8:009:001
28:3030min9:009:301
39:0012min9:309:420.7
49:306min9:429:480.3

平均周转时间:1+1+0.7+0.3=3 3/4=0.75

当采用计算时间短的作业优先调度算法时,先将各作业的开始时间,完成时间,周转时间,平均周转时间
![[Pasted image 20241109135110.png]]

作业入输井时间需计算时间开始时间完成时间周转时间
18:0060min8:009:001
28:3030min9:129:421.2
39:0012min9:009:120.2
49:306min9:429:480.3

平均周转时间:1+1.2+0.2+0.3=2.7 2.7/4=0.625

6

2019
一个具有两道作业的批处理系统,作业调度采用短作业优先的非抢先调度算法
进程调度采用优先数为基础的抢占式调度算法,在下表所示的作业序列中,作业优先数即为进程优先数,优先数越小优先级越高

作业名到达时间估计运行时间优先数
A10:0040min5
B10:2030min3
C10:3050min4
D10:5020min6

![[Pasted image 20241109141846.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一个程序,运行

作业入内存时间完成时间周转时间
A10:0011:1070
B10:2010:5030
C11:1012:0090
D10:5012:2090

平均周转时间:70+30+90+90=280 280/4=70

7

2020
有6个待运行的作业,各自预计运行时间为3,5,6,7,9,x,请问用什么调度算法能使作业的平均周转时间最短,并写出其执行次序

按照短作业优先的次序可以使平均周转时间最短,x值不定,

  1. x<=3,次序:x,3,5,6,7,9
  2. 3<x<=5,次序:3,x,5,6,7,9
  3. 5<x<=6,次序:3,5,x,6,7,9
  4. 6<x<=7,次序:3,5,6,x,7,9
  5. 7<x<=9,次序:3,5,6,7,x,9
  6. 9<=x,次序:3,5,6,7,9,x
8

2021
假设系统中有5个进程,它们的到达时间和服务时间见下表,忽略I/O以及其他开销时间,按时间片轮转(RR,时间片=1)调度算法进行CPU调度,请给出各个进程的完成时间,周转时间,带权周转时间和平均带权周转时间

进程到达时间服务时间
A03
B26
C44
D65
E82

![[Pasted image 20241109144312.png]]

进程到达时间服务时间完成时间周转时间带权周转时间
A03444/3=1.33
B26181616/6=2.67
C44171313/4=3.25
D65201414/5=2.8
E821577/2=3.5

平均周转时间 10.8
平均带权周转时间 2.71

简答题

![[Pasted image 20241108151039.png]]

就绪态->运行态:进程获得处理机资源
运行态->就绪态:当前进程的时间片用完或有更高优先级的进程到来被抢占
运行态->阻塞态:进程请求某一资源或等待某一事件发生
阻塞态->就绪态:进程等待的事件发生或进程请求的资源已分配好

  1. 阻塞态不能直接转变为运行态。当进程等待的事件发生后,应该先把进程状态转换为就绪态,进程通过进程调度和进程切换再转变为运行态。
  2. 就绪态不能直接转变为阻塞态。进程只有在运行的时候才会请求资源或等待事件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值