操作系统课后答案1.docx
- 文档编号:23043578
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:71
- 大小:560.95KB
操作系统课后答案1.docx
《操作系统课后答案1.docx》由会员分享,可在线阅读,更多相关《操作系统课后答案1.docx(71页珍藏版)》请在冰豆网上搜索。
操作系统课后答案1
CH1应用题参考答案
1有一台计算机,具有1MB内存,操作系统占用200KB,每个用户进程各占200KB。
如果用户进程等待I/O的时间为80%,若增加1MB内存,则CPU的利用率提高多少?
答:
设每个进程等待I/O的百分比为P,则n个进程同时等待I/O的概率是Pn,当n个进程同时等待I/O期间CPU是空闲的,故CPU的利用率为1-Pn。
由题意可知,除去操作系统,内存还能容纳4个用户进程,由于每个用户进程等待I/O的时间为80%,故:
CPU利用率=1-(80%)4=0.59
若再增加1MB内存,系统中可同时运行9个用户进程,此时:
CPU利用率=1-(80%)9=0.87
故增加1MB内存使CPU的利用率提高了47%:
87%-59%=147%147%-100%=47%
2一个计算机系统,有一台输入机和一台打印机,现有两道程序投入运行,且程序A
先开始做,程序B后开始运行。
程序A的运行轨迹为:
计算50ms、打印100ms、再计算50ms、打印100ms,结束。
程序B的运行轨迹为:
计算50ms、输入80ms、再计算100ms,结束。
试说明
(1)两道程序运行时,CPU有无空闲等待?
若有,在哪段时间内等待?
为什么会等待?
(2)程序A、B有无等待CPU的情况?
若有,指出发
生等待的时刻。
答:
画出两道程序并发执行图如下:
(1)两道程序运行期间,CPU存在空闲等待,时间为100至150ms之间(见图中有色部分)。
(2)程序A无等待现象,但程序B有等待。
程序B有等待时间段为180ms至200ms间(见图中有色部分)。
3
I/O操作时间由图给出
设有三道程序,按A、B、C优先次序运行,其内部计算和
A
B
C
C11=30ms
1
C21=60ms
1
C31=20ms
I12=40ms
1
I22=30ms
I32=40ms
C13=10ms
C23=10ms
C33=20ms
试画出按多道运行的时间关系图(忽略调度执行时间)。
完成三道程序共花多少时
间?
比单道运行节省了多少时间?
若处理器调度程序每次进行程序转换化时1ms,
试画出各程序状态转换的时间关系图
答:
1)忽略调度执行时间,多道运行方式(抢占式):
时间0378101213141719单位10ms
I/OI12122I32
CPUC11C21C13C21C31C23C33
抢占式共用去190ms,单道完成需要260ms,节省70ms。
非抢占式共用去180ms,单道完成需要260ms,节省80ms。
2)调度执行时间1ms,多道运行方式(抢占式):
时间0303132717273748485105107127136137147177178198单位1ms
=
=■
I/O
I12
I22丨
I32
i
CPU
C11
C21
I
C13
C21
C31:
L——
C23
二F
C33J
OS
■
!
—
J
—
i_JI
j
1
—i
4在单CPU和两台I/O(I1,I2)设备的多道程序设计环境下,同时投入三个作业运行。
它们的执行轨迹如下:
Job1:
l2(30ms)、CPU(10ms)、l1(30ms)、CPU(IOms)、l2(20ms)
Job2:
l1(20ms)、CPU(20ms)、I2(40ms)
Job3:
CPU(30ms)、I1(20ms)、CPU(1Oms)、I1(10ms)
如果CPU、I1和I2都能并行工作,优先级从高到低为Job1、Job2和Job3,优先级高的作业可以抢占优先级低的作业的CPU,但不抢占I1和I2。
试求:
(1)每个作业从投入到完成分别所需的时间。
(2)从投入到完成CPU的利用率。
⑶I/O设备利用率。
答:
画出三个作业并行工作图如下(图中着色部分为作业等待时间):
(1)Job1从投入到运行完成需110ms,Job2从投入到运行完成需90ms,Job3从投入到运行完成需110ms。
(2)CPU空闲时间段为:
60ms至70ms,80ms至90ms,100ms至110ms。
所以CPU利用率为(110-30)/110=72.7%。
⑶设备I1空闲时间段为:
20ms至40ms,90ms至100ms,故I1的利用率为
(110-30)/110=72.7%。
设备12空闲时间段为:
30ms至50ms,故I2的利用率为(110-20)/110=81.8%。
5在单CPU和两台I/O(I1,I2)设备的多道程序设计环境下,同时投入三个作业运行。
它们的执行轨迹如下:
Job1:
I2(30ms)、CPU(10ms)、I1(30ms)、CPU(10ms)
Job2:
I1(20ms)、CPU(20ms)、I2(40ms)
Job3:
CPU(30ms)、I1(20ms)
如果CPU、I1和I2都能并行工作,优先级从高到低为Job1、Job2和Job3,优先级高的
作业可以抢占优先级低的作业的CPU。
试求:
(1)每个作业从投入到完成分别所需的时
间。
(2)每个作业投入到完成CPU的利用率。
⑶I/O设备利用率。
答:
画出三个作业并行工作图如下(图中着色部分为作业等待时间):
(1)Job1从投入到运行完成需80ms,Job2从投入到运行完成需90ms,Job3从投入到运行完成需90ms。
⑵CPU空闲时间段为:
60ms至70ms,80ms至90ms。
所以CPU利用率为(90-20)/90=77.78%。
⑶设备I1空闲时间段为:
20ms至40ms,故I1的利用率为(90-20)/90=77.78%。
设备I2空闲时间段为:
30ms至50ms,故I2的利用率为(90-20)/90=77.78%。
6若内存中有3道程序A、B、C,它们按A、B、C优先次序运行。
各程序的计算轨迹为:
A:
计算(20)、1/0(30)、计算(10)
B:
计算(40)、1/0(20)、计算(10)
C:
计算(10)、l/O(30)、计算(20)
如果三道程序都使用相同设备进行I/O(即程序用串行方式使用设备,调度开销忽略不
计)。
试分别画出单道和多道运行的时间关系图。
两种情况下,CPU的平均利用率各为
多少?
答:
分别画出单道和多道运行的时间图
(1)
单道运行时间关系图
AIBIC
I/O
单道总运行时间为190ms。
CPU利用率为(190-80)/190=57.9%
(1)单道运行时间关系图
I/O
1A
1
1
1
i
iiB
C
1
11
1
1
i
i丨
1
1
1
1
CPU
1AiB
iA[B
C|
L±J:
iC
1
V
1
1
1
1
1
1
1
1
i
1
时间
iii
:
1
1
1
1
■i
I
I
(ms)
02040506080100120140
多道总运行时间为140ms。
CPU利用率为(140-30)/140=78.6%
7若内存中有3道程序A、B、C,优先级从高到低为A、B和C,它们单独运行时的
CPU和I/O占用时间为:
程序
A:
60
20
30
10
4020
20(ms)
I/O2
CPU
I/O1
CPU
I/O1CPU
I/O1
程序
B:
30
40
70
30
30(ms)
I/O1
CPU
I/O2
CPU
I/O2
程序
C:
40
60
30
70
(ms)
CPU
I/O1
CPU
I/O2
如果三道程序同时并发执行,调度开销忽略不计,但优先级高的程序可中断优先级低的
程序,优先级与I/O设备无关。
试画出多道运行的时间关系图,并问最早与最迟结束的程序是哪个?
每道程序执行到结束分别用了多少时间?
计算三个程序全部运算结束时
的CPU利用率?
答:
画出三个作业并发执行的时间图:
时间|
1
1
1
J
1
1
1
11
1
(ms)
0
30
60
90
120
150
180
210
240270
300
330
C
I01
I02
cpu
CPU.
Icpu丨cpu
(1)最早结束的程序为B,最后结束的程序为Co
(2)程序A为250mso程序B为220ms。
程序C为310ms。
(3)CPU利用率为(310-120)/310=61.3%
8有两个程序,A程序按顺序使用:
(CPU)10秒、(设备甲)5秒、(CPU)5秒、(设备乙)10
秒、(CPU)10秒。
B程序按顺序使用:
(设备甲)10秒、(CPU)10秒、(设备乙)5秒、(CPU)5秒、(设备乙)10秒。
在顺序环境下先执行A,再执行B,求出总的CPU利用率为多少?
答:
程序A执行了40秒,其中CPU用了25秒。
程序B执行了40秒,其中CPU用了15秒。
两个程序共用了80秒,CPU化了40秒。
故CPU利用率为40/80=50%。
9在某计算机系统中,时钟中断处理程序每次执行的时间为2ms(包括进程切换开
销)。
若时钟中断频率为60HZ,试问CPU用于时钟中断处理的时间比率为多少
答:
因时钟中断频率为60HZ,所以,时钟周期为:
1/60s=50/3ms。
在每个时钟周期中,CPU花2ms执行中断任务。
所以,CPU用于时钟中断处理的时间比率为:
2(50/3)=6/50=12%。
CH2应用题参考答案
1下列指令中哪些只能在核心态运行?
(1)读时钟日期;
(2)访管指令;(3)设时钟日期;(4)加载PSW;(5)置特殊寄存器;(6)改变存储器映象图;(7)启动I/O指令。
答:
(3),(4),(5),(6),(7)。
2假设有一种低级调度算法是让“最近使用处理器较少的进程”运行,试解释这种
算法对“I/O繁重”型作业有利,但并不是永远不受理“处理器繁重”型作业。
答:
因为I/O繁忙型作业忙于I/O,所以它CPU用得少,按调度策略能优先执行。
同样原因一个进程等待CPU足够久时,由于它是“最近使用处理器较少的进程”,就能被优
先调度,故不会饥饿。
3并发进程之间有什么样的相互制约关系?
下列日常生活中的活动是属哪种制约关
系:
(1)踢足球,
(2)吃自助餐,(3)图书馆借书,(4)电视机生产流水线工序。
答:
并发进程之间的基本相互制约关系有互斥和同步两种。
其中
(1)、(3)为互斥问题。
(2)、
⑷为同步问题。
4在按动态优先数调度进程的系统中,每个进程的优先数需定时重新计算。
在处理
器不断地在进程之间交替的情况下,重新计算进程优先数的时间从何而来?
答:
许多操作系统重新计算进程的优先数在时钟中断处理例程中进行,由于中断是随机
的,碰到哪个进程,就插入哪个进程中运行处理程序,并把处理时间记在这个进程的账上。
5若后备作业队列中等待运行的同时有三个作业J1、J2、J3,已知它们各自的运行
时间为ab、c,且满足avbvc,试证明采用短作业优先算法调度能获得最小平均作业周转时间。
答:
采用短作业优先算法调度时,三个作业的总周转时间为:
T1=a+(a+b)+(a+b+c)=3a+2b+c①
若不按短作业优先算法调度,不失一般性,设调度次序为:
J2、J1、J3。
则三个作业的
总周转时间为:
T2=b+(b+a)+(b+a+c)=3b+2a+c②
令②-①式得到:
T2-T仁b-a>0
可见,采用短作业优先算法调度才能获得最小平均作业周转时间。
6若有一组作业J1,…,Jn,其执行时间依次为S1,…,Sn。
如果这些作业同时到
达系统,并在一台单CPU处理器上按单道方式执行。
试找出一种作业调度算法,使得平均作业周转时间最短。
答:
首先,对n个作业按执行时间从小到大重新进行排序,则对n个作业:
J1'…,Jn',
它们的运行时间满足:
Si'vS2'v…vS(n-1)'vSn'。
那么有:
T=[Si+(Si+S2)+(S1+S2+S3)+…+(Si+S2+S3+…+Sn)]/n
,,,
=[nxSi+(n-1)xS2+(n-3)xS3]+…+Sn]]/n
=(Si'+S2+S3+…+Sn')-[OxS「+1xS2'+2xS3‘+…+(n-1)Sn']/n
由于任何调度方式下,Si+S2+S3+Sn为一个确定的数,而当SivS2v…v
S(n-1)'wSn'时才有:
oxSi'+1xS2'+2x&+…+(n-1)Sn'的值最大,也就是说,此时
T值最小。
所以,按短作业优先调度算法调度时,使得平均作业周转时间最短。
7假定执行表中所列作业,作业号即为到达顺序,依次在时刻0按次序1、2、3、4、
5进入单处理器系统。
1)分别用先来先服务调度算法、时间片轮转算法、短作业优先算法及非强占优先权调度算法算出各作业的执行先后次序(注意优先权高的数值小);
2)计算每种情况下作业的平均周转时间和平均带权周转时间。
作业号
执行时间
优先权
1
10
3
2
1
1
3
2
3
4
1
4
5
5
2
答:
(1)采用FCFS算法调度作业,运作情况:
执行次序
执行时间
等待时间
开始时间
完成时间
周转时间
带权周转时间
1
10
0
0
10
10
1
2
1
10
10
11
11
11
3
2
11
11
13
13
6.5
4
1
13
13
14
14
14
5
5
14
14
19
19
3.8
作业平均周转时间
T=(10+11+13+14+19)/5=13.4
作业平均带权周转时间
W=(1+11+6.5+14+3.8)/5=7.26
(2)采用RR算法调度作业,若令时间片长=1,各作业执行情况为:
1、2、3、4、5、
1、3、5、1、5、1、5、1、5、1、1、1、1、1。
作业
执行时间
提交时间
完成时间
周转时间
带权周转时间
1
10
0
19
19
1.9
2
1
0
2
2
2
3
2
0
7
7
3.5
4
1
0
4
4
4
5
5
0
14
14
2.8
作业平均周转时间
T=(19+2+7+4+14)/5=9.2
作业平均带权周转时间
W=(1.9+2+3.5+4+2.8)/5=2.84
⑶采用SJF算法调度作业,运作情况:
执行次序
执行时间
等待时间
开始时间
完成时间
周转时间
带权周转时间
2
1
0
0
1
1
1
4
1
1
1
2
2
2
3
2
2
2
4
4
2
5
5
4
4
9
9
1.8
1
10
9
9
19
19
1.9
作业平均周转时间
T=(1+2+4+9+19)/5=7
作业平均带权周转时间
W=(1+2+2+1.8+1.9)/5=1.74
(4)采用非剥夺优先权算法调度作业,运作情况:
执行次序
优先数
执行时间
等待时间
周转时间
带权周转时间
2
1
1
0
1
1
5
2
5
1
6
1.2
1
3
10
6
16
1.6
3
3
2
16
18
9
4
4
1
18
19
19
作业平均周转时间
T=(1+6+16+18+19)/5=12
作业平均带权周转时间
W=(1+1.2+1.6+9+19)/5=6.36
8对某系统进行监测后表明平均每个进程在I/O阻塞之前的运行时间为T。
一次进程
切换的系统开销时间为S。
若采用时间片长度为Q的时向片轮转法,对下列各种情况算出CPU利用率。
答:
1)Q=gCPU利用率=T/(T+S)
2)Q>TCPU利用率=T/(T+S)
3)T>Q>SCPU利用率=Q/(Q+S)
4)Q=SCPU利用率=50%
5)Qt0CPU利用率t0
9有5个待运行的作业,各自预计运行时间分别是:
9、6、3、5和x,采用哪种运
行次序使得平均响应时间最短?
X取值不定,按照以下情
答:
按照最短作业优先的算法可以使平均响应时间最短。
况讨论:
1)
x<3
次序为:
x,3,5,6,9
2)
3 次序为: 3,x,5,6,9 3) 5 次序为 : 3,5,x,6, 9 4) 6 次序为 : 3,5,6,x, 9 5) 9 次序为 : 3,5,6,9, x 10有5个批处理作业A到E均已到达计算中心,其运行时间分别2、4、6、8和10 分钟;各自的优先级分别被规定为1、2、3、4和5,这里5为最高级。 对于1) 时间片轮转算法、2)优先数法、3)短作业优先算法、4)先来先服务调度算法(按到达次序C、D、B、E、A),在忽略进程切换时间的前提下,计算出平均作业周转时间。 (对1)每个作业获得相同的2分钟长的时间片;对2)到4)采用单道运行,直到结束。 ) 答: (1)FCFS调度算法 执行次序 执行时间 等待时间 周转时间 带权周转时间 C 6 0 6 1 D 8 6 914 1.75 B 4 14 18 4.5 E 10 18 28 2.8 A 2 28 30 15 (2)优先级调度算法 执行次序 执行时间 等待时间 周转时间 带权周转时间 E 10 0 10 1 D 8 10 18 2.25 C 6 18 24 4 B 4 24 28 7 A 2 28 30 15 作业平均周转时间 T=(10+18+24+28+30)/5=22 作业平均带权周转时间 W=(1+2.25+4+7+15)/5=5.85 (3)时间片 按次序ABCDEBCDECDEDEE轮转执行 作业 执行时间 等待时间 周转时间 带权周转时间 A 2 0 2 1 B 4 8 12 3 C 6 14 20 3.33 D 8 18 26 3.25 E 10 20 30 3 作业平均周转时间 T=(2+12+20+26+30)/5=18 作业平均带权周转时间 W=(1+3+3.33+3.25+3)/5=2.71 ⑷SJF调度算法 作业 执行时间 等待时间 周转时间 带权周转时间 A 2 0 2 1 B 4 2 6 1.5 C 6 6 12 2 D 8 12 20 2.5 E 10 20 30 3 作业平均周转时间 T=(2+6+12+20+30)/5=14 作业平均带权周转时间 W=(1+1.5+2+2.5+3)/5=2 11有5个批处理作业A到E均已到达计算中心,其运行时间分别10、6、2、4和8 分钟;各自的优先级分别被规定为3、5、2、1和4,这里5为最高级。 若不考虑 系统切换开销,计算出平均作业周转时间。 (1)FCFS(按A、B、C、D、E); (2) 优先级调度算法,(3)时间片轮转法(每个作业获得相同的2分钟长的时间片)。 答: (1)FCFS调度算法 执行次序 执行时间 等待时间 周转时间 带权周转时间 A 10 0 10 1 B 6 10 16 2.66 C 2 16 18 9 D 4 18 22 5.5 E 8 22 30 3.75 作业平均周转时间 T=(10+16+18+22+30)/5=19.2 作业平均带权周转时间 W=(1+2.66+9+5.5+3.75)/5=4.38 (2)优先级调度算法 执行次序 执行时间 等待时间 周转时间 带权周转时间 B 6 0 6 1 E 8 6 14 1.75 A 10 14 24 2.4 C 2 24 26 13 D 4 26 30 7.5 作业平均周转时间 T=(6+14+24+26+30)/5=20 作业平均带权周转时间 W=(1+1.75+2.4+13+7.5)/5=5.13 (3)时间片轮转法 按次序ABCDEABDEABEAEA轮转执行。 作业 执行时间 等待时间 周转时间 带权周转时间 A 10 20 30 3 B 6 16 22 3.66 C 2 4 6 3 D 4 12 16 4 E 8 20 28 3.5 作业平均周转时间 T=(30+22+6+16+28)/5=20.4 作业平均带权周转时间 W=(3+3.66+3+4+3.5)/5=3.43 12 (1)假定一个处理器正在执行两道作业,一道以计算为主,另一道以输入输出为主, 你将怎样赋予它们占有处理器的优先级? 为什么? (2)假定一个处理器正在执行三道作业,一道以计算为主,第二道以输入输出为主, 第三道为计算与输入输出均匀。 应该如何赋予它们占有处理器的优先级使得系统效率较高? 答: 处理器调度算法会考虑以下因素: 作业响应时间要求;让CPU尽量和外围设备并行工作;限制一个计算进程长时间霸占处理器。 因而, (1)1/0为主作业优先级高。 (2)输入输出为主作业优先级最高,输入输出均匀的作业其次,而计算为主作业的优先级最 低。 13请你设计一种先进的计算机体系结构,它使用硬件而不是中断来完成进程切换,则CPU需要哪些信息? 请描述用硬件完成进程切换的工作过程。 答: 该计算机有一个专用硬件寄存器,它始终存放指向当前运行进程的PCB的指针 当系统中发生了一个事件,如I/O结束事件,CPU便可把运行进程的上下文保存到专用硬件寄存器指针指向的PCB中保护起来,然后,CPU转向中断向量表,找到设备中断处理程序入口,让专用硬件寄存器指针指向(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 课后 答案