CH1应用题参考答案.docx

上传人:b****6 文档编号:7788906 上传时间:2023-01-26 格式:DOCX 页数:42 大小:43.62KB
下载 相关 举报
CH1应用题参考答案.docx_第1页
第1页 / 共42页
CH1应用题参考答案.docx_第2页
第2页 / 共42页
CH1应用题参考答案.docx_第3页
第3页 / 共42页
CH1应用题参考答案.docx_第4页
第4页 / 共42页
CH1应用题参考答案.docx_第5页
第5页 / 共42页
点击查看更多>>
下载资源
资源描述

CH1应用题参考答案.docx

《CH1应用题参考答案.docx》由会员分享,可在线阅读,更多相关《CH1应用题参考答案.docx(42页珍藏版)》请在冰豆网上搜索。

CH1应用题参考答案.docx

CH1应用题参考答案

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设有三道程序,按A、B、C优先次序运行,其内部计算和I/O操作时间由图给出。

A

B

C

C11=30ms

C21=60ms

C31=20ms

I12=40ms

I22=30ms

I32=40ms

C13=10ms

C23=10ms

C33=20ms

试画出按多道运行的时间关系图(忽略调度执行时间)。

完成三道程序共花多少时间?

比单道运行节省了多少时间?

若处理器调度程序每次进行程序转换化时1ms,试画出各程序状态转换的时间关系图。

答:

1)忽略调度执行时间,多道运行方式(抢占式):

时间0378101213141719单位10ms

I/OI12I22I32

CPUC11C21C13C21C31C23C33

抢占式共用去190ms,单道完成需要260ms,节省70ms。

忽略调度执行时间,多道运行方式(非抢占式):

时间0379101213141618单位10ms

I/OI12I22I32

CPUC11C21C13C31C23C33

非抢占式共用去180ms,单道完成需要260ms,节省80ms。

2)调度执行时间1ms,多道运行方式(抢占式):

时间0303132717273748485105107127136137147177178198单位1ms

I/OI12I22I32

CPUC11C21C13C21C31C23C33

OS

调度执行时间1ms,多道运行方式(非抢占式):

时间03031327172939495105106124125127129139168169189单位1ms

I/OI12I22I32

CPUC11C21C21C13C31C31C23C33

OS

 

4在单CPU和两台I/O(I1,I2)设备的多道程序设计环境下,同时投入三个作业运行。

它们的执行轨迹如下:

Job1:

I2(30ms)、CPU(10ms)、I1(30ms)、CPU(10ms)、I2(20ms)

Job2:

I1(20ms)、CPU(20ms)、I2(40ms)

Job3:

CPU(30ms)、I1(20ms)、CPU(10ms)、I1(10ms)

如果CPU、I1和I2都能并行工作,优先级从高到低为Job1、Job2和Job3,优先级高的作业可以抢占优先级低的作业的CPU,但不抢占I1和I2。

试求:

(1)每个作业从投入到完成分别所需的时间。

(2)从投入到完成CPU的利用率。

(3)I/O设备利用率。

答:

画出三个作业并行工作图如下(图中着色部分为作业等待时间):

Job3

 

(1)Job1从投入到运行完成需110ms,Job2从投入到运行完成需90ms,Job3从投入到运行完成需110ms。

(2)CPU空闲时间段为:

60ms至70ms,80ms至90ms,100ms至110ms。

所以CPU利用率为(110-30)/110=72.7%。

(3)设备I1空闲时间段为:

20ms至40ms,90ms至100ms,故I1的利用率为(110-30)/110=72.7%。

设备I2空闲时间段为:

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的利用率。

(3)I/O设备利用率。

答:

画出三个作业并行工作图如下(图中着色部分为作业等待时间):

 

(1)Job1从投入到运行完成需80ms,Job2从投入到运行完成需90ms,Job3从投入到运行完成需90ms。

(2)CPU空闲时间段为:

60ms至70ms,80ms至90ms。

所以CPU利用率为(90-20)/90=77.78%。

(3)设备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)、I/O(30)、计算(10)

B:

计算(40)、I/O(20)、计算(10)

C:

计算(10)、I/O(30)、计算(20)

如果三道程序都使用相同设备进行I/O(即程序用串行方式使用设备,调度开销忽略不计)。

试分别画出单道和多道运行的时间关系图。

两种情况下,CPU的平均利用率各为多少?

答:

分别画出单道和多道运行的时间图

(1)

C

单道运行时间关系图

单道总运行时间为190ms。

CPU利用率为(190-80)/190=57.9%

(1)单道运行时间关系图

B

多道总运行时间为140ms。

CPU利用率为(140-30)/140=78.6%

7若内存中有3道程序A、B、C,优先级从高到低为A、B和C,它们单独运行时的CPU和I/O占用时间为:

程序A:

60203010402020(ms)

I/O2CPUI/O1CPUI/O1CPUI/O1

程序B:

3040703030(ms)

I/O1CPUI/O2CPUI/O2

程序C:

40603070(ms)

CPUI/O1CPUI/O2

如果三道程序同时并发执行,调度开销忽略不计,但优先级高的程序可中断优先级低的程序,优先级与I/O设备无关。

试画出多道运行的时间关系图,并问最早与最迟结束的程序是哪个?

每道程序执行到结束分别用了多少时间?

计算三个程序全部运算结束时的CPU利用率?

答:

画出三个作业并发执行的时间图:

A

 

 

(1)最早结束的程序为B,最后结束的程序为C。

(2)程序A为250ms。

程序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)为同步问题。

4在按动态优先数调度进程的系统中,每个进程的优先数需定时重新计算。

在处理器不断地在进程之间交替的情况下,重新计算进程优先数的时间从何而来?

答:

许多操作系统重新计算进程的优先数在时钟中断处理例程中进行,由于中断是随机的,碰到哪个进程,就插入哪个进程中运行处理程序,并把处理时间记在这个进程的账上。

5若后备作业队列中等待运行的同时有三个作业J1、J2、J3,已知它们各自的运行时间为a、b、c,且满足a

答:

采用短作业优先算法调度时,三个作业的总周转时间为:

T1=a+(a+b)+(a+b+c)=3a+2b+c①

若不按短作业优先算法调度,不失一般性,设调度次序为:

J2、J1、J3。

则三个作业的总周转时间为:

T2=b+(b+a)+(b+a+c)=3b+2a+c②

令②-①式得到:

T2-T1=b-a>0

可见,采用短作业优先算法调度才能获得最小平均作业周转时间。

6若有一组作业J1,…,Jn,其执行时间依次为S1,…,Sn。

如果这些作业同时到达系统,并在一台单CPU处理器上按单道方式执行。

试找出一种作业调度算法,使得平均作业周转时间最短。

答:

首先,对n个作业按执行时间从小到大重新进行排序,则对n个作业:

J1’,…,Jn’,它们的运行时间满足:

S1’≤S2’≤…≤S(n-1)’≤Sn’。

那么有:

T=[S1’+(S1’+S2’)+(S1’+S2’+S3’)+…+(S1’+S2’+S3’+…+Sn’)]/n

=[n×S1’+(n-1)×S2’+(n-3)×S3’]+…+Sn’]]/n

=(S1’+S2’+S3’+…+Sn’)-[0×S1’+1×S2’+2×S3’+…+(n-1)Sn’]/n

由于任何调度方式下,S1’+S2’+S3’+…+Sn’为一个确定的数,而当S1’≤S2’≤…≤S(n-1)’≤Sn’时才有:

0×S1’+1×S2’+2×S3’+…+(n-1)Sn’的值最大,也就是说,此时T值最小。

所以,按短作业优先调度算法调度时,使得平均作业周转时间最短。

7假定执行表中所列作业,作业号即为到达顺序,依次在时刻0按次序1、2、3、4、5进入单处理器系统。

1)分别用先来先服务调度算法、时间片轮转算法、短作业优先算法及非强占优先权调度算法算出各作业的执行先后次序(注意优先权高的数值小);

2)计算每种情况下作业的平均周转时间和平均带权周转时间。

作业号

执行时间

优先权

1

2

3

4

5

10

1

2

1

5

3

1

3

4

2

答:

(1)采用FCFS算法调度作业,运作情况:

执行次序执行时间等待时间开始时间完成时间周转时间带权周转时间

1100010101

211010111111

32111113136.5

411313141414

55141419193.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。

作业执行时间提交时间完成时间周转时间带权周转时间

110019191.9

210222

320773.5

410444

55014142.8

作业平均周转时间T=(19+2+7+4+14)/5=9.2

作业平均带权周转时间W=(1.9+2+3.5+4+2.8)/5=2.84

(3)采用SJF算法调度作业,运作情况:

(4)

执行次序执行时间等待时间开始时间完成时间周转时间带权周转时间

2100111

4111222

3222442

5544991.8

1109919191.9

作业平均周转时间T=(1+2+4+9+19)/5=7

作业平均带权周转时间W=(1+2+2+1.8+1.9)/5=1.74

采用非剥夺优先权算法调度作业,运作情况:

执行次序优先数执行时间等待时间周转时间带权周转时间

211011

525161.2

13106161.6

33216189

441181919

作业平均周转时间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=∞2)Q>T3)S<Q<T4=Q=S5=Q接近于0

答:

1)Q=∞CPU利用率=T/(T+S)

2)Q>TCPU利用率=T/(T+S)

3)T>Q>SCPU利用率=Q/(Q+S)

4)Q=SCPU利用率=50%

5)Q→0CPU利用率→0

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调度算法

执行次序执行时间等待时间周转时间带权周转时间

C6061

D86141.75

B414184.5

E1018282.8

A2283015

作业平均周转时间T=(6+14+18+28+30)/5=19.2

作业平均带权周转时间W=(1+1.75+4.5+2.8+15)/5=5.01

 

(2)优先级调度算法

执行次序执行时间等待时间周转时间带权周转时间

E100101

D810182.25

C618244

B424287

A2283015

作业平均周转时间T=(10+18+24+28+30)/5=22

作业平均带权周转时间W=(1+2.25+4+7+15)/5=5.85

 

(3)时间片轮转法

按次序ABCDEBCDECDEDEE轮转执行。

作业执行时间等待时间周转时间带权周转时间

A2021

B48123

C614203.33

D818263.25

E1020303

作业平均周转时间T=(2+12+20+26+30)/5=18

作业平均带权周转时间W=(1+3+3.33+3.25+3)/5=2.71

 

(4)SJF调度算法

作业执行时间等待时间周转时间带权周转时间

A2021

B4261.5

C66122

D812202.5

E1020303

作业平均周转时间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调度算法

执行次序执行时间等待时间周转时间带权周转时间

A100101

B610162.66

C216189

D418225.5

E822303.75

作业平均周转时间T=(10+16+18+22+30)/5=19.2

作业平均带权周转时间W=(1+2.66+9+5.5+3.75)/5=4.38

 

(2)优先级调度算法

执行次序执行时间等待时间周转时间带权周转时间

B6061

E86141.75

A1014242.4

C2242613

D426307.5

作业平均周转时间T=(6+14+24+26+30)/5=20

作业平均带权周转时间W=(1+1.75+2.4+13+7.5)/5=5.13

 

(3)时间片轮转法

按次序ABCDEABDEABEAEA轮转执行。

作业执行时间等待时间周转时间带权周转时间

A1020303

B616223.66

C2463

D412164

E820283.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)I/O为主作业优先级高。

(2)输入输出为主作业优先级最高,输入输出均匀的作业其次,而计算为主作业的优先级最低。

13请你设计一种先进的计算机体系结构,它使用硬件而不是中断来完成进程切换,则CPU需要哪些信息?

请描述用硬件完成进程切换的工作过程。

答:

该计算机有一个专用硬件寄存器,它始终存放指向当前运行进程的PCB的指针。

当系统中发生了一个事件,如I/O结束事件,CPU便可把运行进程的上下文保存到专用硬件寄存器指针指向的PCB中保护起来,然后,CPU转向中断向量表,找到设备中断处理程序入口,让专用硬件寄存器指针指向(设备)中断服务例程,于是,便可启动中断服务例程工作。

14单道批处理系统中,下列三个作业采用先来先服务调度算法和最高响应比优先算法进行调度,哪一种算法性能较好?

请完成下表:

作业

提交时间

运行时间

开始

时间

完成

时间

周转

时间

带权周

转时间

1

2

3

10∶00

10∶10

10∶25

2∶00

1∶00

0∶25

平均作业周转时间=

平均作业带权周转时间W=

答:

FIFO

作业

提交时间

运行时间

开始

时间

完成

时间

周转

时间

带权周

转时间

1

2

3

10∶00

10∶10

10∶25

2∶00

1∶00

0∶25

10:

00

12:

00

13:

00

12:

00

13:

00

13:

25

2

2:

50

3

120/120

145/60

180/25

平均作业周转时间=2.61

平均作业带权周转时间W=3.54

HRRF

作业

提交时间

运行时间

开始

时间

完成

时间

周转

时间

带权周

转时间

1

2

3

10∶00

10∶10

10∶25

2∶00

1∶00

0∶25

10:

00

12:

25

12:

00

12:

00

13:

25

12:

25

2

3:

15

2

120/120

195/60

120/25

平均作业周转时间=2.41

平均作业带权周转时间W=3.02

可见HRRF比FIFO要好。

15若有如表所示四个作业进入系统,分别计算在FCFS、SJF和HRRF算法下的平均周转时间与带权平均周转时间。

(时间以十进制表示)

作业提交时间(时)估计运行时间(小时)开始执行时间(时)

18.002.008.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 面试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1