2016-2017-1 - 计算机操作系统课后题 联系客服

发布时间 : 星期五 文章2016-2017-1 - 计算机操作系统课后题更新完毕开始阅读335a3844ce84b9d528ea81c758f5f61fb7362803

操作系统课后题: 第一章:

一、3、15、19、23 二、2、5

2、答:画出两道程序并发执行图如下:

A计算 B计算 A计算 B计算 处理器

B输入 输入机

A打印 A打印 打印机

计算 打印 计算 打印 程序A

计算 输入 计算 程序B

时间(ms)

0 50 100 150 180 200 250 300

(1) 两道程序运行期间,CPU存在空闲等待,时间为100至150ms之间(见图中有色部分)。 (2) 程序A无等待现象,但程序B有等待。程序B有等待时间段为180ms至200ms间(见

图中有色部分)。

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

CPU I1 I2 Job1 Job2 Job3 时间(ms) Job3 Job2 Job1 I2 I1 CPU Job2 Job1 Job2 Job3 Job1 Job3 Job1 Job2 CPU CPU I1 CPU I2 CPU CPU I1 0 10 20 30 40 50 60 70 80 90

(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%。

第二章:

一、18、20、26、38、48 二、5、12、16、20、25、28

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

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

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

12、答:

(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 2 分钟长的时间片 26 ) 13 (3)时间片轮转法 D 4 26 轮转执行。 30 按次序 A B C D E A B D E A B E A E A 7.5

作业平均 等待时间 T=(6+14+24+26+30)/5=20 作业 周转时间 执行时间 周转时间 带权周转时间

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

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

16、 答:

FCFS SJF HRRF 作业 开始 完成 周转 开始 完成 周转 开始 完成 周转 时间 时间 时间 时间 时间 时间 时间 时间 时间 1 8.00 10:00 2.00 8:00 10.00 120 8:00 10.00 120 2 10.00 10:50 2.00 10:30 11.20 150 10:10 11.00 130 3 10.50 11:00 2.00 10:00 10:10 70 10:00 10:10 70 4 11.00 11:20 1.5 10:10 10:30 40 11:00 11.20 90 平均周 T=112.5分 T=95分 T=102.5分 转时间= 带权平均 W=4.975 W=3.25 W=3.775 周转时间=

20、答:

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

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。

25、答:

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

时间(分钟) 10:00 10:20 10:30 10:50 11:10 12:00 12:20 A B A C D CPU 进程就绪队列 A D D 作业后备队列 C (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 11:10

B 10:20 10;50

C 11:10 12:00

D 10:50 12:20

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

28、答:

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

第三章:

一、3、9、24、25、32 3、解释并发性与并行性

答:计算机操作系统中把并行性和并发性明显区分开,主要是从微观的角度来说的,具体是指进程的并行性(多处理机的情况下,多个进程同时运行)和并发性(单处理机的情况下,多个进程在同一时间间隔运行的)。

并行性是指硬件的并行性,两个或多个事件在同一时刻发生。 并发性是指进程的并发性,两个或多个事件在同一时间段内发生。 24、

死锁:所谓死锁是指在多道程序系统中,一组进程中的每一个进程都无限期等待被该组进程中的另一个进程所占有且永远不会释放的资源。如:假如双方都拥有部分资源(P1拥有A,P2拥有B,且A,B均只有一个),但这时P1还需要B,P2还需要A,于是P1与P2都会处在无限等待状态,发生了死锁。

饥饿:操作系统在一个分配资源时,当多个进程同时申请某类资源时,由分配策略确定资源分配给进程的次序。当资源分配策略是不公平的(unfair)的情况下,即不能保证等待时间上界的存在,即使系统没有发生死锁,某些进程也可能会长时间等待。当等待时间给进程推进和响应带来明显影响时,称发生了进程饥饿(starvation)。如:考虑一台打印机分配的例子,当有多个进程需要打印文件时,系统按照短文件优先的策略排序,该策略具有平均等待时间