操作系统教程第5版部分习题答案.docx

上传人:h**** 文档编号:153850 上传时间:2018-07-11 格式:DOCX 页数:19 大小:89.26KB
下载 相关 举报
操作系统教程第5版部分习题答案.docx_第1页
第1页 / 共19页
操作系统教程第5版部分习题答案.docx_第2页
第2页 / 共19页
操作系统教程第5版部分习题答案.docx_第3页
第3页 / 共19页
操作系统教程第5版部分习题答案.docx_第4页
第4页 / 共19页
操作系统教程第5版部分习题答案.docx_第5页
第5页 / 共19页
点击查看更多>>
资源描述

1、1 第一章: 一、 3、 10、 15、 23、 27、 35 3.什么是操作系统?操作系统在计算机系统中的主要作用是什么? 操作系统是 管理系统资源 、 控制程序执行 、 改善人机界面 、 提供各种服务 ,并合理组织计算机工作流程和为用户有效地使用计算机提供良好运行环境的一种系统软件 . 主要作用 (1) 服务用户 操作系统作为用户接口和公共服务程序 (2) 进程交互 操作系统作为进程执行的控制者和协调者 (3) 系统实现 操作系统作为扩展机或虚拟机 (4) 资源管理 操作系统作为资源的管理者和控制者 10.试述系统调用与函数(过程)调用之间的区别。 ( 1) 调用形 式和实现方式不同; (

2、 2) 被调用的代码位置不同 ; ( 3) 提供方式不同 15.什么是多道程序设计?多道程序设计有什么特点? 多道程序设计是指允许多个作业(程序)同时进入计算机系统内存并执行交替计算的方法。从宏观上看是并行的,从微观上看是串行的。 ( 1) 可以提高 CPU、内存和设备的利用率; ( 2) 可以提高系统的吞吐率 ,使单位时间内完成的作业数目增加 ; ( 3) 可以充分发挥系统的并行性,使设备和设备之间,设备和 CPU 之间均可并行工作。 23.现代操作系统具有哪些基本功能?请简单叙述之。 ( 1)处理器管理; ( 2)存储管理; ( 3)设备管理; ( 4)文件管理; ( 5)联网与通信管理。

3、 27.什么是操作系统的内核? 内核是一组程序模块,作为可信软件来提供支持进程并发执行的基本功能和基本操作,通常驻留在内核空间,运行于内核态,具有直接访问计算机系统硬件设备和所有内存空间的权限,是仅有的能够执行特权指令的程序。 35.简述操作系统资源管理的资源复用技术。 2 系统 中相应地有多个进程竞争使用资源,由于计算机系统的物理资源是宝贵和稀有的,操作系统让众多进程共享物理资源,这种共享称为资源复用。 ( 1) 时分复用共享 资源从时间上分割成更小的单位供进程使用; ( 2) 空分复用共享资源从空间上分割成更小的单位供进程使用。 . 二、 2、 5 2、答:画出两道程序并发执行图如下: (

4、1) 两道程序运行期间, CPU 存在空闲等待,时间为 100 至 150ms 之间 (见图中有色部分 )。 (2) 程序 A 无等待现象,但程序 B有等待。程序 B有等待时间段为 180ms 至 200ms 间 (见图中有色部分 )。 5、 答: 画出三个作业并行工作图如下 (图中着色部分为作业等待时间 ): 处理器 输入机 打印机 程序 A 程序 B A 计算 B 计算 计算 计算 时间 (ms) 0 50 100 150 180 200 250 300 打印 计算 打印 输入 计算 A 打印 A 打印 B 输入 A 计算 B 计算 一 3 (1) Job1从投入到运行完成需 80ms,

5、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%。 第二章: 一、 9、 18、 20、 26、 48 9.什么是系统调用?试述 API、 库函数和系统调用之间的关系 .叙述系统调用执行流程 . 18.什么是

6、进程 ?计算机操作系统为什么要引入进程 ? 进程是具有独立功能的程序在某个数据集合上的一次运行活动 ,是计算机操作系统进行资源分配和保护的基本单位 . (1) 刻画程序的并发性 ; (2) 解决资源的共享性 . 20.进程的最基本状态有哪些 ?哪些事件可以引起不同状态间的转换 ? 运行态 就绪态 阻塞态 CPU 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 Jo

7、b1 Job3 4 26.何谓进程控制块( PCB)?它包含哪些基本信息? 进程控制块是进程存在的唯一标识,是操作系统用来记录和刻画进程状态及环境信息的数据结构,是进程动态特征的汇集,也是操作系统掌握进程的唯一资料结构和管理进程的主要依据。 ( 1) 标识信息; ( 2) 现场信息; ( 3) 控制信息。 48.处理器调度分为哪几种类型?简述各类调度的主要任务。 高级调度,中级调度,低级调度。 高级调度,创建就绪进程和做进程完成后的善后工作。 中级调度, 根据内存资源情况决定内存中所能容纳进程的数目,并完成内存和外存中进程的对换。 低级调度, 根据某种原则决定就绪队列中哪个进程 /线程获得处理

8、器,并将处理器出让给它使用。 二、 5、 10、 12、 16、 20、 21、 25、 28 5、 答:采用短作业优先算法调度时,三个作业的总周转时间为: T1=a+(a+b)+(a+b+c)=3a+2b+c 若不按短作业优先算法调度,不失一般性,设调度次序为: J2、 J1、 J3。则三个作业的总周转时间为: 5 T2=b+(b+a)+(b+a+c)=3b+2a+c 令 - 式得到 : T2-T1=b-a0 可见,采用短作业优先算法调度才能获得最小平均作业周转时间。 10、 答: 5 个待运行的作业同时到达,按照最短作业优先的算法可以使平均响应时间最短。 X 取值不定,按照以下情况讨论:

9、1) x 3 次序为: x, 3, 5, 6, 9 2) 3x 5 次序为: 3, x, 5, 6, 9 3) 5x 6 次序为: 3, 5, x, 6, 9 4) 6x 9 次序为: 3, 5, 6, x, 9 5) 9x 次序为: 3, 5, 6, 9, x 12、 答: (1)FCFS 调度算法 (3) 优先级调度算法 (3)时间片轮转法 (每个作业获得相同的 2 分钟长的时间片 ) 按次序 A B C D E A B D E A B E A E A 轮转执行。 执行次序执行 时间等待时间周转时间带权周转时间 A 10 0 10 1 B 6 10 16 2.66 C 2 16 18 9

10、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 执行次序执行 时间等待时间周转时间带权周转时间 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 6 16、 答: 20、 答: 作业 执行 时间等待时间周转

11、时间带权周转时间 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 执行次序提交 时间执行时间开始时间完成时间周转时间 J1 8:00 60 8:009:00 60 J5 8:35 5 9:009:05 30 J6 8:40 10 9:059:15 35 J3 8:25 20 9:159:35 70 J4 8:30 25 9:3510:00 90 J2 8:20 35 10

12、:0010:35 135 作业平均 周转时间 T=(60+30+35+70+90+135)/6=70 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.2

13、0 90 平 均周 T=112.5 分 T=95 分 T=102.5 分 转时间 = 带权平均 W=4.975 W=3.25 W=3.775 周转时间 = 7 注意, J1 被调度运行后,直到它执行结束,才会引出作业调度程序工作。所以,J2 至 J6 虽在 J1 执行期间进入,但未被调度,均在等待。当 J1 撤离后,作业调度程序工作,按 SJF 算法,显然有执行次序: J5、 J6、 J3、 J4、和 J2。 21 作业名 到达时刻 估计运行时间 /min 优先数 JOB1 10:00 40 5 JOB2 10:20 30 3 JOB3 10:30 60 4 JOB4 10:50 20 6 J

14、OB5 11:00 20 4 JOB6 11:10 10 4 答:如下表所示 作业名 进入内存时刻 开始运行时刻 结束运行时刻 周转时间 带权周转时间 JOB1 10:00 10:00 12:40 160 4 JOB2 10:20 10:20 10:50 30 1 JOB3 10:30 10:50 11:50 80 4/3 JOB4 10:50 12:40 13:00 130 13/2 JOB5 12:00 12:00 12:20 80 4 JOB6 11: 50 11:50 12:00 50 5 平均周转时间 =(160+30+80+130+80+50)/6=88.88 平均带权周转时间 =

15、(4+1+4/3+13/2+4+5)/6=3.64 25、 答: 每个作业运行将经过两个阶段:作业调度 (SJF 算法 )和进程调度 (优先数抢占式 )。另外,批处理最多容纳 2 道作业,更多的作业将在后备队列等待。 CPU 进程就绪队列 作业后备队列 时间 (分钟 ) 10:00 10:20 10:3010:5011:1012:0012:20 A B A C D A D D C 8 (1) 10:00,作业 A 到达并投入运行。 (2) 10:20,作业 B 到达且优先权高于作业 A,故作业 B 投入运行而作业 A 在就绪队列等待。 (3) 10:30,作业 C 到达,因内存中已有两道作业,

16、故作业 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 70,作业 B 30,作业 C 90,作业 D 90。平均作业周转时间为 70 分钟。 28、 答: (1) FIFO 算法选中作业

17、执行的次序为: A、 B、 D、 C 和 E。作业平均周转时间为 63 分钟。 (2) SJF 算法选中作业执行的次序为: A、 B、 D、 E 和 C。作业平均周转时间为 58 分钟。 第三章: 一、 9、 13、 15、 25 9.什么是临界区和临界资源?临界区管理的基本原则是什么? 并发进程中与共 享变量有关的程序段称为临界区。共享变量所代表的资源叫做临界资源,即一次仅供一个进程使用的资源。 ( 1) 一次至多有一个进程进入临界区内执行; ( 2) 如果已有进程在临界区内,试图进入此临界区的其它进程应等待; ( 3) 进入临界区的进程应在有限时间内退出,以便让进程等待队列中的一个进程进入

18、。 13.什么是信号量?如何对其进行分类? 信号量是物理资源的实体,它是一个与队列有关的整型变量。 按用途分 作业进入内存时间运行结束时间 A 10:0011:10 B 10:20 10;50 C 11:1012:00 D 10:5012:20 9 ( 1) 公用信号量; ( 2) 私有信号量。 按取值分 ( 1) 二值信号量 ; ( 2) 一般信号量。 15.何谓管程?它有哪些属性? 管程是 由局部于自己的若干公共变量及其声明和所有访问这些公共变量的过程所组成的软件模块,它提供一种互斥机制,进程可以互斥地调用管程的过程。 ( 1) 共享性; ( 2) 安全性; ( 3) 互斥性。 25.试述

19、产生死锁的必要条件 、 死锁产生的原因及预防死锁的方法。 (1) 互斥条件; (2) 占有和等待条件; (3) 不剥夺条件; (4) 循环等待条件。 进程推进顺序不当 、 PV 操作使用不妥 、 同类资源分配不均或对某些资源的使用未加限制等,不仅与系统拥有的资源数量有关,而且与资源分配策略 、 进程对资源的使用要求以及并发进程的推进顺序有关。 ( 1) 破坏条件 1(互斥条件); ( 2) 破坏条件 2(占有和等待条件); ( 3) 破坏条件 3(不剥夺条件); ( 4) 破坏条件 4(循环等待条件)。 二、 2、 答:不同 ( 1) :初值为 1,范围为 -n+1,1;( 2):初值为 m,

20、范围为 -n+m,m。 5、答 : 1)使用信号量和 P、 V 操作: var name: array1.100 of A; A=record number:integer; name:string; end for i:=1 to 100 do Ai.number:=i; Ai.name:=null; 10 mutex,seatcount:semaphore; i:integer;mutex:=1;seatcount:=100; cobegin process readeri(varreadername:string)(i=1,2, ) P(seatcount); P(mutex); for

21、 i:=1 to 100 do i+ if Ai.name=null then Ai.name:=readername; reader get the seat number =i; /*Ai.number V(mutex) 进入阅览室,座位号 i,座下读书 ; P(mutex); Ai name:=null; V(mutex); V(seatcount); 离开阅览室 ; coend. 2) 使用管程操作: TYPE readbook=monitor VAR R:condition; Interface Module IM; i,seatcount:integer; name:array1.

22、100 of string; DEFINE readercome,readerleave; USE check,wait,signal,release; procedure readercome(readername) begin check(IM); if seatcount 100 wait(R,IM) seatcount:=seatcount+1; for i=1 to 100 do i+ if namei=null then namei:=readername; get the seat number=i; release(IM); end procedure readerleave(readername) begin

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 复习参考

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。