操作系统教程第5版部分习题答案.docx
《操作系统教程第5版部分习题答案.docx》由会员分享,可在线阅读,更多相关《操作系统教程第5版部分习题答案.docx(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第一章: 一、3、10、15、23、27、353.什么是操作系统?操作系统在计算机系统中的主要作用是什么?操作系统是管理系统资源、控制程序执行、改善人机界面、提供各种效劳,并合理组织计算机工作流程和为用户有效地使用计算机提供良好运行环境的一种系统软件.主要作用(1) 效劳用户操作系统作为用户接口和公共效劳程序(2) 进程交互操作系统作为进程执行的控制者和协调者(3) 系统实现操作系统作为扩展机或虚拟机(4) 资源管理操作系统作为资源的管理者和控制者10.试述系统调用及函数过程调用之间的区别。(1) 调用形式和实现方式不同;(2) 被调用的代码位置不同;(3) 提供方式不同15.什么是多道程序设
2、计?多道程序设计有什么特点?多道程序设计是指允许多个作业程序同时进入计算机系统内存并执行交替计算的方法。从宏观上看是并行的,从微观上看是串行的。(1) 可以提高CPU、内存和设备的利用率;(2) 可以提高系统的吞吐率,使单位时间内完成的作业数目增加;(3) 可以充分发挥系统的并行性,使设备和设备之间,设备和CPU之间均可并行工作。23.现代操作系统具有哪些根本功能?请简单表达之。1处理器管理;2存储管理;3设备管理;4文件管理;5联网及通信管理。27.什么是操作系统的内核?内核是一组程序模块,作为可信软件来提供支持进程并发执行的根本功能和根本操作,通常驻留在内核空间,运行于内核态,具有直接访问
3、计算机系统硬件设备和所有内存空间的权限,是仅有的能够执行特权指令的程序。35.简述操作系统资源管理的资源复用技术。系统中相应地有多个进程竞争使用资源,由于计算机系统的物理资源是珍贵和稀有的,操作系统让众多进程共享物理资源,这种共享称为资源复用。(1) 时分复用共享 资源从时间上分割成更小的单位供进程使用;(2) 空分复用共享 资源从空间上分割成更小的单位供进程使用。 二、2、52、答:画出两道程序并发执行图如下:处理器输入机打印机程序A程序BA计算B计算计算计算时间(ms)0 50 100 150 180 200 250 300打印计算打印输入计算A打印A打印B输入A计算B计算一(1) 两道程
4、序运行期间,CPU存在空闲等待,时间为100至150ms之间(见图中有色局部)。(2) 程序A无等待现象,但程序B有等待。程序B有等待时间段为180ms至200ms间(见图中有色局部)。5、答:画出三个作业并行工作图如下(图中着色局部为作业等待时间):CPUI1I2Job1Job2Job3时间(ms)CPU CPU0 10 20 30 40 50 60 70 80 90 I1 I1CPUCPU I2 I2CPU I1CPU Job1 Job2 Job3Job2Job1Job2Job3Job1 Job2 Job1Job3(1) Job1从投入到运行完成需80ms,Job2从投入到运行完成需90m
5、s,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、489.什么是系统调用?试述API、库函数和系统调用之间的关系.表达系统调用执行流程.18.什么是进程?计算机操作系统为什么要引入进程?进程是具有独立功能的程序在某个数据集合上的一次运行活动,是计算机操作系
6、统进展资源分配和保护的根本单位.(1) 刻画程序的并发性;(2) 解决资源的共享性.20.进程的最根本状态有哪些?哪些事件可以引起不同状态间的转换?运行态就绪态阻塞态26.何谓进程控制块PCB?它包含哪些根本信息?进程控制块是进程存在的唯一标识,是操作系统用来记录和刻画进程状态及环境信息的数据构造,是进程动态特征的聚集,也是操作系统掌握进程的唯一资料构造和管理进程的主要依据。(1) 标识信息;(2) 现场信息;(3) 控制信息。48.处理器调度分为哪几种类型?简述各类调度的主要任务。高级调度,中级调度,低级调度。高级调度,创立就绪进程和做进程完成后的善后工作。中级调度,根据内存资源情况决定内存
7、中所能容纳进程的数目,并完成内存和外存中进程的对换。低级调度,根据某种原那么决定就绪队列中哪个进程/线程获得处理器,并将处理器出让给它使用。 二、5、10、12、16、20、21、25、285、答:采用短作业优先算法调度时,三个作业的总周转时间为: 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-a0可见,采用短作业优先算法调度才能获得最小平均作业周转时间。10、答:5个待运行的作业同时到达,按照最短作业优
8、先的算法可以使平均响应时间最短。X取值不定,按照以下情况讨论:1) x3 次序为:x,3,5,6,92) 3x5 次序为:3,x,5,6,93) 5x6 次序为:3,5,x,6,94) 6x9 次序为:3,5,6,x,95) 9x 次序为:3,5,6,9,x12、答:(1)FCFS调度算法执行次序 执行时间 等待时间 周转时间 带权周转时间 A 10 0 10 1 C 2 16 18 9作业平均作业平均(2)优先级调度算法执行次序 执行时间 等待时间 周转时间 带权周转时间 B 6 0 6 1 C 2 24 26 13作业平均周转时间 T=(6+14+24+26+30)/5=20作业平均(3)
9、时间片轮转法(每个作业获得一样的2分钟长的时间片)按次序A B C D E A B D E A B E A E A轮转执行。 作业 执行时间 等待时间 周转时间 带权周转时间 A 10 20 30 3 C 2 4 6 3 D 4 12 16 4作业平均作业平均16、答: FCFS SJF HRRF作业 开场 完成 周转 开场 完成 周转 开场 完成 周转时间 时间 时间 时间 时间 时间 时间 时间 时间1 8.00 10:00 2.00 8:00 10.00 120 8:00 10.00 1202 10.00 10:50 2.00 10:30 11.20 150 10:10 11.00 13
10、03 10.50 11:00 2.00 10:00 10:10 70 10:00 10:10 704 11.00 11:20 1.5 10:10 10:30 40 11:00 11.20 90转时间=周转时间=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+
11、30+35+70+90+135)/6=70注意,J1被调度运行后,直到它执行完毕,才会引出作业调度程序工作。所以,J2至J6虽在J1执行期间进入,但未被调度,均在等待。当J1撤离后,作业调度程序工作,按SJF算法,显然有执行次序:J5、J6、J3、J4、和J2。21作业名到达时刻估计运行时间/min优先数JOB110:00405JOB210:20303JOB310:30604JOB410:50206JOB511:00204JOB611:10104答:如下表所示作业名进入内存时刻开场运行时刻完毕运行时刻周转时间带权周转时间JOB110:0010:0012:401604JOB210:2010:20
12、10:50301JOB310:3010:5011:50804/3JOB410:5012:4013:0013013/2JOB512:0012:0012:20804JOB611:5011:5012:0050525、答:每个作业运行将经过两个阶段:作业调度(SJF算法)和进程调度(优先数抢占式)。另外,批处理最多容纳2道作业,更多的作业将在后备队列等待。进程就绪队列作业后备队列时间(分钟) 10:00 10:20 10:30 10:50 11:10 12:00 12:20A B A C DA D D C CPU(1) 10:00,作业A到达并投入运行。(2) 10:20,作业B到达且优先权高于作业A
13、,故作业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
14、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分钟。第三章: 一、9、13、15、259.什么是临界区和临界资源?临界区管理的根本原那么是什么?并发进程中及共享变量有关的程序段称为临界区。共享变量所代表的资源叫做临界资源,即一次仅供一个进程使用的资源。(1) 一次至多有一个进程进入临界区内执行;(2) 如果已有进程在临界区内,试图进入此临界区的其它进
15、程应等待;(3) 进入临界区的进程应在有限时间内退出,以便让进程等待队列中的一个进程进入。13.什么是信号量?如何对其进展分类?信号量是物理资源的实体,它是一个及队列有关的整型变量。按用途分(1) 公用信号量;(2) 私有信号量。按取值分(1) 二值信号量;(2) 一般信号量。15.何谓管程?它有哪些属性?管程是由局部于自己的假设干公共变量及其声明和所有访问这些公共变量的过程所组成的软件模块,它提供一种互斥机制,进程可以互斥地调用管程的过程。(1) 共享性;(2) 平安性;(3) 互斥性。、死锁产生的原因及预防死锁的方法。(1) 互斥条件;(2) 占有和等待条件;(3) 不剥夺条件;(4) 循
16、环等待条件。进程推进顺序不当、PV操作使用不妥、同类资源分配不均或对某些资源的使用未加限制等,不仅及系统拥有的资源数量有关,而且及资源分配策略、进程对资源的使用要求以及并发进程的推进顺序有关。(1) 破坏条件1互斥条件;(2) 破坏条件2占有和等待条件;(3) 破坏条件3不剥夺条件;(4) 破坏条件4循环等待条件。 二、2、答:不同1:初值为1,范围为-n+1,1;2:初值为m,范围为-n+m,m。5、答:1) 使用信号量和P、V操作:var name: array1.100 of A;A=record number:integer; name:string;endfor i:=1 to 10
17、0 do Ai.number:=i; Ai.name:=null;mutex,seatcount:semaphore;i:integer;mutex:=1;seatcount:=100;cobeginprocess readeri(var readername:string)(i=1,2,) P(seatcount); P(mutex);for 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,座下读
18、书;P(mutex); Ai name:=null; V(mutex); V(seatcount); 离开阅览室;coend.2) 使用管程操作:TYPE readbook=monitorVAR R:condition;Interface Module IM; i,seatcount:integer;name:array1.100 of string;DEFINE readercome,readerleave;USE check,wait,signal,release;procedure readercome(readername)begin check(IM); if seatcount10
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 教程 部分 习题 答案
限制150内