当前位置:文档之家› 操作系统____课后答案(1)

操作系统____课后答案(1)

操作系统____课后答案(1)
操作系统____课后答案(1)

CH1 应用题参考答案

1 有一台计算机,具有1MB 内存,操作系统占用200KB ,每个用户进程各占200KB 。

如果用户进程等待I/O 的时间为80%,若增加1MB 内存,则CPU 的利用率提高多少? 答:设每个进程等待I/O 的百分比为P ,则n 个进程同时等待I/O 的概率是P n ,当n 个

进程同时等待I/O 期间CPU 是空闲的,故CPU 的利用率为1-P n 。由题意可知,除去操作系统,内存还能容纳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 间(见

图中有色部分)。

处理器 输入机 打印机 程序A 程序B A 计算 B 计算 计算 计算 时间(ms) 0 50 100 150 180 200 250 300

打印 计算 打印 输入 计算 A 打印 A 打印 B 输入 A 计算 B 计算

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)忽略调度执行时间,多道运行方式(抢占式):

时间0 3 7 8 10 12 13 14 17 19 单位10 ms

I/O I12 I22 I32

CPU C11 C21 C13 C21 C31 C23 C33

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

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

时间0 3 7 9 10 12 13 14 16 18 单位10 ms

I/O I12 I22 I32

CPU C11 C21 C13 C31 C23 C33

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

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

时间0 303132 71727374 8485 105107 127 136137 147 177178 198 单位1ms

I/O I12 I22 I32

CPU C11 C21 C13 C21 C31 C23 C33

OS

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

时间0 303132 7172 939495 105106 124125127129 139 168169 189 单位1ms

I/O I12 I22 I32

CPU C11 C21 C21 C13 C31 C31 C23 C33

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 设备利用率。 答:画出三个作业并行工作图如下(图中着色部分为作业等待时间):

(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 设备利用率。 答:画出三个作业并行工作图如下(图中着色部分为作业等待时间):

CP

U I1 I2 Job1 Job2 Job3 时间(ms)

CPU CPU 0 10 20 30 40 50 60 70 80 90 100 110 CPU I1 I1 I1 CPU CPU I2 I2 CPU I1 CPU I2 Job1 Job2 Job3

Job2

Job1

Job2

Job3

Job1

Job3

Job2 Job1 Job1 Job3 Job3

(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) 单道运行时间关系图

单道总运行时间为190ms 。CPU 利用率为(190-80)/190=57.9% (1) 单道运行时间关系图

CP U I1 I2 Job1 Job2 Job3 时间

(ms)

CPU

CPU 0 10 20 30 40 50 60 70 80 90

I1 I1 CPU

CPU

I2 I2 CPU

I1 CPU

Job1 Job2 Job3 Job2 Job1 Job2 Job3 Job1

Job2

Job1

Job3

0 20 40 50 60 80 100 120 140 160 180 190

I/O

CPU 时间 (ms)

A

A

A

B B

B C C

C

多道总运行时间为140ms 。CPU 利用率为(140-30)/140=78.6%

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

CPU 和I/O 占用时间为:

程序A : 60 20 30 10 40 20 20 (ms) I/O2 CPU I/O1 CPU I/O1 CPU 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) 最早结束的程序为B ,最后结束的程序为C 。

(2) 程序A 为250ms 。程序B 为220ms 。程序C 为310ms 。 (3) CPU 利用率为(310-120)/310=61.3%

8 有两个程序,A 程序按顺序使用:(CPU)10秒、(设备甲)5秒、(CPU)5秒、(设备乙)10

I/O CPU 时间

(ms)

A A A

B C

0 20 40 50 60 80 100 120 140

B

B C C

B

CP U I01 I02 A B C 时间(ms) cpu 0 30 60 90 120 150 180 210 240 270 300 330 I01 cpu cpu I02 I02 cpu cpu I01 c

p u

A B B A B C B C A C I01 cpu I01

A C A A cpu cpu I01 cpu cpu I02 I02

B C B C A

秒、(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’,…,J n’,它们的运行时间满足:S1’≤S2’≤…≤S(n-1)’≤S n’。那么有:

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

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

=(S1’ + S2’+ S3’+…+ S n’)-[0×S1’+1×S2 ’+2×S3’+…+(n-1) S n’]/n 由于任何调度方式下,S1’ + S2’+ S3’+…+ S n’为一个确定的数,而当S1’≤S2’≤…≤S(n-1)’≤S n’时才有:0×S1’+1×S2 ’+2×S3’+…+(n-1) S n’的值最大,也就是说,此时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算法调度作业,运作情况:

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

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

(3)采用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=∞2)Q>T 3)S<Q<T 4=Q=S 5=Q接近于0

答:

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

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

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

4) Q=S CPU利用率=50%

5) Q→0 CPU利用率→0

9有5个待运行的作业,各自预计运行时间分别是:9、6、3、5和x,采用哪种运行次序使得平均响应时间最短?

答:按照最短作业优先的算法可以使平均响应时间最短。X取值不定,按照以下情况讨论:

1)x≤3 次序为:x,3,5,6,9

2)3

3)5

4)6

5)9

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

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

(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)时间片轮转法

按次序A B C D E B C D EC D E D E E轮转执行。

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

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

(4)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)时间片轮转法

按次序A B C D E A B D E A B E A E A轮转执行。

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

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)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算法下的平均周转时间与带权平均周转时间。(时间以十进制表示)

答:

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

1 8.00 2.00 8.00

2 8.50 0.50 10.30

3 9.00 0.10 10.00

4 9.50 0.20 10.10

FCFS SJF HRRF

作业开始完成周转开始完成周转开始完成周转时间时间时间时间时间时间时间时间时间

1 8.00 10.00 2.00 8.00 10.00 2.00 8.00 10.00 2.00

2 10.00 10.50 2.00 10.30 10.80 2.30 10.10 10.60 2.10

3 10.50 10.60 1.60 10.00 10.10 1.10 10.00 10.10 1.10

4 10.60 10.80 1.30 10.10 10.30 0.80 10.60 10.80 1.30

平均周T=1.725 T=1.55 T=1.625

转时间=

带权平均W=6.875 W=5.15 W=5.675

周转时间=

16Kleinrock提出一种动态优先权算法:进程在就绪队列等待时,其优先权以速率α变化;当进程在处理器上运行,时其优先权以速率β变化。给参数α、β赋以不同值可得到不同算法。(1)若α>β>0是什么算法?(2) 若α<β<0是什么算法

答:

(1)是先进先出算法。因为在就绪队列中的进程比在CPU上运行的进程

的优先数提高得快,故进程切换时,先进入就绪队列的进程优先权

就越高。

(2)是后进先出算法。因为在就绪队列中的进程比在CPU上运行的进程

的优先权下降得快,故后进入就绪队列的进程此先进入的进程的优

先权高。

1717 有一个四道作业的操作系统,若在一段时间内先后到达6个作业,它们的提交和估计运行时间由下表给出:

作业提交时间估计运行时间(分钟)

1 8:00 60

2 8:20 35

3 8:25 20

4 8:30 25

5 8:35 5

6 8:40 10

系统采用SJF调度算法,作业被调度进入系统后中途不会退出,但作业运行时可被更短作业抢占。(1)分别给出6个作业的执行时间序列、即开始执行时间、作业完成时间、作业周转时间。(2)计算平均作业周转时间。

答:

执行次序提交时间执行时间开始时间完成时间周转时间

J1 8:00 60 8:00 9:00 60

J5 8:35 5 9:00 9:05 30

J6 8:40 10 9:05 9:15 35

J3 8:25 20 9:15 9:35 70

J4 8:30 25 9:35 10:00 90

J2 8:20 35 10:00 10:35 135

作业平均周转时间T=(60+30+35+70+90+135)/6=70

注意,J1被调度运行后,直到它执行结束,才会引出作业调度程序工作。所

以,J2至J6虽在J1执行期间进入,但未被调度,均在等待。当J1撤离后,作业调度程序工作,按SJF 算法,显然有执行次序:J5、J6、J3、J4、和J2。

18 有一个具有两道作业的批处理系统,作业调度采用短作业优先的调度算法,进程

调度采用以优先数为基础的抢占式调度算法,在下表所示的作业序列,作业优先数即为进程优先数,优先数越小优先级越高。

(1)列出所有作业进入内存时间及结束时间。 (2)计算平均周转时间。 答:

每个作业运行将经过两个阶段:作业调度(SJF 算法)和进程调度(优先数抢占式)。另外,批处理最多容纳2道作业,更多的作业将在后备队列等待。

CPU

(1) 10:00,作业A 到达并投入运行。

(2) 10:20,作业B 到达且优先权高于作业A ,故作业B 投入运行而作业A 在就绪队

列等待。

(3) 10:30,作业C 到达,因内存中已有两道作业,故作业C 进入作业后备队列等待。 (4) 10:50,作业B 运行结束,作业D 到达,按SJF 短作业优先算法,作业D 被装入

内存进入就绪队列。而由于作业A 的优先级高于作业D ,故作业A 投入运行。 (5) 11:10,作业A 运行结束,作业C 被调入内存,且作业C 的优先级高于作业D ,

故作业C 投入运行。

(6) 12:00,作业C 运行结束,作业D 投入运行。 (7) 12:20,作业D 运行结束。

作业名 到达时间 估计运行时间 优先数

A 10:00 40分 5

B 10:20 30分 3

C 10:30 50分 4

D 10:50 20分 6 进程就绪队列

作业后备队列 时间(分钟) 10:00 10:20 10:30 10:50 11:10 12:00 12:20 A B A C D

A D D C 作业 进入内存时间 运行结束时间 A 10:00 11:10

B 10:20 10;50

各作业周转时间为:作业A 70,作业B 30,作业C 90,作业D 90。平均作业周转时间为70分钟。

19某多道程序设计系统供用户使用的主存为100K,磁带机2台,打印机1台。采用可变分区内存管理,采用静态方式分配外围设备,忽略用户作业I/O时间。现有作业序列如下:

作业号进入输入井时间运行时间主存需求量磁带需求打印机需求

1 8:00 25分钟15K 1 1

2 8:20 10分钟30K 0 1

3 8:20 20分钟60K 1 0

4 8:30 20分钟20K 1 0

5 8:35 15分钟10K 1 1

作业调度采用FCFS策略,优先分配主存低地址区且不准移动已在主存的作业,在主存中的各作业平分CPU时间。现求:(1)作业被调度的先后次序?(2)全部作业运行结束的时间?(3)作业平均周转时间为多少?(4)最大作业周转时间为多少?

答:(1)作业调度选择的作业次序为:作业1、作业3、作业4、作业2和作业5。

(2)全部作业运行结束的时间9:30。

(3)周转时间:作业1为30分钟、作业2为55分钟、作业3为40分钟、作业4为

40分钟和作业5为55分钟。

(4)平均作业周转时间=44分钟。

(5) )最大作业周转时间为55分钟。

20某多道程序设计系统采用可变分区内存管理,供用户使用的主存为200K,磁带机5台。采用静态方式分配外围设备,且不能移动在主存中的作业,忽略用户作业I/O时间。现有作业序列如下:

作业号进入输入井时间运行时间主存需求量磁带需求

A 8:30 40分钟30K 3

B 8:50 25分钟120K 1

C 9:00 35分钟100K 2

D 9:05 20分钟20K 3

E 9:10 10分钟60K 1

现求:(1)FIFO算法选中作业执行的次序及作业平均周转时间?(2)SJF算法选中作业执行的次序及作业平均周转时间?

答:

(1) FIFO算法选中作业执行的次序为:A、B、D、C和E。作业平均周转时间为63分钟。

(2) SJF算法选中作业执行的次序为:A、B、D、E和C。作业平均周转时间为58分钟。

CH3 应用题参考答案

1有三个并发进程:R负责从输入设备读入信息块,M负责对信息块加工处理;P负责打印输出信息块。今提供;

1)一个缓冲区,可放置K个信息块;

2)二个缓冲区,每个可放置K个信息块;

试用信号量和P、V操作写出三个进程正确工作的流程。

答:

1)var B : array[0,k-1] of item ;

sread : semaphore := k ;

smanage : semaphore := 0 ;

swrite : semaphore := 0;

rptr : integer := 0 ;

mptr : integer := 0 ;

wptr : integer := 0 ;

x : item

cobegin

process reader ;

begin

L1: read a message into x ; P(sread) ;

B[rptr]:= x ;

rptr := ( rptr+1) mod k;

V(smanage) ;

goto L1 ;

end ; process manager;

begin

L2: P(smanage) ;

x := B[mptr] ;

mptr :=(mptr+1) mod k;

manage the message in x ;

B[mptr] := x;

V(swrite) ;

goto L2;

end ;

process writer ;

begin

L3: P(swrite) ;

x := B[wptr] ;

wptr :=(wptr +1) mod k;

V(sread) ;

Print the message in x ;

goto L3 ;

end ;

coend

2)var A, B : array [0,k-1] of item ;

sput1 : semaphore := k ;

sput2 : semaphore := k ;

sget1 : semaphore := 0 ;

sget2 : semaphore := 0 ;

put1 : integer := 0 ;

put2 : integer := 0 ;

get1 : integer := 0 ;

get2 : integer := 0 ;

cobegin

process reader ;

begin

L1: read a message into x ; P(sput1) ;

A[put1] := x ; process manager ;

begin

L2: P(sget1) ;

x :=A[get1];

get1 :=(get1+1) mod k;

process writer ;

begin

L3 : P(sget2) ;

x :=B[get2] ;

get2 :=(get2+1) mod k;

put1 := (put1+1) mod k ; V(sget1) ;

Goto L1 ;

end ;

V(sput1) ;

Manage the message into x;

P(sput2) ;

B[put2] := x ;

put2 := (put2+1) mod k ;

V(sget2) ;

Goto L2 ;

end ;

V(sput2) ;

Print the message in x ;

Goto L3 ;

end ;

coend

2设有n个进程共享一个互斥段,如果:

(1)每次只允许一个进程进入互斥段;

(2)每次最多允许m个进程(m≤n)同时进入互斥段。

试问:所采用的信号量初值是否相同?信号量值的变化范围如何?

答:所采用的互斥信号量初值不同。

1)互斥信号量初值为1,变化范围为[-n+1 ,1]。

当没有进程进入互斥段时,信号量值为1;当有1个进程进入互斥段但没有进程等待进入互斥段时,信号量值为0;当有1个进程进入互斥段且有一个进程等待进入互斥段时,信号量值为-1;最多可能有n-1个进程等待进入互斥段,故此时信号量的值应为-(n-1)也就是-n+1。

2)互斥信号量初值为m,变化范围为[-n+m ,m]。

当没有进程进入互斥段时,信号量值为m;当有1个进程进入互斥段但没有进程等待进入互斥段时,信号量值为m-1;当有m个进程进入互斥段且没有一个进程等待进入互斥段时,信号量值为0;当有m个进程进入互斥段且有一个进程等待进入互斥段时,信号量值为-1;最多可能有n-m个进程等待进入互斥段,故此时信号量的值应为-(n-m)也就是-n+m。

3有两个优先级相同的进程P1和P2,各自执行的操作如下,信号量S1和S2初值均为0。试问P1、P2并发执行后,x、y、z的值各为多少?

P1:P2:

begin begin

y:=1; x:=1;

y:=y+3; x:=x+5;

V(S1); P(S1);

z:=y+1; x:=x+y;

P(S2); V(S2);

y:=z+y z:=z+x;

end. end.

答:现对进程语句进行编号,以方便描述。

P1:P2:

begin begin

y:=1; ①x:=1; ⑤

y:=y+3; ②x:=x+5; ⑥

V(S1); P(S1);

z:=y+1; ③x:=x+y; ⑦

P(S2); V(S2);

y:=z+y ④z:=z+x; ⑧

end. end.

①、②、⑤和⑥是不相交语句,可以任何次序交错执行,而结果是唯一的。接着无论系

统如何调度进程并发执行,当执行到语句⑦时,可以得到x=10,y=4。按Bernstein条件,语句③的执行结果不受语句⑦的影响,故语句③执行后得到z=5。最后,语句④和⑧并发执行,最后结果为:

语句④先执行:x=10,y=9,z=15。

语句⑧先执行:x=10,y=19,z=15。

4有一阅览室,读者进入时必须先在一张登记表上登记,该表为每一座位列出一个表目,包括座号、姓名,读者离开时要注销登记信息;假如阅览室共有100个座位。试用:1)信号量和P、V操作;2)管程,来实现用户进程的同步算法。

答:1)使用信号量和P、V操作:

var name: array[1..100] of A;

A=record

number:integer;

name:string;

end

for i:=1 to 100 do {A[i].number:=i; A[i].name:=null;}

mutex,seatcount:semaphore;

i:integer;mutex:=1;seatcount:=100;

cobegin

{

process readeri(var readername:string)(i=1,2,…)

{

P(seatcount);

P(mutex);

for i:=1 to 100 do i++

if A[i].name=null then A[i].name:=readername;

reader get the seat number =i; /*A[i].number

V(mutex)

进入阅览室,座位号i,座下读书;

P(mutex);

A[i] name:=null;

V(mutex);

V(seatcount);

离开阅览室;

}

}

coend.

5在一个盒子里,混装了数量相等的黑白围棋子。现在用自动分拣系统把黑子、白子分开,设分拣系统有二个进程P1和P2,其中P1拣白子;P2拣黑子。规定每个进程每次拣一子;当一个进程在拣时,不允许另一个进程去拣;当一个进程拣了一子时,必须让另一个进程去拣。

试写出两进程P1和P2能并发正确执行的程序。

答:实质上是两个进程的同步问题,设信号量S1和S2分别表示可拣白子和黑子,不失一般性,若令先拣白子。

var S1,S2:semaphore;

S1:=1;S2:=0;

cobegin

{

process P1

begin

repeat

P(S1);

拣白子

V(S2);

until false;

end

process P2

begin

repeat

P(S2);

拣黑子

V(S1);

until false;

end

}

coend.

6设公共汽车上,司机和售票员的活动分别如下:

司机的活动:启动车辆:正常行车;到站停车。

售票员的活动:关车门;售票;开车门。

在汽车不断地到站、停车、行驶过程中,这两个活动有什么同步关系?用信号量和P、V操作实现它们的同步。

答:在汽车行驶过程中,司机活动与售票员活动之间的同步关系为:售票员关车门后,向司机发开车信号,司机接到开车信号后启动车辆,在汽车正常行驶过程中售票员售票,到站时司机停车,售票员在车停后开门让乘客上下车。因此,司机启动车辆的动作必须与售票员关车门的动作取得同步;售票员开车门的动作也必须与司机停车取得同步。

操作系统第四版-课后习题答案

操作系统第四版-课后习题答案

第一章 作者:佚名来源:网络 1、有一台计算机,具有IMB 内存,操作系统占用200KB ,每个用户进程各占200KB 。如果用户进程等待I/O 的时间为80 % ,若增加1MB 内存,则CPU 的利用率提高多少? 答:设每个进程等待I/O 的百分比为P ,则n 个进程同时等待刀O 的概率是Pn ,当n 个进程同时等待I/O 期间CPU 是空闲的,故CPU 的利用率为1-Pn。由题意可知,除去操作系统,内存还能容纳4 个用户进程,由于每个用户进程等待I/O的时间为80 % , 故: CPU利用率=l-(80%)4 = 0.59 若再增加1MB 内存,系统中可同时运行9 个用户进程,此时:cPu 利用率=l-(1-80%)9 = 0.87 故增加IMB 内存使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 有等待时间段为180rns 至200ms 间(见图中有色部分) 3 设有三道程序,按A 、B 、C优先次序运行,其内部计算和UO操作时间由图给出。

操作系统课后答案

第一章操作系统引论 思考与练习题 1.什么是操作系统它的主要功能是什么 2.什么是多道程序设计技术多道程序设计技术的主要特点是什么 3.批处理系统是怎样的一种操作系统它的特点是什么 4.什么是分时系统什么是实时系统试从交互性,及时性,独立性,多路性,可靠性等几个 方面比较分时系统和实施系统。 5.实时系统分为哪俩种类型 6.操作系统主要特征是什么 7.操作系统也用户的接口有几种它们各自用在什么场合 8.“操作系统是控制硬件的软件”这一说法确切吗为什么 9.设内存中有三道程序,A,B,C,它们按A~B~C的先后顺序执行,它们进行“计算”和“I/o 操作”的时间如表1-2所示,假设三道程序使用相同的I/O设备。 (1)试画出单道运行时三道程序的时间关系图,并计算完成三道程序要花多少时间。 (2)试画出多道运行时三道程序的时间关系图,并计算完成三道程序要花多少时间。10.将下列左右两列词连接起来形成意义最恰当的5对。 DOS 网络操作系统 OS/2 自由软件

UNIX 多任务 Linux 单任务 Windows NT 为开发操作系统而设计 C语言 11.选择一个现代操作系统,查找和阅读相关的技术资料,写一篇关于操作系统如何进行内存管理、存储管理、设备管理和文件管理的文章。 答案 1.答:操作系统是控制和管理计算机的软、硬件资源,合理地组织计算机的工作流程,以方便用户使用的程序集合。 2.答:把多个独立的程序同时放入内存,使她们共享系统中的资源。 1)多道,即计算机内存中同时放多道相互独立的程序。 2)宏观上并行,是指共识进入系统的多道程序都处于运行过程。 3)微观上串行,是指在单道处理机环境下,内存中的多道程序轮流地占有CPU,交替执行。 3.答:批处理操作系统是一种基本的操作系统类型。在该系统中用户的作业被成批地输入到计算机中,然后在操作系统的控制下,用户的作业自动的执行。 特点是:资源利用率高。系统吞吐量大。平均周转时间长。无交互能力。 4.答:分时系统:允许多个终端用户同时使用计算机,在这样的系统中,用户感觉不到其他用户的存在,好像独占计算机一样。实时系统:对外输入出信息,实时系统能够在规定的时间内处理完毕并作出反应。 1)多路性:分时系统是为多个终端用户提供服务,实时系统的多路性主要表现在经常对多路的现场信息进行采集以及多多个对象或多个执行机构进行控制。 2)独立性:每个终端向实时系统提出服务请求时,是彼此独立的工作、互不干扰。

操作系统 习题答案(中文版)

操作系统概第七版中文版习题答案(全) 1.1在多道程序和分时环境中,多个用户同时共享一个系统,这种情况导致多种安全问题。a. 列出此类的问题 b.在一个分时机器中,能否确保像在专用机器上一样的安全度?并解释之。 答:a.窃取或者复制某用户的程序或数据;没有合理的预算来使用资源(CPU,内存,磁盘空间,外围设备)b.应该不行,因为人类设计的任何保护机制都会不可避免的被另外的人所破译,而且很自信的认为程序本身的实现是正确的是一件困难的事。 1.2资源的利用问题在各种各样的操作系统中出现。试例举在下列的环境中哪种资源必须被严格的管理。(a)大型电脑或迷你电脑系统(b)与服务器相联的工作站(c)手持电脑 答:(a)大型电脑或迷你电脑系统:内存和CPU资源,外存,网络带宽(b)与服务器相联的工作站:内存和CPU资源(c)手持电脑:功率消耗,内存资源 1.3在什么情况下一个用户使用一个分时系统比使用一台个人计算机或单用户工作站更好? 答:当另外使用分时系统的用户较少时,任务十分巨大,硬件速度很快,分时系统有意义。充分利用该系统可以对用户的问题产生影响。比起个人电脑,问题可以被更快的解决。还有一种可能发生的情况是在同一时间有许多另外的用户在同一时间使用资源。当作业足够小,且能在个人计算机上合理的运行时,以及当个人计算机的性能能够充分的运行程序来达到用户的满意时,个人计算机是最好的,。 1.4在下面举出的三个功能中,哪个功能在下列两种环境下,(a)手持装置(b)实时系统需要操作系统的支持?(a)批处理程序(b)虚拟存储器(c)分时 答:对于实时系统来说,操作系统需要以一种公平的方式支持虚拟存储器和分时系统。对于手持系统,操作系统需要提供虚拟存储器,但是不需要提供分时系统。批处理程序在两种环境中都是非必需的。 1.5描述对称多处理(SMP)和非对称多处理之间的区别。多处理系统的三个优点和一个缺点? 答:SMP意味着所以处理器都对等,而且I/O可以在任何处理器上运行。非对称多处理有一个主处理器控制系统,与剩下的处理器是随从关系。主处理器为从处理器安排工作,而且I/O也只在主处理器上运行。多处理器系统能比单处理器系统节省资金,这是因为他们能共享外设,大容量存储和电源供给。它们可以更快速的运行程序和增加可靠性。多处理器系统能比单处理器系统在软、硬件上也更复杂(增加计算量、规模经济、增加可靠性) 1.6集群系统与多道程序系统的区别是什么?两台机器属于一个集群来协作提供一个高可靠性的服务器的要求是什么? 答:集群系统是由多个计算机耦合成单一系统并分布于整个集群来完成计算任务。另一方面,多道程序系统可以被看做是一个有多个CPU组成的单一的物理实体。集群系统的耦合度比多道程序系统的要低。集群系统通过消息进行通信,而多道程序系统是通过共享的存储空间。为了两台处理器提供较高的可靠性服务,两台机器上的状态必须被复制,并且要持续的更新。当一台处理器出现故障时,另一台处理器能够接管故障处理的功能。 1.7试区分分布式系统(distribute system)的客户机-服务器(client-server)模型与对等系统(peer-to-peer)模型 答:客户机-服务器(client-server)模型可以由客户机和服务器的角色被区分。在这种模型下,客户机向服务器发出请求,然后服务器满足这种请求。对等系统(peer-to-peer)模

操作系统习题答案

内存1通常情况下,在下列存储管理方式中,()支持多道程序设计、管理最简单,但存储碎片多;()使内存碎片尽可能少,而且使内存利用率最高。 Ⅰ.段式;Ⅱ.页式;Ⅲ.段页式;Ⅳ.固定分区;Ⅴ.可变分区 正确答案:Ⅳ;Ⅰ 2为使虚存系统有效地发挥其预期的作用,所运行的程序应具有的特性是()。正确答案:该程序应具有较好的局部性(Locality) 3提高内存利用率主要是通过内存分配功能实现的,内存分配的基本任务是为每道程序()。使每道程序能在不受干扰的环境下运行,主要是通过()功能实现的。Ⅰ.分配内存;Ⅱ.内存保护;Ⅲ.地址映射;Ⅳ.对换;Ⅴ.内存扩充;Ⅵ.逻辑地址到物理地址的变换;Ⅶ.内存到外存间交换;Ⅷ.允许用户程序的地址空间大于内存空间。 正确答案:Ⅰ;Ⅱ 4适合多道程序运行的存储管理中,存储保护是 正确答案:为了防止各道作业相互干扰 5下面哪种内存管理方法有利于程序的动态链接()? 正确答案:分段存储管理 6在请求分页系统的页表增加了若干项,其中状态位供()参考。 正确答案:程序访问 7从下面关于请求分段存储管理的叙述中,选出一条正确的叙述()。 正确答案:分段的尺寸受内存空间的限制,但作业总的尺寸不受内存空间的限制

8虚拟存储器的特征是基于()。 正确答案:局部性原理 9实现虚拟存储器最关键的技术是()。 正确答案:请求调页(段) 10“抖动”现象的发生是由()引起的。 正确答案:置换算法选择不当 11 在请求分页系统的页表增加了若干项,其中修改位供()参考。 正确答案:换出页面 12 虚拟存储器是正确答案:程序访问比内存更大的地址空间 13测得某个请求调页的计算机系统部分状态数据为:CPU利用率20%,用于对换空间的硬盘的利用率97.7%,其他设备的利用率5%。由此断定系统出现异常。此种情况下()能提高CPU的利用率。 正确答案:减少运行的进程数 14在请求调页系统中,若逻辑地址中的页号超过页表控制寄存器中的页表长度,则会引起()。 正确答案:越界中断 15 测得某个请求调页的计算机系统部分状态数据为:CPU利用率20%,用于对换空间的硬盘的利用率97.7%,其他设备的利用率5%。由此断定系统出现异常。此种情况下()能提高CPU的利用率。 正确答案:加内存条,增加物理空间容量 16 对外存对换区的管理应以()为主要目标,对外存文件区的管理应以()

操作系统课后习题答案

第一章 1.设计现代OS的主要目标是什么? 答:(1)有效性(2)方便性(3)可扩充性(4)开放性 4.试说明推劢多道批处理系统形成和収展的主要劢力是什么? 答:主要动力来源于四个方面的社会需求与技术发展: (1)不断提高计算机资源的利用率; (2)方便用户; (3)器件的不断更新换代; (4)计算机体系结构的不断发展。 12.试从交互性、及时性以及可靠性方面,将分时系统不实时系统迚行比较。答:(1)及时性:实时信息处理系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定;而实时控制系统的及时性,是以控制对象所要求的开始截止时间或完成截止时间来确定的,一般为秒级到毫秒级,甚至有的要低于100微妙。 (2)交互性:实时信息处理系统具有交互性,但人与系统的交互仅限于访问系统中某些特定的专用服务程序。不像分时系统那样能向终端用户提供数据和资源共享等服务。 (3)可靠性:分时系统也要求系统可靠,但相比之下,实时系统则要求系统具有高度的可靠性。因为任何差错都可能带来巨大的经济损失,甚至是灾难性后果,所以在实时系统中,往往都采取了多级容错措施保障系统的安全性及数据的安全性。 13.OS有哪几大特征?其最基本的特征是什么? 答:并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。 第二章 2. 画出下面四条诧句的前趋图: S1=a:=x+y; S2=b:=z+1; S3=c:=a –b;S4=w:=c+1; 8.试说明迚程在三个基本状态之间转换的典型原因。 答:(1)就绪状态→执行状态:进程分配到CPU资源 (2)执行状态→就绪状态:时间片用完 (3)执行状态→阻塞状态:I/O请求 (4)阻塞状态→就绪状态:I/O完成

操作系统课后题答案 (1)

课本课后题部分答案 第一章 1.设计现代OS的主要目标是什么? 答:(1)有效性(2)方便性(3)可扩充性(4)开放性 2.OS的作用可表现在哪几个方面? 答:(1)OS作为用户与计算机硬件系统之间的接口 (2)OS作为计算机系统资源的管理者 (3)OS实现了对计算机资源的抽象 13.OS有哪几大特征?其最基本的特征是什么? 答:并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。14.处理机管理有哪些主要功能?它们的主要任务是什么? 答:处理机管理的主要功能是:进程管理、进程同步、进程通信和处理机调度; 进程管理:为作业创建进程,撤销已结束进程,控制进程在运行过程中的状态转换。进程同步:为多个进程(含线程)的运行______________进行协调。 通信:用来实现在相互合作的进程之间的信息交换。 处理机调度: (1)作业调度。从后备队里按照一定的算法,选出若干个作业,为他们分配运行所需的资源(首选是分配内存)。 (2)进程调度:从进程的就绪队列中,按照一定算法选出一个进程,把处理机分配给它,并设置运行现场,使进程投入执行。 15.内存管理有哪些主要功能?他们的主要任务是什么? 北京石油化工学院信息工程学院计算机系3/48 《计算机操作系统》习题参考答案余有明与计07和计G09的同学们编著 3/48 答:内存管理的主要功能有:内存分配、内存保护、地址映射和内存扩充。 内存分配:为每道程序分配内存。 内存保护:确保每道用户程序都只在自己的内存空间运行,彼此互不干扰。 地址映射:将地址空间的逻辑地址转换为内存空间与对应的物理地址。 内存扩充:用于实现请求调用功能,置换功能等。 16.设备管理有哪些主要功能?其主要任务是什么? 答:主要功能有: 缓冲管理、设备分配和设备处理以及虚拟设备等。 主要任务: 完成用户提出的I/O 请求,为用户分配I/O 设备;提高CPU 和I/O 设 备的利用率;提高I/O速度;以及方便用户使用I/O设备. 17.文件管理有哪些主要功能?其主要任务是什么? 答:文件管理主要功能:文件存储空间的管理、目录管理、文件的读/写管理和保护。文件管理的主要任务:管理用户文件和系统文件,方便用户使用,保证文件安全性。 第二章 1. 什么是前趋图?为什么要引入前趋图? 答:前趋图(Precedence Graph)是一个有向无循环图,记为DAG(Directed Acyclic Graph),用于描述进程之间执行的前后关系。

操作系统概念第七版习题答案(中文版)完整版

1.1 在多道程序和分时环境中,多个用户同时共享一个系统,这种情况导致多种安全问题。a. 列出此类的问题b.在一个分时机器中,能否确保像在专用机器上一样的安全度?并解释之。 Answer:a.窃取或者复制某用户的程序或数据;没有合理的预算来使用资源(CPU,内存,磁盘空间,外围设备)b.应该不行,因为人类设计的任何保护机制都会不可避免的被另外的人所破译,而且很自信的认为程序本身的实现是正确的是一件困难的事。 1.2 资源的利用问题在各种各样的操作系统中出现。试例举在下列的环境中哪种资源必须被严格的管理。(a)大型电脑或迷你电脑系统(b)与服务器相联的工作站(c)手持电脑 Answer: (a)大型电脑或迷你电脑系统:内存和CPU 资源,外存,网络带宽(b)与服务器相联的工作站:内存和CPU 资源(c)手持电脑:功率消耗,内存资源 1.3 在什么情况下一个用户使用一个分时系统比使用一台个人计算机或单用户工作站更好? Answer:当另外使用分时系统的用户较少时,任务十分巨大,硬件速度很快,分时系统有意义。充分利用该系统可以对用户的问题产生影响。比起个人电脑,问题可以被更快的解决。还有一种可能发生的情况是在同一时间有许多另外的用户在同一时间使用资源。当作业足够小,且能在个人计算机上合理的运行时,以及当个人计算机的性能能够充分的运行程序来达到用户的满意时,个人计算机是最好的,。 1.4 在下面举出的三个功能中,哪个功能在下列两种环境下,(a)手持装置(b)实时系统需要操作系统的支持?(a)批处理程序(b)虚拟存储器(c)分时 Answer:对于实时系统来说,操作系统需要以一种公平的方式支持虚拟存储器和分时系统。对于手持系统,操作系统需要提供虚拟存储器,但是不需要提供分时系统。批处理程序在两种环境中都是非必需的。 1.5 描述对称多处理(SMP)和非对称多处理之间的区别。多处理系统的三个优点和一个缺点? Answer:SMP意味着所以处理器都对等,而且I/O 可以在任何处理器上运行。非对称多处理有一个主处理器控制系统,与剩下的处理器是随从关系。主处理器为从处理器安排工作,而且I/O 也只在主处理器上运行。多处理器系统能比单处理器系统节省资金,这是因为他们能共享外设,大容量存储和电源供给。它们可以更快速的运行程序和增加可靠性。多处理器系统能比单处理器系统在软、硬件上也更复杂(增加计算量、规模经济、增加可靠性) 1.6 集群系统与多道程序系统的区别是什么?两台机器属于一个集群来协作提供一个高可靠性的服务器的要求是什么? Answer:集群系统是由多个计算机耦合成单一系统并分布于整个集群来完成计算任务。另一方面,多道程序系统可以被看做是一个有多个CPU 组成的单一的物理实体。集群系统的耦合度比多道程序系统的要低。集群系统通过消息进行通信,而多道程序系统是通过共享的存储空间。为了两台处理器提供较高的可靠性服务,两台机器上的状态必须被复制,并且要持续的更新。当一台处理器出现故障时,另一台处理器能够接管故障处理的功能。

(完整版)操作系统课后题答案

2 . OS的作用可表现在哪几个方面? 答:(1)0S作为用户与计算机硬件系统之间的接口;(2)0S作为计算机系统资源的管理者;(3)0S实现了对计算机资源的抽象。 5 .何谓脱机I/O 和联机I/O ? 答:脱机I/O 是指事先将装有用户程序和数据的纸带或卡片装入纸带输入机或卡片机,在外围机的控制下,把纸带或卡片上的数据或程序输入到磁带上。该方式下的输入输出由外围 机控制完成,是在脱离主机的情况下进行的。而联机I/O方式是指程序和数据的输入输出 都是在主机的直接控制下进行的。 11 . OS有哪几大特征?其最基本的特征是什么? 答:并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。 20 .试描述什么是微内核OS。 答:(1)足够小的内核;(2)基于客户/服务器模式;(3)应用机制与策略分离原理;(4)采用面向对象技术。 25 ?何谓微内核技术?在微内核中通常提供了哪些功能? 答:把操作系统中更多的成分和功能放到更高的层次(即用户模式)中去运行,而留下一个尽 量小的内核,用它来完成操作系统最基本的核心功能,称这种技术为微内核技术。在微内核 中通常提供了进程(线程)管理、低级存储器管理、中断和陷入处理等功能。 第二章进程管理 2.画出下面四条语句的前趋图: S仁a : =x+y; S2=b : =z+1; S3=c : =a - b ; S4=w : =c+1; 7 ?试说明PCB的作用,为什么说PCB是进程存在的惟一标志? 答:PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构。作用是使一个在 多道程序环境下不能独立运行的程序,成为一个能独立运行的基本单位,成为能与其它进程 并发执行的进程。OS是根据PCB对并发执行的进程进行控制和管理的。 11 .试说明进程在三个基本状态之间转换的典型原因。 答:(1)就绪状态T执行状态:进程分配到CPU资源;(2)执行状态T就绪状态:时间片用 完;(3)执行状态T阻塞状态:I/O请求;(4)阻塞状态T就绪状态:I/O完成. 19 ?为什么要在OS中引入线程? 答:在操作系统中引入线程,则是为了减少程序在并发执行时所付出的时空开销,使OS具

(完整版)操作系统课后题答案

2.OS的作用可表现在哪几个方面? 答:(1)OS作为用户与计算机硬件系统之间的接口;(2)OS作为计算机系统资源的管理者; (3)OS实现了对计算机资源的抽象。 5.何谓脱机I/O和联机I/O? 答:脱机I/O 是指事先将装有用户程序和数据的纸带或卡片装入纸带输入机或卡片机,在外围机的控制下,把纸带或卡片上的数据或程序输入到磁带上。该方式下的输入输出由外围机控制完成,是在脱离主机的情况下进行的。而联机I/O方式是指程序和数据的输入输出都是在主机的直接控制下进行的。 11.OS有哪几大特征?其最基本的特征是什么? 答:并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。 20.试描述什么是微内核OS。 答:(1)足够小的内核;(2)基于客户/服务器模式;(3)应用机制与策略分离原理;(4)采用面向对象技术。 25.何谓微内核技术?在微内核中通常提供了哪些功能? 答:把操作系统中更多的成分和功能放到更高的层次(即用户模式)中去运行,而留下一个尽量小的内核,用它来完成操作系统最基本的核心功能,称这种技术为微内核技术。在微内核中通常提供了进程(线程)管理、低级存储器管理、中断和陷入处理等功能。 第二章进程管理 2. 画出下面四条语句的前趋图: S1=a:=x+y; S2=b:=z+1; S3=c:=a – b;S4=w:=c+1; 答:其前趋图为: 7.试说明PCB 的作用,为什么说PCB 是进程存在的惟一标志? 答:PCB 是进程实体的一部分,是操作系统中最重要的记录型数据结构。作用是使一个在多道程序环境下不能独立运行的程序,成为一个能独立运行的基本单位,成为能与其它进程并发执行的进程。OS是根据PCB对并发执行的进程进行控制和管理的。 11.试说明进程在三个基本状态之间转换的典型原因。 答:(1)就绪状态→执行状态:进程分配到CPU资源;(2)执行状态→就绪状态:时间片用完;(3)执行状态→阻塞状态:I/O请求;(4)阻塞状态→就绪状态:I/O完成. 19.为什么要在OS 中引入线程?

操作系统课后题答案

2.1 一类操作系统服务提供对用户很有用的函数,主要包括用户界面、程序执行、I/O操作、文件系统操作、通信、错误检测等。 另一类操作系统函数不是帮助用户而是确保系统本身高效运行,包括资源分配、统计、保护和安全等。 这两类服务的区别在于服务的对象不同,一类是针对用户,另一类是针对系统本身。 2.6 优点:采用同样的系统调用界面,可以使用户的程序代码用相同的方式被写入设备和文件,利于用户程序的开发。还利于设备驱动程序代码,可以支持规范定义的API。 缺点:系统调用为所需要的服务提供最小的系统接口来实现所需要的功能,由于设备和文件读写速度不同,若是同一接口的话可能会处理不过来。 2.9 策略决定做什么,机制决定如何做。他们两个的区分对于灵活性来说很重要。策略可能会随时间或位置而有所改变。在最坏的情况下,每次策略改变都可能需要底层机制的改变。系统更需要通用机制,这样策略的改变只需要重定义一些系统参数,而不需要改变机制,提高了系统灵活性。 3.1、短期调度:从准备执行的进程中选择进程,并为之分配CPU; 中期调度:在分时系统中使用,进程能从内存中移出,之后,进程能被重新调入内存,并从中断处继续执行,采用了交换的方案。 长期调度:从缓冲池中选择进程,并装入内存以准备执行。 它们的主要区别是它们执行的频率。短期调度必须频繁地为CPU选择新进程,而长期调度程序执行地并不频繁,只有当进程离开系统后,才可能需要调度长期调度程序。 3.4、当控制返回到父进程时,value值不变,A行将输出:PARENT:value=5。 4.1、对于顺序结构的程序来说,单线程要比多线程的功能好,比如(1)输入三角形的三边长,求三角形面积;(2)从键盘输入一个大写字母,将它改为小写字母输出。

操作系统课后习题答案

第一章操作系统引论 一、填空题 1~5 BCABA 6~8BCB 、填空题 处理机管理 计算机硬件 分时系统 单道批处理系统 、简答题 1. 什么叫多道程序?试述多道程序设计技术的基本思想 及特征。为什么对作业 进行多道批处理可以提高系统效率? 多道程序设计技术是指在计算机内存中同时存放几道相互独立的程序, 使它 们在管理程序控制下,相互穿插运行。 基本思想:在计算机的内存中同时存放多道相互独立的程序, 当某道程序因 某种原因不能继续运行下去时候,管理程序就将另一道程序投入运行,这样使几 道程序在系统内并行工作,可使中央处理机及外设尽量处于忙碌状态, 从而大大 提高计算机使用效率。 特征:多道性;无序性;调度性 在批处理系统中采用多道程序设计技术形成多道批处理系统, 多个作业成批送入 计算机,由作业调度程序自动选择作业运行,这样提高了系统效率。 2. 批处理系统、分时系统和实时系统各有什么特点?各适合应用于哪些方面? 批处 理系统得特征:资源利用率高;系统吞吐量大;平均周转时间长;无交 互能力。适用于那些需要较长时间才能完成的大作业。 分时系统的特征:多路性;独立性;及时性;交互性。适合进行各种事务处 理,并为进行软件开发提供了一个良好的环境。 实时系统的特征:多路性;独立性;实时性;可靠性;交互性。适合对随机发生 的外部事件能做出及时地响应和处理的系统, 如实时控制系统,实时信息处理系 统。1、 2、 存储器管理 设备管理 计算机软件 实时系统 批处理系统 多道批处理系统 文件管理

第二章进程管理 一、填空题 1~6 CBABBB 7 ① A ② C ③ B ④ D 8 ① D ② B 9 ~10 CA 11~15 CBBDB 16~18 DDC 20~21 BB 22 ① B ② D ③ F 25 B 26~30 BDACB 31~32 AD 二、填空题 1、动态性并发性 2、可用资源的数量等待使用资源的进程数 3、一次只允许一个进程使用的共享资源每个进程中访问临界资源的那段代码 4、执行态就绪态等待态 5、程序数据进程控制块进程控制块 &同步关系 7、等待 8、进程控制块 9、P V 11、同步互斥同步互斥 12、P V P V P V 13、封闭性 14、-(m-1)~1 15、② 16、动静 17、4 0 18、s-1<0 19、①③ 三、简答题 1.在操作系统中为什么要引入进程的概念?进程和程序的关系? 现代计算机系统中程序并发执行和资源共享的需要,使得系统的工作情况变得非常复杂,而程序作为机器指令集合,这一静态概念已经不能如实反映程序并发执行过程的动态性,因此,引入进程的概念来描述程序的动态执行过程。这对于我们理解、描述和设计操作系统具有重要意义。 进程和程序关系类似生活中的炒菜与菜谱。菜谱相同,而各人炒出来的菜的味道却差别很大。原因是菜谱基本上是一种静态描述,它不可能把所有执行的动态过程中,涉及的时空、环境等因素一一用指令描述清楚。 2.试从动态性、并发性和独立性上比较进程和程序。 动态性:进程的实质是进程实体的一次执行过程。动态性是进程的基本特征。而程序只是一组有序指令的集合,其本身不具有动态的含义,因而是静态的。 并发性:并发性是进程的重要特征,引入进程的目的也正是为了使其进程实体能和其他进程实体并发执行,而程序是不能并发执行的。 独立性:进程的独立性表现在进程实体是一个能独立运行、独立分配资源和独立接受调度的基本单位。而程序不能做为一个独立的单位参与运行。 3.何谓进程,进程由哪些部分组成? 进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位进程由程序段,数据段,进程控制块三部分组成。

操作系统部分课后习题答案

第一章 1、设计现代OS的主要目标就是什么? 方便性,有效性,可扩充性与开放性。 2、OS的作用可表现在哪几个方面? (1)OS作为用户与计算机硬件系统之间的接口。(2)OS作为计算机系统资源的管理者。(3)OS实现了对计算机资源的抽象。 4、试说明推动多道批处理系统形成与发展的主要动力就是什么 主要动力来源于四个方面的社会需求与技术发展(1)不断提高计算机资源的利用率(2)方便用户(3)器件的不断更新换代(4)计算机体系结构的不断发展。7、实现分时系统的关键问题就是什么?应如何解决 关键问题就是当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令。在用户能接受的时延内将结果返回给用户。解决方法:针对及时接收问题,可以在系统中设置多路卡,使主机能同时接收用户从各个终端上输入的数据,为每个终端配置缓冲区,暂存用户键入的命令或数据。针对及时处理问题,应使所有的用户作业都直接进入内存,并且为每个作业分配一个时间片,允许作业只在自己的时间片内运行。这样在不长的时间内,能使每个作业都运行一次。 12、试从交互性、及时性以及可靠性方面,将分时系统与实时系统进行比较。 (1)及时性。实时信息处理系统对实时性的要求与分时系统类似,都就是以人所能接受的等待时间来确定,而实时控制系统的及时性,就是以控制对象所要求的

开始截止时间或完成截止时间来确定的,一般为秒级到毫秒级,甚至有的要低于100微妙。(2)交互性。实时信息处理系统具有交互性,但人与系统的交互仅限于访问系统中某些特定的专用服务程序,不像分时系统那样能向终端用户提供数据与资源共享等服务。(3)可靠性。分时系统也要求系统可靠,但相比之下,实时系统则要求系统具有高度的可靠性。因为任何差错都可能带来巨大的经济损失,甚至就是灾难性后果,所以在实时系统中,往往都采取了多级容错措施保障系统的安全性及数据的安全性。 13、OS有哪几大特征?其最基本的特征就是什么? 并发性、共享性、虚拟性与异步性四个基本特征。最基本的特征就是并发性。 14、处理机管理有哪些主要功能?它们的主要任务就是什么? 处理机管理的主要功能就是:进程管理、进程同步、进程通信与处理机调度 (1)进程管理:为作业创建进程,撤销已结束进程,控制进程在运行过程中的状态转换(2)进程同步:为多个进程(含线程)的运行进行协调(3)进程通信:用来实现在相互合作的进程之间的信息交换(4)处理机调度:①作业调度:从后备队里按照一定的算法,选出若干个作业,为她们分配运行所需的资源,首选就是分配内存②进程调度:从进程的就绪队列中,按照一定算法选出一个进程把处理机分配给它,并设置运行现场,使进程投入执行。 15、内存管理有哪些主要功能?她们的主要任务就是什么 内存管理的主要功能有:内存分配、内存保护、地址映射与内存扩充。 内存分配:为每道程序分配内存。

操作系统课后习题答案

1.什么是操作系统?其主要功能是什么? 操作系统是控制和管理计算机系统内各种硬件和软件资源,有效组织多道程序运行的系统软件(或程序集合),是用户和计算机直接的程序接口. 2.在某个计算机系统中,有一台输入机和一台打印机,现有两道程序投入运行,程序A、B 同时运行,A略早于B。A的运行轨迹为:计算50ms、打印100ms、再计算50ms、打印100ms,结束。B的运行轨迹为:计算50ms、输入80ms、再计算100ms,结束。试说明:(1)两道程序运行时,CPU是否空闲等待?若是,在那段时间段等待? (2)程序A、B是否有等待CPU的情况?若有,指出发生等待的时刻。 0 50 100 150 200 250 300 50 100 50 100 50 100 20 100 (1) cpu有空闲等待,在100ms~150ms的时候. (2) 程序A没有等待cpu,程序B发生等待的时间是180ms~200ms. 1.设公共汽车上,司机和售票员的活动如下: 司机的活动:启动车辆;正常行车;到站停车。 售票员的活动:关车门;售票;开车门。 在汽车不断的到站、停车、行驶过程中,用信号量和P、V操作实现这两个活动的同步关系。 semaphore s1,s2; s1=0;s2=0; cobegin 司机();售票员(); coend process 司机() { while(true) { P(s1) ; 启动车辆; 正常行车; 到站停车; V(s2); } } process 售票员() { while(true) { 关车门; V(s1);

售票; P(s2); 开车门; 上下乘客; } } 2.设有三个进程P、Q、R共享一个缓冲区,该缓冲区一次只能存放一个数据,P进程负责循环地从磁带机读入数据并放入缓冲区,Q进程负责循环地从缓冲区取出P进程放入的数据进行加工处理,并把结果放入缓冲区,R进程负责循环地从缓冲区读出Q进程放入的数据并在打印机上打印。请用信号量和P、V操作,写出能够正确执行的程序。 semaphore sp,sq,sr; int buf;sp=1;sq=0;sr=0; cobegin process P() { while(true) { 从磁带读入数据; P(sp); Buf=data; V(sq); } } process Q() { while(true) { P(sq); data=buf; 加工data; buf=data; V(sr); } } process R() { while(true) { P(sr); data=buf; V(sp); 打印数据; } }

(完整word版)操作系统习题及参考答案.docx

CH4 应用题参考答案 1在一个请求分页虚拟存储管理系统中,一个程序运行的页面走向是: 1、2 、3 、4 、2 、1 、5 、6 、2 、1 、2 、3 、7 、 6 、3 、2 、1 、2 、 3、6 。 分别用 FIFO 、OPT 和 LRU 算法,对分配给程序 3 个页框、 4 个页框、 5 个页框和 6 个页框的情况下,分别求出缺页中断次数和缺页中断率。 答: 页框数FIFO LRU OPT 3161511 414108 51287 6977 只要把表中缺页中断次数除以20,便得到缺页中断率。 2 在一个请求分页虚拟存储管理系统中,一个作业共有 5 页,执行时其访问页面次序 为: ( 1 ) 1、4、3、1、2、5、1、4、2、1、4、5 ( 2 ) 3、2、1、4、4、5、5、3、4、3、2、1、5 若分配给该作业三个页框,分别采用 FIFO和 LRU 面替换算法,求出各自的缺页 中断次数和缺页中断率。 答:( 1 )采用 FIFO 为 9 次,9 / 12 = 75 %。采用 LRU 为 8 次,8 / 12 = 67 %。( 2)采用FIFO和LRU均为9次,9 / 13 = 69%。 3一个页式存储管理系统使用 FIFO 、OPT 和 LRU 页面替换算法,如果一个作业的页面走向为: ( l ) 2、3、2、l、5、2、4、5、3、2、5、2。 ( 2 ) 4、3、2、l、4、3、5、4、3、2、l、5。 ( 3 ) 1、2、3、4、1、2、5、l、2、3、4、5。

当分配给该作业的物理块数分别为 3 和 4 时,试计算访问过程中发生的缺页中断 次数和缺页中断率。 答: ( l )作业的物理块数为3块,使用 FIFO 为 9次, 9 / 12 = 75%。使用 LRU 为 7次, 7 / 12 = 58%。使用 OPT 为 6 次, 6 / 12 = = 50%。 作业的物理块数为4块,使用 FIFO 为 6次, 6 / 12 = 50%。使用 LRU 为 6次, 6 / 12 = 50%。使用 OPT 为 5 次, 5 /12 = 42 %。 ( 2 )作业的物理块数为3块,使用 FIFO 为 9次, 9 / 12 = 75%。使用 LRU 为 10 次, 10 / 12 = 83%。使用 OPT 为 7次, 7/12 = 58%。 作业的物理块数为 4块,使用 FIFO 为 10次, 10 / 12 = 83 %。使用LRU 为 8 次, 8/12 =66%。使用 OPT为 6 次, 6/12 =50%. 其中,出现了 Belady 现象,增加分给作业的内存块数,反使缺页中断率上升。 4、在可变分区存储管理下,按地址排列的内存空闲区为: 10K 、4K 、20K 、18K 、7K 、 9K 、12K 和 15K 。对于下列的连续存储区的请求: ( l ) 12K 、10K 、 9K , ( 2 ) 12K 、10K 、15K 、18K 试问:使用首次适应算法、最佳适应算法、最差适应算法和下次适应算法,哪个空闲区被使用? 答: ( 1)空闲分区如图所示。 答 分区号分区长 110K 24K 320K 418K 57K 69K 712K 815K 1)首次适应算法 12KB 选中分区 3 ,这时分区 3 还剩 8KB 。10KB 选中分区 1 ,恰好分配故应删去分区 1 。9KB 选中分区 4 ,这时分区 4 还剩 9KB 。

操作系统课后习题答案

5.1为什么对调度程序而言,区分CPU约束程序和I/O约束程序很重要? 答:在运行I/O操作前,I/0限制的程序只运行很少数量的计算机操作。而CPU约束程序一般来说不会使用很多的CPU。另一方面,CPU约束程序会利用整个时间片,且不做任何阻碍I/O操作的工作。因此,通过给I/O约束程序优先权和允许在CPU 约束程序之前运行,可以很好的利用计算机资源。 5.3考虑用于预测下一个CPU区间长度的指数平均公式。将下面的值赋给算法中的参数的含义是什么? A.a=0 且t0=100 ms B.a=0.99 且t0=10 ms 答:当a=0且t0=100ms时,公式总是会预测下一次的CPU区间为100毫秒。当a=0.99且t0=10毫秒时,进程将给予更高的重量以便能和过去相比。因此,调度算法几乎是无记忆的,且简单预测未来区间的长度为下一次的CPU执行的时间片。 5.4考虑下面一组进程,进程占用的CPU区间长度以毫秒来计算: 进程区间时间优先级 P110 3 P2 1 1 P3 2 3 P4 1 4 P5 5 2 假设在0时刻进程以P1、P2、P3、P4、P5的顺序到达。 a.画出4 个Gantt 图分别演示用FCFS、SJF、非抢占优先级(数字小代表优先级高)和RR(时间片=1)算法调度时进程的执行过程。 b.每个进程在每种调度算法下的周转时间是多少? c.每个进程在每种调度算法下的等待时间是多少? d.哪一种调度算法的平均等待时间最小? 答a.

FCFS: SJF: 非抢占优先级: RR: b.周转时间: c.等待时间: d.从上表中可以看出SJF的等待时间最小。

操作系统课后习题答案

3.1论述长期、中期、短期调度之间的区别。 答:短期调度:在内存作业中选择准备执行的作业,并未他们分配CPU。 中期调度:被用于分时系统,一个交换方案的实施,将部分运行程序移出内存,之后,从中断处继续执行。 长期调度:确定哪些作业调入内存以执行。 区别:它们区别在于执行频率。短期调度必须经常调用一个新进程,由于在系统中,长期调度处理移动的作业时,并不频繁被调用,可能在进程离开系统时才被唤起。 3.2描述内核在两个进程间进行上下文切换的过程。 答:进程关联是由进程的PCB来表示的,它包括CPU寄存器的值和内存管理信息等。当发生上下文切换时,内核会将旧进程的关联状态保存在其PCB中,然后装入经调度要执行的新进程的已保存的关联状态。上下文切换还必须执行一些确切体系结构的操作,包括刷新数据和指令缓存。 3.4使用图3.24所示的程序,说明LINE A可能输出什么。 答:输出:PARENT:value=5; 父进程中value初始值为5,,value+=15发生在子进程,输出发生在父进程中,故输出value 的值为5。 3.5下面设计的优点和缺点分别是什么?系统层次和用户层次都要考虑。 a.同步和异步通信 b.自动和显式缓冲 c.复制传送和引用传送 d.固定大小和可变大小信息 答:a.同步和异步通信:同步通信的影响是它允许发送者和接收者之间有一个集合点。缺点是阻塞发送时,不需要集合点,而消息不能异步传递。因此,消息传递系统,往往提供两种形式的同步。 b.自动和显式缓冲:自动缓冲提供了一个无限长度的队列,从而保证了发送者在复制消息时不会遇到阻塞,如何提供自动缓存的规范,一个方案也许能保存足够大的内存,但许多内存被浪费缓存明确指定缓冲区的大小。在这种状况下,发送者不能在等待可用空间队列中被阻塞。然而,缓冲明确的内存不太可能被浪费。 c.复制发送和引用发送:复制发送不允许接收者改变参数的状态,引用发送是允许的。引用发送允许的优点之一是它允许程序员写一个分布式版本的一个集中的应用程序。 d.固定大小和可变大小信息:一个拥有具体规模的缓冲可容纳及已知数量的信息缓冲能容纳的可变信息数量是未知的。信息从发送者的地址空间被复制至接受进程的地址空间。更大的信息可使用共享内存传递信息。 4.1举两个多线程程序设计的例子,其中多线程的性能比单线程的性能差。 答:a.任何形式的顺序程序对线程来说都不是一个好的形式。例如一个计算个人报酬的程序。 b.一个“空壳”程序,如C-shell和korn shell。这种程序必须密切检测其本身的工作空间。如打开的文件、环境变量和当前工作目录。

操作系统课后题答案

精品文档 课本课后题部分答案 第一章 的主要目标是什么?OS1.设计现代答:(1)有效性(2)方便性(3)可扩充性(4)开放性 2.OS的作用可表现在哪几个方面? 答:(1)OS作为用户与计算机硬件系统之间的接口 (2)OS作为计算机系统资源的管理者 (3)OS实现了对计算机资源的抽象 13.OS有哪几大特征?其最基本的特征是什么? 答:并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。 14.处理机管理有哪些主要功能?它们的主要任务是什么? 答:处理机管理的主要功能是:进程管理、进程同步、进程通信和处理机调度; 进程管理:为作业创建进程,撤销已结束进程,控制进程在运行过程中的状态转换。 进程同步:为多个进程(含线程)的运行______________进行协调。 通信:用来实现在相互合作的进程之间的信息交换。 处理机调度: (1)作业调度。从后备队里按照一定的算法,选出若干个作业,为他们分配运行所需 的资源(首选是分配内存)。 (2)进程调度:从进程的就绪队列中,按照一定算法选出一个进程,把处理机分配给 它,并设置运行现场,使进程投入执行。 15.内存管理有哪些主要功能?他们的主要任务是什么? 北京石油化工学院信息工程学院计算机系3/48 《计算机操作系统》习题参考答案余有明与计07和计G09的同学们编著 3/48 答:内存管理的主要功能有:内存分配、内存保护、地址映射和内存扩充。 内存分配:为每道程序分配内存。 内存保护:确保每道用户程序都只在自己的内存空间运行,彼此互不干扰。 地址映射:将地址空间的逻辑地址转换为内存空间与对应的物理地址。 内存扩充:用于实现请求调用功能,置换功能等。 16.设备管理有哪些主要功能?其主要任务是什么? 答:主要功能有: 缓冲管理、设备分配和设备处理以及虚拟设备等。 主要任务: 完成用户提出的I/O 请求,为用户分配I/O 设备;提高CPU 和I/O 设 备的利用率;提高I/O速度;以及方便用户使用I/O设备. 17.文件管理有哪些主要功能?其主要任务是什么? 答:文件管理主要功能:文件存储空间的管理、目录管理、文件的读/写管理和保护。 文件管理的主要任务:管理用户文件和系统文件,方便用户使用,保证文件安全性。 第二章

操作系统第四版课后习题答案

第一章 作者:佚名来源:网络 1、有一台计算机,具有IMB 内存,操作系统占用200KB ,每个用户进程各占200KB 。如果用户进程等待I/O 的时间为80 % ,若增加1MB 内存,则CPU 的利用率提高多少? 答:设每个进程等待I/O 的百分比为P ,则n 个进程同时等待刀O 的概率是Pn ,当n 个进程同时等待I/O 期间CPU 是空闲的,故CPU 的利用率为 1-Pn。由题意可知,除去操作系统,内存还能容纳4 个用户进程,由于每个用户进程等待I/O的时间为80 % , 故: CPU利用率=l-(80%)4 = 0.59 若再增加1MB 内存,系统中可同时运行9 个用户进程,此时:cPu 利用率=l-(1-80%)9 = 0.87 故增加IMB 内存使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 有等待时间段为180rns 至200ms 间(见图中有色部分) 3 设有三道程序,按A 、B 、C优先次序运行,其内部计算和UO操作时间由图给出。 试画出按多道运行的时间关系图(忽略调度执行时间)。完成三道程序共花多少时间?比单道运行节省了多少时间?若处理器调度程序每次进行程序转换化时lms , 试画出各程序状态转换的时间关系图。 答: 1 )忽略调度执行时间,多道运行方式(抢占式):

相关主题
文本预览
相关文档 最新文档