操作系统教程第5版部分习题答案.docx
- 文档编号:3938815
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:23
- 大小:71.65KB
操作系统教程第5版部分习题答案.docx
《操作系统教程第5版部分习题答案.docx》由会员分享,可在线阅读,更多相关《操作系统教程第5版部分习题答案.docx(23页珍藏版)》请在冰豆网上搜索。
操作系统教程第5版部分习题答案
操作系统教程第5版部分习题答案
第一章:
一、3、10、15、23、27、35
3.什么是操作系统?
操作系统在计算机系统中的主要作用是什么?
操作系统是管理系统资源、控制程序执行、改善人机界面、提供各种服务,并合理组织计算机工作流程和为用户有效地使用计算机提供良好运行环境的一种系统软件.
主要作用
(1)服务用户—操作系统作为用户接口和公共服务程序
(2)进程交互—操作系统作为进程执行的控制者和协调者
(3)系统实现—操作系统作为扩展机或虚拟机
(4)资源管理—操作系统作为资源的管理者和控制者
10.试述系统调用与函数(过程)调用之间的区别。
1)调用形式和实现方式不同;
操作系统教程第5版部分习题答案
(2)被调用的代码位置不同;
(3)提供方式不同
15.什么是多道程序设计?
多道程序设计有什么特点?
多道程序设计是指允许多个作业(程序)同时进入计算机系统内存并执行交替计算的方法。
从宏观上看是并行的,从微观上看是串行的。
(1)可以提高CPU内存和设备的利用率;
(2)可以提高系统的吞吐率,使单位时间内完成的作业数目增加;
(3)可以充分发挥系统的并行性,使设备和设备之间,设备和CPU
之间均可并行工作。
23.现代操作系统具有哪些基本功能?
请简单叙述之。
(1)处理器管理;
(2)存储管理;
(3)设备管理;
操作系统教程第5版部分习题答案
(4)文件管理;
(5)联网与通信管理。
27.什么是操作系统的内核?
内核是一组程序模块,作为可信软件来提供支持进程并发执行的基本功能和基本操作,通常驻留在内核空间,运行于内核态,具有直接访问计算机系统硬件设备和所有内存空间的权限,是仅有的能够执行特权指令的程序。
35.简述操作系统资源管理的资源复用技术。
系统中相应地有多个进程竞争使用资源,由于计算机系统的物理资源是xx和稀有的,操作系统让众多进程共享物理资源,这种共享称为资源复用。
(1)时分复用共享资源从时间上分割成更小的单位供进程使用;
(2)空分复用共享资源从空间上分割成更小的单位供进程使用。
2、答:
画出两道程序并发执行图如下:
计算1
输入1
计算
1
111
111
1
1]
1
A打印A打印
计算打印计算|打印
处理器
输入机打印机程序A程序B
时间(ms)
050100150180200250300
(1)两道程序运行期间,CPU存在空闲等待,时间为100至150ms之间
(见图中有色部分)。
⑵程序A无等待现象,但程序B有等待。
程序B有等待时间段为180ms至200ms间(见图中有色部分)。
5、答:
画出三个作业并行工作图如下(图中着色部分为作业等待
时间):
Job3从投入到运行完成需90ms
⑵CPU空闲时间段为:
60ms至70ms80ms至90ms所以CPU利用率为(90-20)/90=77.78%。
⑶设备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、库函数和系统调用之间的关系
叙述系统调用执行流程
操作系统教程第5版部分习题答案
18.什么是进程?
计算机操作系统为什么要引入进程?
进程是具有独立功能的程序在某个数据集合上的一次运行活动是计算机操作系统进行资源分配和保护的基本单位.
(1)刻画程序的并发性;
(2)解决资源的共享性.
20.进程的最基本状态有哪些?
哪些事件可以引起不同状态间的转换?
运行态
就绪态
阻塞态
26.XX进程控制块(PCB?
它包含哪些基本信息?
进程控制块是进程存在的唯一标识,是操作系统用来记录和刻画进程状态及环境信息的数据结构,是进程动态特征的汇集,也是操作系统掌握进程的唯一资料结构和管理进程的主要依据。
(1)标识信息;
(2)现场信息;
(3)控制信息。
48.处理器调度分为哪几种类型?
简述各类调度的主要任务
操作系统教程第5版部分习题答案
高级调度,中级调度,低级调度。
高级调度,创建就绪进程和做进程完成后的善后工作。
中级调度,根据内存资源情况决定内存中所能xx进程的数目,
并完成内存和外存中进程的对换。
低级调度,根据某种原则决定就绪队列中哪个进程/线程获得处
理器,并将处理器出让给它使用。
二、5、10、12、16、20、21、25、28
5、答:
采用短作业优先算法调度时,三个作业的总xx时间为:
T1=a+(a+b)+(a+b+c)=3a+2b+c①
若不按短作业优先算法调度,不失一般性,设调度次序为:
J2、
J1、J3。
则三个作业的总xx时间为:
T2=b+(b+a)+(b+a+c)=3b+2a+c②
令②-①式得到:
T2-T1=b-a>0
可见,采用短作业优先算法调度才能获得最小平均作业xx时间
10、答:
5个待运行的作业同时到达,按照最短作业优先的算法可以使平均响应时间最短。
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 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 375 作业平均周转时间 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 (3)时间片轮转法(每个作业获得相同的2分钟长的时间片) 按次序ABCDEABDEABEAEA轮转执行。 作业 执行时间 等待时间 周转时间 带权周转时间 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 。 .厶U 1u”uu 1U.\j\J 作业平均周转时间T=(60+30+35+70+90+135)/6=70 注意,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 JOB5 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 平均xx时间=(160+30+80+130+80+50)/6=88.88 平均带权xx时间=(4+1+4/3+13/2+4+5)/6=3.64 25、答: 每个作业运行将经过两个阶段: 作业调度(SJF算法)和进程调度 (优先数抢占式)。 另外,批处理最多xx2道作业,更多的作业将在后备队列等待。 时间(分钟)10: 0010: 2010: 3010: 5011: 1012: 0012: 20 : A「B[A丨C1D丨 I I 进程就绪队歹CPUADD I— I I : IC 作业后备队列 (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投入运行。 ⑹12: 00,作业C运行结束,作业D投入运行。 ⑺12: 20,作业D运行结束。 作业 进入内存时间 运行结束时间 A 10: 00 11: 10 B 10: 20 10;50 C 11: 10 12: 00 D 10: 50 12: 20 各作业xx时间为: 作业A70,作业B30,作业C90,作业 D90。 平均作业xx时间为70分钟。 28答: (1)FIFO算法选中作业执行的次序为: AB、DC和E。 作业平均 xx时间为63分钟。 (2)SJF算法选中作业执行的次序为: AB、DE和C。 作业平均xx 时间为58分钟。 第三章: 、9、13、15、25 9.什么是临界区和临界资源? 临界区管理的基本原则是什么? 并发进程中与共享变量有关的程序段称为临界区。 共享变量所代 表的资源叫做临界资源,即一次仅供一个进程使用的资源。 1)一次至多有一个进程进入临界区内执行; 2)如果已有进程在临界区内,试图进入此临界区的其它进程应等待; 3)进入临界区的进程应在有限时间内退出,以便让进程等待队列中的一个进程进入。 13.什么是信号量? 如何对其进行分类? 信号量是物理资源的实体,它是一个与队列有关的整型变量 按用途分 1)公用信号量; 2)私有信号量。 按取值分 1)二值信号量; 2)一般信号量。 15.xx管程? 它有哪些属性? 管程是由局部于自己的若干公共变量及其声明和所有访问这些公共变量的过程所组成的软件模块,它提供一种互斥机制,进程可以互斥地调用管程的过程。 1)共享性; 2)xx; 3)互斥性。 25.试述产生死锁的必要条件、死锁产生的原因及预防死锁的方法。 (1) 互斥条件; (2) 占有和等待条件; (3) 不剥夺条件; (4) 循环等待条件。 进程推进顺序不当、PV操作使用不妥、同类资源分配不均或对某些资源的使用未加限制等,不仅与系统拥有的资源数量有关,而且与资源分配策略、进程对资源的使用要求以及并发进程的推进顺序有关。 1)破坏条件1(互斥条件); 2)破坏条件2(占有和等待条件); 3)破坏条件3(不剥夺条件); 4)破坏条件4(循环等待条件)。 2、 答: 不同 (1): 初值为1,范围为[-n+1,1];2): 初值为m范围为[-n+m,m] 5、答: 1)使用信号量和P、V操作: varname: array[1..100]ofA; A=record number: integer; name: string; end fori: =1to100do{A[i].number: =i;A[i].name: =null;}mutex,seatcount: semaphore;i: integer;mutex: =1;seatcount: =100; cobegin processreaderi(varreadername: string)(i=1,2,…) { P(seatcount); P(mutex); fori: =1to100doi++ ifA[i].name=nullthenA[i].name: =readername; readergettheseatnumber=i;/*A[i].number V(mutex) 进入阅览室,座位号i,座下读书; P(mutex); A[i]name: =null; V(mutex); V(seatcount); 离开阅览室; } coend. 2)使用管程操作: TYPEreadbook=monitor VARR: condition; InterfaceModuleIM; i,seatcount: integer; name: array[1..100]ofstring; DEFINEreadercome,readerleave; USEcheck,wait,signal,release; procedurereadercome(readername)begin check(IM); ifseatcount>100wait(R,IM) seatcount: =seatcount+1; fori=1to100doi++ ifname[i]==nullthenname[i]: =readername; gettheseatnumber=i; release(IM); end procedurereaderleave(readername) begin check(IM); seatcount--; fori=1to100doi++ ifname[i]==readernamethenname[i]: =null;release(IM); end begin seatcount: =100;name: =null; cobegin processreaderi(i=1,2.…) begin readercome(readername); readthebook; readerleave(readername); leavethereadroom; end coend. S1和S2分别 6、答: 实质上是两个进程的同步问题,设信号量表示可拣白子和黑子,不失一般性,xx先拣白子。 varS1,S2: semaphore; S1: =1;S2: =0; cobegin processP1beginrepeatP(S1);拣白子V(S2);untilfalse;endprocessP2beginrepeatP(S2);拣黑子V(S1);untilfalse; } coend. 16、答: (1)用信号量和P、V操作。 varS,S1,S2,S3;semaphore; S: =1;S1: =S2: =S3: =0; flag1,flag2,flag3: Boolean; flag1: =flag2: =flag3: =true; cobegin { process供应者 begin repeat P(S); 取两样香烟原料放桌上,由flagi标记;/*flage1、flage2、flage3代表烟草、纸、火柴 elseifflag1&flag3thenV(S2);/* elseV(S3);/*供烟草和纸 untilefalse; end process吸烟者1 begin repeat P(S1); 取原料; 做香烟; V(S); 吸香烟; untilefalse; process吸烟者2 begin 供烟草和火柴 repeat P(S2); 取原料; 做香烟; V(S); 吸香烟; untilefalse; process吸烟者3 begin repeat P(S3); 取原料; 做香烟; V(S); 吸香烟; untilefalse; coend. 23、 答: (1)P1,P2,P3,P4的Cki-Aki分别为: (2,2,2)、(1,0,2)、(1,0,3)、(4,2,0) (1)系统处于安全状态,存在安全序: P2,P1,P3,P4 (2)可以分配,存在安全序列: P2,P1,P3,P4。 (3)不可以分配。 24、 答: (1)系统处于安全状态,存在安全序列: P0,P3,P4,P1, P2。 (2)不能分配,否则系统会处于不安全状态。 25、 答: (1)此时可以找出进程安全序列: P4,P1,P5,P2,P3o故 系统处于安全状态 (2)可以分配,存在安全序列: P4,P1,P5,P2,P3。 (3)不可分配,系统进入不安全状态。 31、答: semaphorewait,mutex1,mutex2; mutex1=mutex2=1;wait=1; intcounter1,counter2; count1=count2=0; Cobegin { Processp1 { P(mutex1); counter1++; if(counter1==1)thenP(wait); V(mutex1); 过xx; P(mutex1); counter1--; if(counter1==0)thenV(wait) V(mutex1); } Processp2 { P(mutex2); Counter2++; if(counter2==1)thenP(wait) V(mutex2); 过xx; P(mutex2); counter2--; if(counter2==0)thenV(wait) P(mutex1); 从井中取水; V(mutex1); P(mutex2); 倒入水缸; V(mutex2); 操作系统教程第5版部分习题答案 V(mutex2); } } coend 50、答: 答: semaphoremutexl,mutex2; semaphoreempty,full,count; mutex1=mutex2=1;count=3;empty=10;full=0; cobegin processyoungmonki(i=1, 2…) { While(true){ P(empty); P(count); 操作系统教程第5版部分习题答案 V(count); V(full); } } processoldmonki(i=1 2…) { while(true){ P(full); P(count); P(mutex2); 从缸中取水; V(mutex2); V(count); V(empty); } } coend 第四章: 一、 1、试述存储管理的基本功能 答: (1)存储分配; (2)地址映射; (3)存储保护; (4)存储共享; (5)存储扩充。 4、xx地址转换(重定位)? 哪些方法可以实现地址转换? 逻辑地址转换为物理地址的过程称为地址转换(重定位) 1)静态地址重定位; 2)动态地址重定位; 3)运行时链接地址重定位。 18、试述实现虚拟存储器的基本原理。 有哪几种实现方法? 虚拟存储器是指在具有层次结构存储器的计算机系统中,自动实现部分装入和部分替换功能,能从逻辑上为用户提供一个比物理内存容量大得多的、可寻址的“内存储器”。 是一种具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。 虚拟存储器的实现方式有两种: 请求分页系统和请求分段系统。 请求分页系统允许只装入少数页面的程序(及数据),便启动运行,以后,再通过调页功能及页面置换功能,陆续地把即将要运行的页面调入内存,同时把暂不运行的页面换出到外存上;请求分段系统允许只装入少数段(而非所有的段)的用户程序和数据,即可启动运行。 以后再通过调段功能和段的置换功能将暂不运行的段调出,同时调入即将运行的段。 1、答: 1)当有3个物理页面时: 使用FIFO算法: 缺页16次,缺页xx率
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 教程 部分 习题 答案