• 781.00 KB
  • 2022-04-22 11:26:31 发布

《操作系统实用教程》课后题参考答案.doc

  • 18页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'课后习题参考答案第一章操作系统概述一、填空题1.软硬件资源、系统软件、用户2.处理机、存储器、输入/输出设备和文件资源;处理机管理、存储器管理、设备管理和文件系统3.分时(或多用户、多任务)单用户(或单用户、单任务)4.分时OS时间片轮转批处理OS吞吐率实时OS实时性和可靠性5.命令接口系统调用6.系统调用二、选择题12345678910BCCABABDCB三、简答题1.操作系统是管理系统资源、控制程序执行,改善人机界面,提供各种服务,合理组织计算机工作流程和为用户使用计算机提供良好运行环境的一种系统软件。操作系统是用户与计算机硬件之间的接口。操作系统为用户提供了虚拟计算机。操作系统是计算机系统的资源管理者,处理器管理,存储器管理,设备管理,文件管理,用户接口。2.硬件的改进导致操作系统发展的例子很多,内存管理支撑硬件由分页或分段设施代替了界寄存器以后,操作系统中便增加了分页或分段存储管理功能。图形终端代替逐行显示终端后,操作系统中增加了窗口管理功能,允许用户通过多个窗口在同一时间提出多个操作请求。引进了中断和通道等设施后,操作系统中引入了多道程序设计功能。计算机体系结构的不断发展有力地推动着操作系统的发展,例如,计算机由单处理机改进为多处理机系统,操作系统也由单处理机操作系统发展到多处理机操作系统和并行操作系统;随着计算机网络的出现和发展,出现了分布式操作系统和网络操作系统。随着信息家电的发展,又出现了嵌入式操作系统。3.在一段时间内,内存中能够接纳多道程序的系统称为多道程序系统。单道程序环境下处理器的利用率很低,当程序进行输入/输出操作时,处理器空闲,同时外部设备的利用率也很低,引入多道程序系统以后,整个计算机的利用率得到了提高。4.允许多个联机用户同时使用一台计算机系统进行计算的操作系统称为分时操作系统,分时操作系统具有以下特性:同时性,独立性,及时性和交互性。实时操作系统是指当外界事件或数据产生时,能够接收并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,并控制所有实时任务协调一致运行的操作系统。实时操作系统的主要特点:对处理时间和响应时间要求高,可靠性和安全性高,多路性、独立性和交互性,整体性强。5.分时操作系统和批处理操作系统虽然有共性,它们都基于多道程序设计技术,但存在下列不同点:l追求的目标不同。批处理系统以提高系统资源利用率和作业吞吐率为目标;分时系统则要满足多个联机用户立即型命令的快速响应。l适应的作业不同。批处理系统适应已经调试好的大型作业;而分时系统适应正在调试的小作业。 l资源的利用率不同。批处理操作系统可合理安排不同负载的作业,使各种资源利用率较佳;分时操作系统中,多个终端作业使用相同类型编译系统、运行系统和公共子程序时,系统调用它们的开销较小。作业控制的方式不同。批处理操作系统由用户通过作业控制语言的语句书写作业控制流,预先提交,脱机工作;分时操作系统中,由用户从键盘输入操作命令控制,交互方式、联机工作。6.UNIX操作系统是对世界影响深远的分时操作系统。四、计算题1.(1)CPU有空闲,在100ms~150ms时间段是空闲的。(2)程序1无等待时间,而程序2在一开始的0ms~50ms时间段会等待。。2.三道程序运行,完成三道程序共花170ms。与单道程序(260ms)比较,节省了90ms。(始终按照1-2-3的次序,即程序1→程序2→程序3→程序1→程序2→(在程序3运行前会停10ms等待输入完成)程序3。3.总的运行时间为45ms,CPU处理时间为40ms,CPU的利用率为89%第二章常用操作系统概述一、简答题1.内核的主要功能是在客户程序和运行在用户空间的各种服务(属系统程序)之间进行通信。在这种结构下,应用程序发出的请求首先被内核俘获,由它把消息传递给相应的系统进程去处理,处理完后,同样通过内核,把回应的消息发还给客户。可见,客户程序和各种服务进程之间不会直接交互,必须通过内核的消息交换才能完成相互通信。这就是“微内核”构造模式。用这种方法来构造操作系统,其中心思想是将系统中的非基本部分从内核里移走,只把最关键的进程管理、内存管理以及进程通信等功能,留存下来组成系统的内核。这样便于系统功能的扩充,使系统具有更好的可扩展性和可移植性,由于绝大部分系统进程都运行在用户态,所以使系统具有更好的安全性和可靠性。2.答:Windows体系结构分成内核模式和用户模式。内核的主要功能是在客户程序和运行在用户空间的各种服务(属系统程序)之间进行通信。Windows系统的内核全部运行在统一的核心地址空间中,由三个层次组成:执行体、内核、硬件抽象层(HAL)Linux体系结构被分成两部分。上面是用户(或应用程序)空间,是用户应用程序执行的地方。下面是内核空间,Linux内核提供了连接内核的系统调用接口,还提供了用户空间中的应用程序和内核之间进行转换的机制。内核和用户空间的应用程序使用的是不同的保护地址空间。每个用户空间的进程都使用自己的虚拟地址空间,而内核则占用单独的地址空间。Linux内核可以进一步划分成3层。最上面是系统调用接口,它实现了一些基本的功能,中间层是内核代码,最下面是依赖于体系结构的代码,构成了通常称为BSP(BoardSupportPackage)的部分,这些代码将内核和硬件分隔开来,使Linux操作系统能够适应多种硬件平台3.自由软件(FreeSoftware或Freeware)是指遵循通用公共许可证GPL(GeneralpublicLicense)规则,保证您有使用上的自由、获得源程序的自由、自己修改源程序的自由、复制和推广的自由,也可以有收费的自由的一种软件。Free指是的自由,但并不是免费。自由软件之父RichardStallman先生将自由软件划分为若干等级:其中,0级是指对软件的自由使用;1级是指对软件的自由修改;2级指对软件的自由获利. 第三章处理机管理一、填空题1.运行、就绪、阻塞2.程序、数据、PCB3.动态、静态4.4、05.剥夺式调度、非剥夺式调度6.处理机7.处理机频繁、输入输出频繁8.操作系统9.提交、后备、运行10.短作业优先二、选择题:123456789CACBDCADA三、简答题1.在多道程序设计系统中,内存中存放多个程序,它们以交替的方式使用CPU。因此,从宏观上看,这些程序都开始了自己的工作。但由于CPU只有一个,在任何时刻CPU只能执行一个进程程序。所以这些进程程序的执行过程是交织在一起的。也就是说,从微观上看,每一个进程一会儿在向前走,一会儿又停步不前,处于一种“走走停停”的状态之中。2.为了对进程进行有效的管理和控制,操作系统要提供若干基本的操作,以便能创建进程、撤销进程、阻塞进程和唤醒进程。这些操作对于操作系统来说是最为基本、最为重要的。为了保证执行时的绝对正确,要求它们以一个整体出现,不可分割。也就是说,一旦启动了它们的程序,就要保证做完,中间不能插入其他程序的执行序列。在操作系统中,把具有这种特性的程序称为“原语”。3.只要是涉及管理,就应该有管理的规则,没有规则就不成方圆。如果处于阻塞状态的一个进程,在它所等待的事件发生时就径直将它投入运行(也就是把CPU从当前运行进程的手中抢夺过来),那么系统就无法控制对CPU这种资源的管理和使用,进而也就失去了设置操作系统的作用。所以,阻塞状态的进程在它所等待的事件发生时,必须先进入就绪队列,然后再去考虑它使用CPU的问题。4.当一个进程的状态从阻塞变为就绪时,它的PCB就从原先在的阻塞队列移到就绪队列里。在把进程的PCB从这个队列移到另一个队列时,只是移动进程的PCB,进程所对应的程序是不动的。这是因为在进程的PCB里,总是记录有它的程序的断点信息。知道了断点的信息,就能够知道程序当前应该从哪里开始往下执行了。这正是保护现场所起的作用。5.先来先服务算法主要考虑作业在后备作业队列里的等待时间,因此对短作业不利;短作业优先算法主要考虑作业所需的CPU时间,因此对长作业不利。“响应比高者优先”作业调度算法,总是在需要调度时,考虑作业已经等待的时间和所需运行时间之比,即:该作业已等待时间/该作业所需CPU时间。这个比值的分母是一个不变的量。随着时间的推移,一个作业的“已等待时间” 会不断发生变化,也就是分子在不断地变化。显然,短作业比较容易获得较高的响应比。这是因为它的分母较小,只要稍加等待,整个比值就会很快上升。另一方面,长作业的分母虽然很大,但随着它等待时间的增加,比值也会逐渐上升,从而获得较高的响应比。根据这种分析,可见“响应比高者优先”的作业调度算法,既照顾到了短作业的利益,也照顾到了长作业的利益,是对先来先服务以及短作业优先这两种调度算法的一种折中。四、计算题1.(1)采用先来先服务时:作业号到达时间所需CPU时间执行顺序开始时间完成时间周转时间10.04104420.422465.631.013676平均周转时间=(4+5.6+6)/3=15.6/3=5.2平均加权周转时间=(4/4+5.6/2+6/1)/3=3.267(2)采用短作业优先时:作业号到达时间所需CPU时间执行顺序开始时间完成时间周转时间10.04104420.423576.631.012454平均周转时间=(4+6.6+4)/3=14.6/3=4.867平均加权周转时间=(4/4+6.6/2+4/1)/3=8.3/3=2.767(3)如果等到所有作业都到了,再采用短作业优先算法:作业号到达时间所需CPU时间执行顺序开始时间完成时间周转时间10.04348820.422243.631.011121平均周转时间=(8+3.6+1)/3=12.6/3=4.2平均加权周转时间=(8/4+3.6/2+1/1)/3=6.8/3=2.2672.(1)采用先来先服务时:作业号到达时间所需CPU时间调度顺序开始时间完成时间周转时间19.01.11910.11.129.50.5210.110.61.139.60.1310.610.71.1410.10.2410.710.90.8平均周转时间=(1.1+1.1+1.1+0.8)/4=4.1/4=1.25平均加权周转时间=(1.1/1.1+1.1/0.5+1.1/0.1+0.8/0.2)/4=(1+2.2+11+4)/4=4.55(2)采用短作业优先时:作业号到达时间所需CPU时间调度顺序开始时间完成时间周转时间19.01.11910.11.129.50.5410.410.91.439.60.1210.110.20.6 410.10.2310.210.40.3平均周转时间=(1.1+1.4+0.6+0.3)/4=3.4/4=0.85平均加权周转时间=(1.1/1.1+1.4/0.5+0.6/0.1+0.3/0.2)/4=(1+0.7+6+1.5)/4=2.33.三个作业是在9.5时全部到达的。这时它们各自的响应比如下:作业1的响应比=(9.5–8.8)/1.5=0.46作业2的响应比=(9.5–9.0)/0.4=1.25作业3的响应比=(9.5–9.5)/1.0=0因此,最先应该调度作业2运行,因为它的响应比最高。它运行了0.4后完成,这时的时间是9.9。再计算作业1和3此时的响应比:作业1的响应比=(9.9–8.8)/1.5=0.73作业3的响应比=(9.9–9.5)/1.0=0.40因此,第二个应该调度作业1运行,因为它的响应比最高。它运行了1.5后完成,这时的时间是11.4。第三个调度的是作业3,它运行了1.0后完成,这时的时间是12.4。整个实施过程如下。作业号到达时间所需CPU时间开始时间完成时间周转时间29.00.49.59.90.918.81.59.911.42.639.51.011.412.42.9作业的调度顺序是2→1→3。各自的周转时间为:作业1为0.9;作业2为2.6;作业3为2.9。第四章进程间的制约关系一、填空题1.直接制约,间接制约2.相应资源,P、V操作3.继续执行,阻塞(等待)4.S>0,等待,就绪5.互斥,P(mutex),V(mutex)6.共享存储器、消息传递、管道通信7.使用临界资源的程序代码8.–(M-1)~19.410.资源互斥、资源不剥夺、资源部分分配、循环等待二、选择题12345678910BBACCBCDBAB三、问答题1.一次仅允许一个进程使用的资源称为临界资源。把进程中访问临界资源的程序段称为临界区。2.进程的同步与互斥是指进程在推进时的相互制约关系。在多道程序系统中,由于资源共享与进程合作,这种进程间的制约成为可能。为了保证进程的正确运行以及相互合作的进程之间交换信息,需要进程之间的通信。进程之间的制约关系体现为:进程的同步和互斥。 进程同步:它主要源于进程合作,是进程间共同完成一项任务时直接发生相互作用的关系。为进程之间的直接制约关系。在多道环境下,这种进程间在执行次序上的协调是必不可少的。进程互斥:它主要源于资源共享,是进程之间的间接制约关系。在多道系统中,每次只允许一个进程访问的资源称为临界资源,进程互斥就是保证每次只有一个进程使用临界资源。进程通信是指进程间的信息交换。PV操作作为进程的同步与互斥工具因信息交换量少,效率太低,称为低级通信。而高级通信则以较高的效率传送大批数据。3.所谓死琐,是指多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再向前推进。死锁预防的措施有:(1)破坏“资源部分分配”条件,优点是简单、易于实现且很安全;(2)破坏“不剥夺”条件,在采用这种方法预防死锁时,进程是在需要资源时才提出请求。这样,一个已经保持了某些资源的进程,当它再提出新的资源要求而不能立即得到满足时,必须释放它已经保持的所有资源,待以后需要时再重新申请。这种预防死锁方法,实现起来比较复杂,且要付出很大代价。(3)破坏“循环等待”条件,在这种方法中规定,系统将所有的资源按类型进行线形排队,并赋予不同的序号。这种预防死锁的策略与前两种策略比较,其资源利用率和系统吞吐量,都有较明显的改善。4.解决死锁的方法主要有:死锁的预防、死锁的避免、死锁的检测和解除。(1)死锁的预防:主要是破坏产生死锁的必要条件。该方法容易实现,但因为设置了种种限制,保守的算法使得操作系统的功能减弱,资源的利用率较低。(2)死锁的避免:常用的是银行家算法。该算法进行必要的计算,考查每个进程对各类资源的需求量,要花费较多的时间去预测死锁是否会发生。因此,实现起来不太容易,但资源的利用率最高。(3)死锁的检测和解除:是基于死锁定理而设计的一种宽松的策略。并不去严格地限制死锁的发生,通过定期或不定期对操作系统的状态进行检测,发现死锁便予以解除。解除死锁是采取撤消某些进程或剥夺某些进程已占有的资源。撤消或剥夺时需要比较一下各种死锁解除方案的代价,找到代价最小的方案。5.不会。会。6.当进程A在自己的临界区里执行时,能够被别的进程打断,没有任何的限制。当进程A在自己的临界区里执行时,也能够被进程B打断,不过这种打断是有限制的。即当进程B执行到要求进入自己的临界区时,就会被阻塞。这是因为在它打断进程A时,A正在临界区里还没有出来,既然A在临界区,B当然就无法进入自己的临界区。7.根据信号量的定义可知,P、V操作并非只是对信号量进行减1或加1操作,更重要的是在减1或加1后,还要判断运算的结果。对于P操作,判定后调用进程自己有可能继续运行,也可能阻塞等待。对于V操作,判定后调用进程自己最后总是继续运行,但之前可能会唤醒在信号量队列上等待的进程。在信号量上除了能执行P、V操作外,不能执行其他任何操作。8.由于每个进程最多需要两台磁带机,考虑极端情况:每个进程已经都申请了一台。那么只要还有一台空闲,就可以保证所有进程都可以完成。也就是说当有条件:n+1=5,即n=4时,系统就不存在死锁的危险。9.能,同步与互斥是进程通信的基本内容,P、V操作与信号量结合可以实现同步与互斥。10.进程通信根据交换信息量的多少分为高级通信和低级通信。低级通信一般只传送一个或几个字节的信息,以达到控制进程执行速度的作用(如PV操作);高级通信则要传送大量数据,目的不是为了控制进程的执行速度,而是为了交换信息。高级进程通信方式有很多种,大致可归并为三类:共享存储器、管道通信和消息传递。共享存储器:在内存种分配一片空间作为共享存储区。需要进行通信的进程把它附加到自己的地址空间中,不需要时则把它取消。管道通信:它是连接两个命令的一个打开文件。一个命令向该文件中写入数据,为写者;另一个命令从该文件中读出数据,为读者。消息传递:它以消息为单位在进程间进行数据交换。四、计算题 1.因为哲学家进餐没有必然的先后次序,相邻的两个哲学家要竞争刀或叉,刀或叉成为临界资源,本题属于互斥问题。本题设置四个互斥信号量F1、F2、K1、K2,初值均为1,分别表示临界资源叉1、叉2、刀1、刀2。哲学家的工作流程基本相似,只是拿起刀叉的序号不同,如图所示。2.根据常识可知,司机和售票员的工作存在如下制约关系:(1)司机必须在得到售票员的“关门完毕”的信号后,才能启动汽车。这是一个司机要与售票员取得同步的问题。(2)售票员必须在得到司机的“已经停车” 的信号后,才能打开车门。这是一个售票员要与司机取得同步的问题。因此,为了确保行车安全,需要设置两个同步信号量:S1——初值为0,控制司机与售票员取得同步;S2——初值为0,控制售票员与司机取得同步。3.分析题意,知道在管理读者“进入”和“注销”阅览室的工作中,存在这样一些制约关系:(1)100个座位是读者共同使用的资源,因此要用一个资源分配信号量来管理它;(2)读者“进入”阅览室时,要申请座位。只有申请到座位才能进入,否则应该等待到座位的释放;(3)没有读者时,不能做“注销”工作,必须等到有了读者才能做。因此,可以设置两个信号量:S1——初值为100,管理座位的分配;S2——初值为0,控制“注销”与“进入”间取得同步。“进入”与“注销”两个进程的流程如图所示。图6-23“进入”与“注销”两个进程在读者进入时,调用“进入”进程,通过P(S1)来申请座位。如果申请到,就可以办理阅览手续。如果100个座位都申请完毕,那么第101个读者就只有在关于S1的队列上等待,等到有人调用“注销”进程执行V(S1)。在有读者离去时,就调用“注销”进程。4.经分析GET与COPY之间存在2个同步关系:GET与COPY同步,GET等待COPY发来“拷贝结束”的消息后,才能读入下一条记录;COPY与GET同步,COPY等待GET发来 “可以拷贝”的消息后,才能开始复制记录。PUT和COPY两者之间存在2个同步关系:PUT与COPY同步,PUT等待COPY发来“拷贝结束”的消息后,才能开始输出;COPY与PUT同步,COPY等待PUT发来“输出结束”的消息后,才能复制下一条记录。于是,GET、COPY和PUT三者间有4个同步关系。因此,需要设置4个同步信号量:S1——控制COPY与GET取得同步,初值=0;S2——控制GET与COPY取得同步,初值=0;S3——控制PUT与COPY取得同步,初值=0;S4——控制COPY与PUT取得同步,初值=0。5.这实际上也是最简单“生产者—消费者”问题的变种:进程R是产生者,进程W1、W2是两个消费者。只是W1只消费奇数,W2只消费偶数。下图所示的是3个进程的工作示意。分析题目知道3个进程间有如下的制约关系存在:(1)进程R申请使用缓冲区B,进程W1或W2释放缓冲区B;(2)进程W1要等待R往缓冲区B里放入奇数后,才能工作(要与R取得同步),然后释放缓冲区;(3)进程W2要等待R往缓冲区B里放入偶数后,才能工作(要与R取得同步),然后释放缓冲区。因此,应该设置3个信号量:S——初值为1,控制缓冲区B的分配;SO——初值为0,控制W1与R取得同步;SE——初值为0,控制W2与R取得同步。3个进程的工作流程如下图所示。 6.从图可以知道,公共数据区的单元Ai(i=1,2,3…)里存放的某月某日第i次航班的现有票数,是j(j=1,2,3…)个售票处共享的数据。因此,这些售票处对公共数据区的单元Ai(i=1,2,3…)的操作不能同时进行。正因为如此,图中把对Ai的这些操作,用名为S的信号量上的P、V操作,保证它们互斥进行。这样处理都是正确的。关键是当判定没有第i次航班的机票时,图里仅安排了打印“票已售完!”的动作。这样,第j售票处只有进入临界区的P(S),而没有执行退出临界区的V(S)。它没有退出临界区,别的售票窗口也就无法再进入这个临界区。所以,这种安排是不对的。应该把图改成为下图,这样就完全正确了。第五章存储管理一、填空题 1、虚拟存储器2、重定位3、判断该页是否在内存中,判断该页是否被修改过4、硬件变换机构,内存,缺页,中断处理程序5、空闲块,淘汰,空闲块6、页号,内存块号,记录内存块的分配情况7、分配内存,连续的内存,不等,连续8、用户,系统9、内部碎片,外部碎片10、静态重定位,动态重定位11、装入内存,执行12、抖动二、选择题1234567891011CDDADDBFJBABABBD三、问答题1、所谓“内部碎片”,是指系统已经分配给用户使用、用户自己没有用到的那部分存储空间;所谓“外部碎片”,是指系统无法把它分配出去供用户使用的那部分存储空间。对于教材而言,单一连续区存储管理、固定分区存储管理、分页式存储管理和请求页式存储管理都会出现内部碎片。只是前两种存储管理造成的内部碎片比较大,浪费较为严重;后两种页式存储管理,平均来说每个作业都会出现半页的内部碎片。教材中,只有可变分区存储管理会产生外部碎片。2、静态重定位是一种通过软件来完成的地址重定位技术。它在程序装入内存时,完成对程序指令中地址的调整。因此,程序经过静态重定位以后,在内存中就不能移动了。如果要移动,就必须重新进行地址重定位。动态重定位是一种通过硬件支持完成的地址重定位技术。作业程序被原封不动地装入内存。只有到执行某条指令时,硬件地址转换机构才对它里面的地址进行转换。正因为如此,实行动态重定位的系统,作业程序可以在内存里移动。也就是说,作业程序在内存中是可浮动的。3、虚拟存储器实际是一种存储扩充技术。它把作业程序存放在辅助存储器里,运行时只装入程序的一部分。遇到不在内存的程序时,再把所需要的部分装入。这样在内存和辅存之间调入、调出的做法,使用户的作业地址空间无需顾及内存的大小。给用户造成的印象是,无论程序有多大,它在这个系统上都可以运行。这种以辅助存储器作为后援的虚幻存储器,就称为虚拟存储器。虚拟存储器的大小是由系统的地址结构确定的。4、在分页式或请求页式存储管理中,通常是利用内存储器构成页表的。当CPU执行到某条指令、要对内存中的某一地址访问时,因为这个地址是相对地址,所以先要根据这个地址所在的页号去查页表(访问一次内存),然后才能由所形成的绝对地址去真正执行指令(第二次访问内存)。可见,由于页表在内存,降低了CPU的访问速度。为了提高相对地址到绝对地址的变换速度,人们想到用一组快速寄存器来代替页表。这时查页表是以并行的方式进行,立即就能输出与该页号匹配的块号,这样做无疑比内存式的页表要快得多。但是,快速寄存器的价格昂贵,由它来组成整个页表是不可取的。考虑到程序运行时具有局部性,因此实际系统中总是一方面采用内存页表、另一方面用极少几个快速寄存器组成快表来共同完成地址的变换工作。 5、在请求页式存储管理中,当根据虚拟地址查页表而发现所要访问的页不在内存时,就会产生缺页中断。系统响应中断后,就由操作系统到辅存把所需要的页读入内存。这时,内存可能有空闲的块,也可能没有。只有当内存中没有空闲块时,才会出现将内存现有页面淘汰出去的问题,即要进行页面淘汰。所以,缺页中断和页面淘汰之间的关系是:页面淘汰一定是由缺页中断所引起;但缺页中断则不一定引起页面淘汰。6、在计算机系统中,由于某些事件的出现,打断了当前程序的运行,而使CPU去处理出现的事件,这称为“中断”。通常,计算机的硬件结构都是在执行完一条指令后,去检查有无中断事件发生的。如果有,那么就暂停当前程序的运行,而让CPU去执行操作系统的中断处理程序,这叫“中断响应”。CPU在处理完中断后,如果不需要对CPU重新进行分配,那么就返回被中断进程的程序继续运行;如果需要进行CPU的重新分配,那么操作系统就会去调度新进程。由上面的讲述可以看出,缺页中断与一般中断的区别如下。(1)两种中断产生的时刻不同:缺页中断是在执行一条指令中间时产生的中断,并立即转去处理;而一般中断则是在一条指令执行完毕后,当硬件中断装置发现有中断请求时才去响应和处理。(2)处理完毕后的归属不同:缺页中断处理完后,仍返回到原指令去重新执行,因为那条指令并未执行;而一般中断则是或返回到被中断进程的下一条指令去执行,因为上一条指令已经执行完了,或重新调度,去执行别的进程程序。图各种存储管理策略7、如图所示。在单一连续分区存储管理与固定分区存储管理之间画了一条线,表明位于线以上的存储管理策略只适用于单道程序设计,以下的适用于多道程序设计;在可变分区存储管理与页式存储管理之间画了一条线,表明位于线以上的存储管理策略都要求为作业分配一个连续的存储区,以下的存储管理策略打破了连续性的要求;在段页式存储管理与请求页式存储管理之间画了一条线,那明位于线以上的存储管理策略都要求使作业程序全部进入内存,而以下的存储管理策略打破了全部的要求,只要部分装入内存就可以了。可见,每一种存储管理的出现,都是在原有存储管理基础上的一次发展和提高,从不完善到逐渐完善。四、计算题1.(1)逻辑地址2365D的转换为数对:页号=相对地址%块尺寸=2365/2048=1;页内位移=相对地址%块尺寸=317由题意知,第1页对应的块号为2。所以,物理地址=块号×块尺寸+页内位移=2×2048+317=4413(2)逻辑地址093DH转换为2进制为093DH=0000100100111101B由题意知块尺寸为2KB=211B,即低11位表示页内位移,其他高位表示页号。所以上述地址的页号为00001=1,页内位移为00100111101B。由题意知第1页对应的块号为2,即00010B,所以转换后物理地址为0001000100111101B=113DH。2.FIFO:3块时为9/12=75%,4块时为10/12=83%发生异常现象。LRU:3块时为10/12=83%,4块时为9/12=75%3.各种分配算法时的情形如下:(1)最先适应算法请求队列最先适应算法初始10K4K20K18K7K9K12K15K 12K10K4K8K18K7K9K12K15K10K04K8K18K7K9K12K15K9K04K8K9K7K9K12K15K(2)最佳适应算法请求队列最佳适应算法初始10K4K20K18K7K9K12K15K12K10K4K20K18K7K9K015K10K04K20K18K7K9K015K9K04K20K18K7K0015K(3)最坏适应算法请求队列最坏适应算法初始10K4K20K18K7K9K12K15K12K10K4K8K18K7K9K12K15K10K10K4K8K8K7K9K12K15K9K10K4K8K8K7K9K12K6K可见,分配算法不同,选择的分配对象也不一样。4.(1)采用最近最久未用(LRU)页面淘汰算法,作业在得到2块内存空间时所产生的缺页中断次数为18次,如下图(a)所示,缺页率=18/20=90%;在得到4块内存空间时所产生的缺页中断次数为10次,如下图(b)所示,缺页率=10/20=50%。(2)采用先进先出(FIFO)页面淘汰算法,作业在得到2块内存空间时所产生的缺页中断次数为18次,如下图(a)所示,缺页率=18/20=90%;在得到4块内存空间时所产生的缺页中断次数为14次,如下图(b)所示,缺页率=14/20=70%。 第六章设备管理一、填空题:1.块2.最短寻道时间优先3.主存4.成批5.硬件缓冲、软件缓冲6.设备控制表7.共享设备、虚拟设备8.逻辑9.独享设备、共享设备、虚拟设备10.程序直接控制方式、中断方式、DMA方式、通道方式11.虚拟设备12.中断二、选择题:12345678910CBDCAACAAC三、简答题1.所谓“系统设备”,是指在操作系统生成时就已被纳入系统管理范围的设备;所谓“用户设备”是指在完成应用任务过程中,用户特殊需要的设备。因此,判定一个设备是系统设备还是用户设备,依据是它在系统生成时,是否已经纳入了系统的管理范围。如果是,它就是系统设备;如果不是,它就是用户设备。2.设备管理的主要功能是:(1)提供一组I/O命令,以便用户进程能够在程序中提出I/O请求,这是用户使用外部设备的“界面”;(2)记住各种设备的使用情况,实现设备的分配与回收;(3)对缓冲区进行管理,解决设备与设备之间、设备与CPU之间的速度匹配问题;(4)按照用户的具体请求,启动设备,通过不同的设备驱动程序,进行实际的I/O操作;I/O操作完成之后,将结果通知用户进程,从而实现真正的I/O操作。3.通过大容量辅助存储器的支持,利用软件技术(SPOOLing),把独享设备“改造”成为可以共享的设备,但实际上这种共享设备是不存在的,于是把它们称为“虚拟设备”。4.为了解决慢速输入/输出设备与快速处理器之间的矛盾,为了使得输入/输出设备与CPU能够并行工作,在计算机的内存空间为各种设备开设了缓冲区。也提高了并行性。 5.执行一次磁盘的输入/输出操作需要花费的时间包括三部分:(1)查找时间;(2)等待时间;(3)传输时间。在这些时间中,传输时间是设备固有的特性,无法用改变软件的办法将它改进。因此,要提高磁盘的使用效率,只能在减少查找时间和等待时间上想办法,它们都与I/O在磁盘上的分布位置有关。由于磁臂的移动是靠控制电路驱动步进电机来实现,它的运动速度相对于磁盘轴的旋转来讲较缓慢。因此,查找时间对磁盘调度的影响更为主要。6.所谓“DMA”,是指“直接存储器存取”的数据传输方式,其最大特点是能使I/O设备直接和内存储器进行成批数据的快速传输。适用于一些高速的I/O设备,如磁带、磁盘等。通道方式与DMA方式之间的区别如下。(1)在DMA方式下,数据传输的方向、传输长度和地址等仍然需要由CPU来控制。但在通道方式下,所需的CPU干预大大减少。(2)在DMA方式下,每台设备要有一个DMA控制器。当设备增加时,多个DMA控制器的使用,显然不很经济;但在通道方式下,一个通道可以控制多台设备,这不仅节省了费用,而且减轻了CPU在输入/输出中的负担。(3)在DMA方式下传输数据时,是采用“窃取”总线控制权的办法来工作的。因此,CPU与设备之间并没有实现真正的并行工作;在通道方式下,CPU把I/O任务交给通道后,它就与通道就真正并行工作。7.往磁带、磁盘上存放信息时,经常是把若干个记录先在内存缓冲区里拼装成一块,然后再写到磁带或磁盘上。存储设备与内存储器进行信息交换时,就以块为单位。这个把记录拼装成块的过程,被称为是“记录的成组”。从磁带、磁盘上读取记录时,先是把含有那个记录的块读到内存的缓冲区中,在那里面挑选出所需要的记录,然后把它送到内存存放的目的地。这个把记录从缓冲区里挑选出来的过程,被称为是“记录的分解”。之所以这样做,一是为了提高存储设备的存储利用率;二是减少内、外存之间信息交换次数,提高系统的效率。四、计算题1.(1)先来先服务时,调度的顺序是20→10→22→20→2→40→6→38,总共划过的柱面数是:10+12+2+18+38+34+32=146因此,总的查找时间为:146×6=876ms。(2)最短查找时间优先时,调度的顺序是20→22→10→6→2→38→40(由于磁臂起始时定位于柱面20,所以可以把后面第20柱面的访问立即进行),总共划过的柱面数是:2+12+4+4+36+2=60因此,总的查找时间为:60×6=360ms。(3)电梯算法(初始由外向里移动)时,调度的顺序是20→22→38→40→10→6→2(由于磁臂起始时定位于柱面20,所以可以把后面第20柱面的访问立即进行),总共划过的柱面数是:2+16+2+30+4+4=58因此,总的查找时间为:58×6=348ms。2.由于移动臂现在处于第8柱面,如果按照“先来先服务”调度算法,对这6个I/O的响应次序应该是8→9→7→15→9→20→7;如果是按照“最短查找时间优先”调度算法,对这6个I/O的响应次序可以有两种,一是8→9→7→15→20(到达9时完成1和4的请求,到达7时完成2和6的请求),二是8→7→9→15→20(到达7时完成2和6的请求,到达9时完成1和4的请求);如果按照“电梯”调度算法,对这6个I/O的响应次序可以有两种,一是8→9→15→20→7(由里往外的方向,到达9时完成1和4的请求,到达7时完成2和6的请求),二是8→7→9→15→20(由外往里的方向,到达7时完成2和6的请求,到达9时完成1和4的请求);如果按照“单向扫描” 调度算法,对这6个I/O的响应次序是8→9→15→20→0→7。对比后可以看出,实行8→7→9→15→20的响应次序会得到最省的时间,因为这时移动臂的移动柱面数是:1+2+6+5=14第七章文件管理一、填空题1.文件2.按名存取文件目录3.普通文件目录文件特殊文件4.物理非连续的物理块5.物理块信息交换6.位示图法空闲块链接法7.文件说明目录文件8.文件重名9.打开文件关闭文件10.记录号该记录存放地址11.顺序文件链接文件索引文件二、选择题12345678CBCBDCAC1.C2.B3.C4.B5.D6.C7.A8.C三、简答题1.若干个逻辑记录合并成一组,写入一个块叫记录成组,当存储介质上的一个物理记录读进输入缓冲区后,把逻辑记录从块中分离出来的操作叫记录的分解。记录的成组和分解处理不仅节省存储空间,还能减少输入输出操作次数,提高系统效率。2.文件系统提供给用户程序一组系统调用,包括建立,打开,关闭,撤销,读,写和控制。3.文件的逻辑组织:用户对文件的观察和使用是从自身处理文件中数据是采用的组织方式来看待文件组织形式。这种从用户观点出发所见到的文件组织形式称为文件的逻辑组织。(1)有结构文件(记录式文件):逻辑上可被看成一组连续顺序的记录的集合。(2)无结构文件:指文件内部不再划分记录,它是由一组相关信息组成的有序字符流,即流式文件。文件的物理组织:文件在存储设备上的存储组织形式称为文件的物理组织。(1)文件的物理组织形式主要有:连续文件:所占盘块是连续的。串联文件:所占盘块不连续,前后链接。4.连续结构是指把逻辑上连续的文件信息依次存放到辅存上连续的物理块中。连续结构的优点是:实现简单,存取速度快,常用于存放系统文件等固定长度的文件。连续结构的不足是:文件长度不便于动态增加,容易造成磁盘碎片。链接结构是指把逻辑上连续的用户文件信息存放到辅存的不连续物理块中,并在每一块中包含一个指针,指向下一块所在的位置,最后一块的指针放上“-1”,表示文件的结束。链接结构的优点是:不要求对整个文件分配连续的空间,能够利用每一个存储块,提高了存储空间的利用率;克服了连续结构不易动态增加的缺点。链接结构的缺点是:存取文件记录时,必须按照从头到尾的顺序依次存取,存取速度慢;链接指针本身要占去一定的存储空间。 把逻辑上连续的用户文件信息存放到辅存的不连续物理块中,系统为每个文件建立一张索引表,记录文件逻辑记录所对应的物理块号。索引结构克服了连续结构和链接结构的不足,既适用于顺序存取,也适用于随机存取,又能满足文件动态增删的需要。但是索引表占据存储空间,增加了存储开销。5.NTFS除了克服FAT系统在容量上的不足外,主要出发点是立足于设计一个服务器端适用的文件系统,除了保持向后兼容性的同时,要求有较好的容错性和安全性。NTFS具有以下的特性:可恢复性,安全性,文件加密,数据冗余和容错,大磁盘和大文件,多数据流,基于Unicode的文件名,通用的索引机制,动态添加卷磁盘空间,动态坏簇重映射,磁盘配额,稀疏文件,压缩技术,分布式链接跟踪,POSIX支持。NTFS文件系统结合在I/O管理器中,采用文件系统驱动程序实现的。文件系统的实现机制采用面向对象的模型,文件、目录和系统中其他资源一样,是作为对象来管理的。文件的命名统一在对象命名空间,文件对象由I/O管理器管理。用户和系统打开文件表在Window2000/XP中表现为每个进程一个进程对象表及其所指向的具体文件对象。NTFS把文件作为对象的实现方法允许文件被对象管理器共享和保护,对象管理器是管理所有执行体级别对象的Windows2000/XP组件。应用程序创建和访问文件同对待其他Windows2000/XP对象一样——依靠对象句柄。当I/O请求到达NTFS时,Windows2000/XP对象管理器和安全系统已经验证该调用进程有权以它试图访问的方式来访问文件对象。安全系统把调用程序的访问令牌同文件对象的访问控制列表中的项进行比较。I/O管理器也将文件句柄转换为指向文件对象的指针。NTFS使用文件对象中的信息来访问磁盘上的文件。6.(1)连续结构(2)链接结构(3)索引结构7.同时访问文件的一个拷贝可以保证数据的唯一性,节省了大量的存储空间,但对文件的访问权限的设定要求较高,可能会造成文件信息的读写混乱。为每个用户提供一个共享文件拷贝保证了共享文件的安全性,但浪费了存储空间。8.目前广泛采用树状结构目录,在树型目录结构中,用户可以把不同类型或不同用途的文件分类,组织自己的目录层次,便于用户查找文件;不同目录下可以使用相同的文件名。9.按名存取是文件系统屏蔽了底层硬件的处理细节,使得用户可以用“名字”访问数据。有了文件目录后,就可实现文件的“按名存取”。每一个文件在文件目录中登记一项,文件目录是文件系统建立和维护的它所包含的文件的清单,每个文件的文件目录项又称文件控制块FCB,当用户要求存取某个文件时,系统查找文件目录并比较文件名就可找到所寻文件的文件控制块(文件目录项)。然后,再通过文件目录项指出文件的文件信息相对位置或文件信息首块物理位置等就能依次存取文件信息。10.文件目录在磁盘格式化时建立,FCB的有序集合构成文件目录,每个目录项就是一个FCB。用户在使用某个文件时,给定文件名,通过查找文件目录便可以找到该文件对应的目录项(即FCB),从而获得文件的有关信息。有了文件目录后,就可实现文件的“按名存取”。四、计算题1.依题意,该磁盘共有B块,这意味采用位示图法来管理磁盘空间时,共需要B个二进制位构成位示图的存储空间;另一方面,现在共有F个空闲块,而表示一个磁盘地址(即一个空闲块)需要D个二进制位。所以在当前条件下,用成组链接法来管理磁盘空间中的F个空闲块时,要用F×D个二进制位的存储空间来管理它们。因此,只要题中所给的D、B、F三者之间满足关系:B>F×D。就可以保证使用成组链接法占用的存储空间少于位示图。2.(1)不成组操作时:每一记录长:160/800=0.2(英寸)1000记录所需空间:0.2*1000=200(英寸)1000记录所浪费空间:0.6*999=599.4(英寸)总共用去空间:599.4+200=799.4(英寸)利用率:(200/799.4)*100%=25%(2)块因子为5时每块长:(160*5)/800=1(英寸) 1000记录共有块数:1000/5=2001000记录所需空间:200*1=200(英寸)1000记录所浪费空间:0.6*199=119.4(英寸)总共用去空间:200+119.4=319.4(英寸)利用率:(200/319.4)*100%=62.5%(3)设物理记录最小为x(x/800)/(x/800+0.6)=0.5x/800=0.6x=480(字节)'