操作系统教程第5版部分习题答案.docx
- 文档编号:13696535
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:27
- 大小:191.31KB
操作系统教程第5版部分习题答案.docx
《操作系统教程第5版部分习题答案.docx》由会员分享,可在线阅读,更多相关《操作系统教程第5版部分习题答案.docx(27页珍藏版)》请在冰点文库上搜索。
操作系统教程第5版部分习题答案
第一章:
一、3、10、15、23、27、35
3.什么是操作系统?
操作系统在计算机系统中的主要作用是什么?
操作系统是管理系统资源、控制程序执行、改善人机界面、提供各种服务,并合理组织计算机工作流程和为用户有效地使用计算机提供良好运行环境的一种系统软件.
主要作用
(1)服务用户—操作系统作为用户接口和公共服务程序
(2)进程交互—操作系统作为进程执行的控制者和协调者
(3)系统实现—操作系统作为扩展机或虚拟机
(4)资源管理—操作系统作为资源的管理者和控制者
10.试述系统调用与函数(过程)调用之间的区别。
(1)调用形式和实现方式不同;
(2)被调用的代码位置不同;
(3)提供方式不同
15.什么是多道程序设计?
多道程序设计有什么特点?
多道程序设计是指允许多个作业(程序)同时进入计算机系统内存并执行交替计算的方法。
从宏观上看是并行的,从微观上看是串行的。
(1)可以提高CPU、内存和设备的利用率;
(2)可以提高系统的吞吐率,使单位时间内完成的作业数目增加;
(3)可以充分发挥系统的并行性,使设备和设备之间,设备和CPU之间均可并行工作。
23.现代操作系统具有哪些基本功能?
请简单叙述之。
(1)处理器管理;
(2)存储管理;
(3)设备管理;
(4)文件管理;
(5)联网与通信管理。
27.什么是操作系统的内核?
内核是一组程序模块,作为可信软件来提供支持进程并发执行的基本功能和基本操作,通常驻留在内核空间,运行于内核态,具有直接访问计算机系统硬件设备和所有内存空间的权限,是仅有的能够执行特权指令的程序。
35.简述操作系统资源管理的资源复用技术。
系统中相应地有多个进程竞争使用资源,由于计算机系统的物理资源是宝贵和稀有的,操作系统让众多进程共享物理资源,这种共享称为资源复用。
(1)时分复用共享资源从时间上分割成更小的单位供进程使用;
(2)空分复用共享资源从空间上分割成更小的单位供进程使用。
.
二、2、5
2、答:
画出两道程序并发执行图如下:
(1)两道程序运行期间,CPU存在空闲等待,时间为100至150ms之间(见图中有色部分)。
(2)程序A无等待现象,但程序B有等待。
程序B有等待时间段为180ms至200ms间(见图中有色部分)。
5、答:
画出三个作业并行工作图如下(图中着色部分为作业等待时间):
(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%。
第二章:
一、9、18、20、26、48
9.什么是系统调用?
试述API、库函数和系统调用之间的关系.叙述系统调用执行流程.
18.什么是进程?
计算机操作系统为什么要引入进程?
进程是具有独立功能的程序在某个数据集合上的一次运行活动,是计算机操作系统进行资源分配和保护的基本单位.
(1)刻画程序的并发性;
(2)解决资源的共享性.
20.进程的最基本状态有哪些?
哪些事件可以引起不同状态间的转换?
运行态
就绪态
阻塞态
26.何谓进程控制块(PCB)?
它包含哪些基本信息?
进程控制块是进程存在的唯一标识,是操作系统用来记录和刻画进程状态及环境信息的数据结构,是进程动态特征的汇集,也是操作系统掌握进程的唯一资料结构和管理进程的主要依据。
(1)标识信息;
(2)现场信息;
(3)控制信息。
48.处理器调度分为哪几种类型?
简述各类调度的主要任务。
高级调度,中级调度,低级调度。
高级调度,创建就绪进程和做进程完成后的善后工作。
中级调度,根据内存资源情况决定内存中所能容纳进程的数目,并完成内存和外存中进程的对换。
低级调度,根据某种原则决定就绪队列中哪个进程/线程获得处理器,并将处理器出让给它使用。
二、5、10、12、16、20、21、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
可见,采用短作业优先算法调度才能获得最小平均作业周转时间。
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调度算法 (3)优先级调度算法 (3)时间片轮转法(每个作业获得相同的2分钟长的时间片) 按次序ABCDEABDEABEAEA轮转执行。 16、 答: 20、答: 注意,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 平均周转时间=(160+30+80+130+80+50)/6=88.88 平均带权周转时间=(4+1+4/3+13/2+4+5)/6=3.64 25、答: 每个作业运行将经过两个阶段: 作业调度(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运行结束。 各作业周转时间为: 作业A70,作业B30,作业C90,作业D90。 平均作业周转时间为70分钟。 28、答: (1)FIFO算法选中作业执行的次序为: A、B、D、C和E。 作业平均周转时间为63分钟。 (2)SJF算法选中作业执行的次序为: A、B、D、E和C。 作业平均周转时间为58分钟。 第三章: 一、9、13、15、25 9.什么是临界区和临界资源? 临界区管理的基本原则是什么? 并发进程中与共享变量有关的程序段称为临界区。 共享变量所代表的资源叫做临界资源,即一次仅供一个进程使用的资源。 (1)一次至多有一个进程进入临界区内执行; (2)如果已有进程在临界区内,试图进入此临界区的其它进程应等待; (3)进入临界区的进程应在有限时间内退出,以便让进程等待队列中的一个进程进入。 13.什么是信号量? 如何对其进行分类? 信号量是物理资源的实体,它是一个与队列有关的整型变量。 按用途分 (1)公用信号量; (2)私有信号量。 按取值分 (1)二值信号量; (2)一般信号量。 15.何谓管程? 它有哪些属性? 管程是由局部于自己的若干公共变量及其声明和所有访问这些公共变量的过程所组成的软件模块,它提供一种互斥机制,进程可以互斥地调用管程的过程。 (1)共享性; (2)安全性; (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; end cobegin processreaderi(i=1,2.…) begin readercome(readername); readthebook; readerleave(readername); leavethereadroom; end coend. 6、答: 实质上是两个进程的同步问题,设信号量S1和S2分别表示可拣白子和黑子,不失一般性,若令先拣白子。 varS1,S2: semaphore; S1: =1;S2: =0; cobegin { processP1 begin repeat P(S1); 拣白子 V(S2); untilfalse; end processP2 begin repeat P(S2); 拣黑子 V(S1); untilfalse; end } 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代表烟草、纸、火柴 ifflag2&flag3thenV(S1);/*供纸和火柴 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,P3。 故系统处于安全状态。 (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); 过独木桥; P(mutex1); counter1--; if(counter1==0)thenV(wait); V(mutex1); } Processp2 { P(mutex2); Counter2++; if(counter2==1)thenP(wait); V(mutex2); 过独木桥; P(mutex2); counter2--; if(counter2==0)thenV(wait); V(mutex2); } } coend 50、答: 答: semaphoremutex1,mutex2; semaphoreempty,full,count; mutex1=mutex2=1;count=3;empty=10;full=0; cobegin processyoungmonki(i=1,2…) { While(true){ P(empty); P(count); P(mutex1); 从井中取水; V(mutex1); P(mutex2); 倒入水缸; V(mutex2); 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、何谓地址转换(重定位)? 哪些方法可以实现地址转换? 答: 逻辑地址转换为物理地址的过程称为地址转换(重定位)。 (1)静态地址重定位; (2)动态地址重定位; (3)运行时链接地址重定位。 18、试述实现虚拟存储器的基本原理。 有哪几种实现方法? 答: 虚拟存储器是指在具有层次结构存储器的计算机系统中,自动实现部分装入和部分替换功能,能从逻辑上为用户提供一个比物理内存容量大得多的、可寻址的“内存储器”。 是一种具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。 虚拟存储器的实现方式有两种: 请求分页系统和请求分段系统。 请求分页系统允许只装入少数页面的程序(及数据),便启动运行,以后,再通过调页功能及页面置换功能,陆续地把即将要运行的页面调入内存,同时把暂不运行的页面换出到外存上;请求分段系统允许只装入少数段(而非所有的段)的用户程序和数据,即可启动运行。 以后再通过调段功能和段的置换功能将暂不运行的段调出,同时调入即将运行的段。 二、 1、答: (1)当有3个物理页面时: 使用FIFO算法: 缺页16次,缺页中断率16/20=80%; 使用OPT算法: 缺页11次,缺页率11/20=55%。 使用LRU算法: 缺页12次,缺页率12/20=60%。 (2)当使用4个物理页面时: (2)当使用5个物理页面时: (2)当使用6个物理页面时: 3、答: (1)作业的物理块数为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现象,增加分给作业的内存块数,反使缺页中断率上升。 29、 答: 1)6802)9153)9044)越界5)17506)越界。 30、 答: 1)1)页面访问序列为0,0,1,1,0,3,1,2,2,4,4,3。 2)FIFO为5次,缺页中断率为5/12=41.6%。 LRU为6次,缺页中断率为6/12=50%。 LRU反比FIFO缺页中断率高。 第五章: 一、 1、试述设备管理的基本功能。 答: P255 (1)设备中断处理; (2)缓冲区管理; (3)设备分配与去分配; (4)设备驱动调度; (5)实现虚拟设备。 12、为什么要引入缓冲技术? 其基本思想是什么? 答P265 为了解决CPU与设备之间速度不匹配的矛盾及逻辑记录和物理记录大小不一致的问题,提高CPU与设备的并行性,减少I/o操作对CPU的中断次数,放宽对CPU中断响应时间的要求,人们为操作系统引入了缓冲技术。 当进程执行写操作输出数据时,先向系统申请一个输出缓冲区,然后将数据送至缓冲区,如果是顺序写请求,则不断地把数据填入缓冲区,直至装满为止,此后进程可以继续进行计算,同时系统将缓冲区数据写入设备。 当进程执行读操作输入数据时,先向系统申请一个输入缓冲区,然后系统将设备的一条物理记录读至缓冲区,期间进程继续计算,送至完成之后系统根据要求将当前进程所需要的逻辑记录从缓冲区中选出并传送给进程。 21、什么是虚拟设备? 实现虚拟设备的主要条件是什么? 答: 虚拟设备: 为了提高独占设备的利用率,采用SPOOLING技术,用可共享的设备模拟独占设备,使独占设备成为共享设备,使每个作业感到自己分到了速度极高的独占设备。 这种模拟的独占设备称为虚拟设备。 (1)预输入程序; (2)井管理程序; (3)缓输出程序。 28、为什么要引入设备独立性? 如何实现设备独立性? 答: 设备独立性: 用户不指定物理设备,而是指定逻辑设备,使得用户作业和物理设备之间分离开来,再通过其他途径建立逻辑设备和物理设备之间的映射,设备的这种特性就是“设备无关性”。 应用程序与具体物理设备无关,系统增减或变更设备时对源程序不必加以修改;易于应对I/O设备故障,提高系统可靠性;增加设备分配的灵活性,更有效地利用逻辑设备资源,实现多道程序设计。 为了实现设备独立性,必须在设备驱动程序之上设置一层设备独立性软件,用来执行所有I/O设备的公用操作,并向用户层软件提供统一接口。 关键是系统中必须设置一张逻辑设备表LUT用来进行逻辑设备到物理设备的映射,其中每个表目中包含了逻辑设备名、物理设备名和设备驱动程序入口地址三项;当应用程序用逻辑设备名请求分配I/O设备时,系统必须为它分配相应的物理设备,并在LUT中建立一个表目,以后进程利用该逻辑设备名请求I/O操作时,便可从LUT中得到物理设备名和驱动程序入口地址。 30、目前常用的磁盘驱动调度算法有哪几种? 分别适用于何种数据应用场合? 答: 只需回答几处算法。 (1)电梯I/o调度算法; (2)时限i/o调度和预期i/o调度算法; (3)公平排队i/o调度算法。 (1)先来先
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 教程 部分 习题 答案