当前位置:文档之家› 20217操作系统(新大本)习题解答

20217操作系统(新大本)习题解答

20217操作系统(新大本)习题解答
20217操作系统(新大本)习题解答

《操作系统》习题解答

习题1

1.术语解释

裸机虚拟机操作系统程序接口

命令接口非特权指令特权指令核心态

用户态系统调用微内核批处理系统

分时实时指令的执行周期中断

中断源中断请求中断屏蔽中断禁止

GPL POSIX 时间片

答案:

·未配置任何软件的计算机称为“裸机”。

·在裸机上安装一层软件,使机器的功能得以扩展,这时展现在用户面前的“机器”,就是所谓的虚拟机。

·操作系统是控制和管理计算机硬件和软件资源、合理地组织计算机工作流程以及方便用户使用计算机的一个大型系统软件。

·在用户编写的程序中,可使用系统调用命令获得操作系统提供的各种功能服务,这是操作系统在程序一级给予用户的支持,称其为程序接口。

·用户可使用操作系统提供的各种操作命令,通过键盘(或鼠标)控制和完成程序的运行,这是操作系统在作业控制一级给予用户的支持,称为命令接口。

·操作系统和用户程序都能使用的硬指令,称为非特权指令。

·只能由操作系统使用的硬指令,称为特权指令。

·所谓核心态,是指CPU处于可执行包括特权指令在内的一切机器指令的状态。

·所谓用户态,是指CPU处于只能执行非特权指令的状态。

·操作系统里预先编制了很多不同功能的子程序。用户在自己的程序里调用这些子程序,以求得操作系统提供的功能服务。就把这些功能服务子程序称为“系统功能调用”程序,简称“系统调用”。

·微内核即是把操作系统的内核分为基本功能和非基本功能两部分,在内核里只保留基本功能部分,在核心态下运行;非基本功能部分则从内核剥离下来,让它们以各种服务的形式,在用户态下运行。这一的操作系统内核,称为微内核。

·若在某系统中,用户作业被分批处理,在处理一批的过程中不允许用户与计算机发生交互作用,即使作业在运行中出现错误,也只能等到整批作业处理完毕后在机下修改。这样的系统,就是所谓的“批处理系统”。

·所谓分时,即指多个用户通过各自的终端同时访问系统,由操作系统控制每个用户程序以很短的时间为单位交替执行。

·所谓实时,是指能够及时响应随机发生的外部事件并对事件做出快速处理的一种能力。

·一个单一的指令需要的处理过程,称为指令的一个“执行周期”。

·所谓“中断”,是指在CPU执行程序过程中,由于内部或某个外部事件的发生,让CPU暂时中止正在执行的程序而转向该突发事件的处理,处理完毕后返回被中止的程序继续执行的这样一个处理过程。

·凡能引起中断的设备或事件均称为“中断源”。

·中断源向CPU发出中断信号,称为中断请求。

·中断屏蔽是指在提出中断请求后,CPU不予响应的情况。

·中断禁止是指在可能引起中断的事件发生时,系统不接收该中断信号,使之不可能提出中断请求或导致中断。

·GPL是“通用公共许可协议(General Public License,的缩写)”,其意是要求整个系统的源代码可以自由获取,并且在GPL许可的范围内自由修改、传播。

·POSIX(Portable Operating System Interface for Computing Systems,的缩写),是由IEEE 和ISO/IEC开发的一系列标准。该标准基于已有Unix的实践和经验,描述系统调用的服务接口,并保证编制的应用程序可在多种操作系统上以源代码一级的形式进行移植和运行。

·指程序在被中断前可以执行的最大时间段。

2.为了管理系统中的各种资源,需要共同解决的问题是哪些?

答:计算机系统拥有四类资源:处理机(即CPU),存储器,外部设备,程序和数据。前三种属于硬资源,后一种属于软资源。

在计算机的运行过程中,对每种资的管理,需要共同解决的问题是:

(1)记住资源当前状态:是否被使用,谁在使用。

(2)制定资源分配策略:如何分配,何时分配,分配多少,应该分配给谁。

(3)实施资源分配:根据分配策略完成分配。

(4)完成资源回收:使用结束收回资源,以便进行下次分配。

3.应用程序与系统程序有什么区别?

答:可把软件大致划分为应用软件和系统软件两类。应用软件是为解决某类需要或某个特定问题而编制的程序,它涉及计算机应用的各个领域。系统软件不是针对特定需要或特殊问题编制的程序,而是对计算机系统的资源实施管理、控制,为其他程序的运行提供支持和服务的通用软件,系统软件都是由计算机生产厂家提供的。

4.CPU的核心态与用户态有何区别?

答:当CPU处于核心态时,可以执行包括特权指令在内的一切机器指令;当CPU处于用户态时,禁止使用特权指令,只能执行非特权指令。如果在用户态下发现取到了一条特权指令,中央处理机就会拒绝执行,产生“非法操作”中断。

5.操作系统的单内核模式和微内核模式有什么区别?

答:单内核模式也称集中模式或整体模式,整个系统是一个大的模块。这时,操作系统提供的工作流程是应用主程序用给出的参数值去执行操作系统中的各种系统调用命令。由于完全实行内部调用,因此运行效率极高。但因其源代码是一个整体,因此各模块间的界限不很清晰,调用极为随意。这样,在为内核程序的修改和升级带来极大麻烦。

微内核模式则是把操作系统的内核分为基本功能和非基本功能两部分,内核里只保留基本功能部分,在核心态下运行;非基本功能部分则从内核剥离下来,让它们以各种服务的形式,在用户态下运行。这时内核的主要功能是在客户程序和运行在用户空间的各种服务(属系统程序)之间进行通信,客户程序和各种服务之间不会直接交互,而是必须通过内核的消息交换才能完成相互通信。这种模式的优点是内核小,便于系统的扩充和修改。

6.根据例1-3的数据,分别对单道程序设计和多道程序设计最终完成对表1-2的填写。

表1-2 例1-3中不同情况下的资源利用统计

单道程序设计多道程序设计

处理器使用20% 40%

存储器使用33% 67%

磁盘使用33% 67%

打印机使用33% 67%

总共运行时间30分钟15分钟

吞吐量6个作业/小时12个作业/小时

注:所谓一个系统的吞吐量,是指系统在单位时间(通常为小时)内处理的作业数。

7.在分时系统和实时系统中,其响应时间分别是由(E)和(F)来确定的。

A.时间片大小B.用户数目C.计算机运行速度D.实时调度

E.用户所能忍受的等待时间F.控制对象所能接受的延时8.试问,在分时系统中用户数是100个,为保证响应时间不超过2秒,所设定的时间片的最大值应为多少?

答:应为20ms。

9.在一个分时操作系统中,用户提交了一个作业,其执行流程是:申请存储区→计算,并将结果暂存于主存→请求打印机→将主存中内容在打印机上输出→释放打印机→归还占用的存储区→结束。试从资源管理的观点分析该作业从提交到结束,操作系统为其提供服务涉及到的各个功能模块。

答:第1,通过存储管理,为其分配所需存储区;第2,通过处理机管理将CPU分配给它,完成作业计算,并将计算结果存入主存;第3,通过设备管理,把打印机分配给该作业;第4,执行打印机驱动程序,驱动打印机进行打印;第5,打印机完成打印,发出中断信号,请求CPU处理;第6,CPU响应中断,执行打印机中断处理程序,并释放打印机;第7,通过存储管理,回收存储区;第8,撤销该作业。

10.为进行单道批处理系统和多道批处理系统的特点,请完成表1-3的填写。

表1-3 单道批处理和多道批处理的特性比较

单道批处理系统多道批处理系统

主存中驻留程序的个数一道多道

占用CPU的情况独占交替占用

是否需要对用户作业进行调度不需要需要

程序完成次序与其进入主存次序间的关系严格对应不严格对应11.在批处理和分时系统相结合的操作系统中,为什么要引入“前台”和“后台”作业的概念?

答:通常,将终端用户作业作为前台作业,将批处理作业作为后台作业。这样的搭配,一方面可以保证系统及时响应前台用户作业的操作请求,并使其得到及时的处理。而作为批处理的后台作业,则只是利用系统不处理前台作业的空闲时间,在CPU上运行,从而达到提高CPU利用率的目的。

12.就CPU的利用率的高低,对手工操作、单道批处理、多道批处理和多用户分时系统进行排序。

答:手工操作阶段,没有操作系统进行管理,大量时间是机器等人,因此CPU的利用率最低。

单道批处理系统与手工操作相比,提高了系统自动化处理的程度。但由于主存内只有一道作业程序,CPU与I/O只能串行工作,所以CPU的利用率仍然很低。

多用户分时系统属于多道程序系统,比起手工操作和单道批处理来,它的CPU利用率较高。但由于系统的交互性和及时性要求,CPU必须在多个用户程序之间进行切换,从而增加了系统的额外开销。

多道批处理系统完全自动处理各个用户的程序,只有在程序等待某事件发生时,才会产生程序间的切换,因此系统花费在程序间切换上的开销,要远小于多用户分时系统。因此,它是这四种系统中CPU利用率最高的系统。

习题2

1.术语解释

并发并行进程用户进程

系统进程创建状态就绪状态运行状态

阻塞状态终止状态就绪/挂起状态阻塞/挂起状态进程控制块PCB 进程映像原语线程

用户级线程线程库内核级线程位图

答案:

·所谓“并发”,是指从宏观上看在一段时间内有多个程序在同时运行,而从微观上看这些程序是在交替运行。或所谓“并发”,是指逻辑上相互独立的几个应用程序,同时处于活动状态,并竞争使用系统中的各种资源(如CPU、内存、硬设备等)。

·所谓“并行”,是指多个程序在同一时刻运行。

·所谓“进程”是指一个程序在给定数据集合上的一次执行过程,是系统进行资源分配和运行调度的独立单位。

·操作系统中用于管理系统资源的那些可以并发执行的程序,构成了一个个系统进程,它们提供系统的服务,分配系统的资源

·可以并发执行的用户程序段,形成了一个个用户进程,它们是操作系统的服务对象,是系统资源的实际的享用者。

·创建状态:一个进程正在初创时期,操作系统还没有把它列入到可执行的进程行列中。

·就绪状态:一个进程已经具备运行的条件,只要有机会获得CPU就可以投入运行。

·运行状态:一个进程获得了CPU正在被执行中。假定系统中只有一个CPU,因此任何时候最多只有一个进程处于运行状态。

·阻塞状态:进程正在等待某个事件(比如I/O的完成)的发生,在事件到来之前,即使把CPU分配给这个进程,它也无法运行。

·终止状态:一个进程或正常结束,或因某种原因被强制结束。这时,系统正在为其进行善后处理。

·就绪/挂起状态:进程在辅存,只要被激活,进程就可以调入内存,如果获得CPU就可以投入运行。

·阻塞/挂起状态:进程在辅存等待事件的发生。只要被激活,进程就可以调入到内存里去等待事件的发生。

·为了便于管理和控制进程的执行,为了随时刻画进程的动态特性,为了反映进程间的相互关系,操作系统就用一个与进程有关的数据结构来完成这样的任务。这个数据结构就称为“进程控制块(PCB)”。

·进程将要执行的程序、数据以及进程控制块PCB,这三个部分组成的集合,称为“进程映像”。

·在操作系统里,那种“在执行期间不能被打断、不能被分割”的程序段,称作“原语”。

·所谓“线程”,是指进程中实施处理器调度和分配的基本单位。

·如果有关线程的管理工作(比如线程的创建、撤销,线程间的消息和数据传递,线程的调度和现场保护及恢复等),都是由运行在用户空间的应用程序完成,那么这样的线程称为“用户级线程”。

·完成用户级线程管理工作的应用程序,称为“线程库”。

·如果有关线程管理的所有工作都是由内核完成的,用户空间里没有任何进行线程管理的程序,系统给应用程序提供相应的系统调用和应用程序编程接口(API),以使用户程序

可以创建、执行、撤销线程。那么这样的线程称为“内核级线程”。

·在内存开辟一个由若干个字组成的区域,用其中的每一个二进制位表示一种含义。这个区域就称为是一个“位图”。

2. 在多道程序设计下,进程具有什么样的特征?

答:在多道程序设计下,进程有如下几个方面的特征。

(1)进程是一个动态的概念,强调的是程序的一次“执行”过程。

(2)不同进程可以执行同一个程序。

(3)每一个进程都有自己的生命期。

(4)进程之间具有并发性。

(5)进程间会相互制约。

3. 什么是一个进程的生命期?

答:进程的本质是程序的一次执行过程,当系统要完成某一项工作时,就“创建”一个进程,以便执行事先编写好的、完成该工作的那段程序;程序执行完毕,完成预定的任务后,系统就“撤销”这个进程,收回它所占用的资源。一个进程创建后,系统就感知到它的存在;一个进程撤销后,系统就无法再感知到它。于是,从创建到撤销,这个时间段就是一个进程的“生命期”。

4. 系统进程与用户进程有什么区别?

答:系统进程与用户进程是两类不同性质的进程,主要区别如下。

(1)系统进程之间的相互关系由操作系统负责协调,以便有利于增加系统的并行性,提高资源的整体利用率;用户进程之间的相互关系要由用户自己(在程序中)安排。不过,操作系统会向用户提供一定的协调手段(以系统调用命令的形式)。

(2)系统进程直接管理有关的软、硬件资源的活动;用户进程不得插手资源管理,在需要使用某种资源时,必须向系统提出申请,由系统统一调度与分配。

(3)系统进程与用户进程都需要使用系统中的各种资源,它们都是资源分配与运行调度的独立单位,但系统进程的使用级别,应该高于用户进程。也就是说,在双方出现对资源的竞争时,系统进程有优先获得资源、优先得以运行的权利。只有这样,才能保证计算机系统高效、有序的工作。

(4)通常,系统进程运行在核心态,用户进程运行在用户态。不过,在微内核模式下,只有那些执行基本功能程序的进程,运行在核心态,而那些执行非基本功能程序的进程,则是以各种服务的形式运行在用户态。

5. 在多道程序设计环境的进程中引入“挂起”状态,对整个系统有什么好处?

答:挂起一个进程就是把这个进程调出内存,放到辅存的交换区去。这样做的好处是通过把在内存中等待的进程交换到辅存,就可以腾出宝贵的内存空间,就可以从辅存调入可运行进程,或可以接纳新进程,或可以为当前执行进程提供必要的存储空间,从而提高CPU 的利用率。

6. 根据图2-4,请回答对如下问题:

(1)在哪几种状态变迁下,一个进程会从内存交换到辅存?

(2)在哪几种状态变迁下,一个进程会从辅存交换到内存?

答:(1)在下面的三种状态变迁下,一个进程会从内存交换到辅存:

·从阻塞状态变迁到阻塞/挂起状态;·从就绪状态变迁到就绪/变迁状态;

·从运行状态变迁到就绪/挂起状态。

(2)在下面两种状态变迁下,一个进程会从辅存交换到内存:

·从就绪/挂起状态变迁到就绪状态;·从阻塞/挂起状态变迁到阻塞状态。

7. 一个进程在阻塞状态时等待事件的发生,该进程这时是位于内存还是辅存?一个进

程在阻塞/挂起状态时等待事件的发生,该进程这时是位于内存还是辅存?

答:在前一种情形时,进程位于内存;在后一种情形时,进程位于辅存。

8. 为什么说进程控制块是操作系统中最重要的一种数据结构?

答:由于进程控制块PCB里包含了有关一个进程所需要的所有信息,它是操作系统感知到一个进程实际存在的唯一实体。所以说进程控制块是操作系统中最重要的一种数据结构。

9. 操作系统中引入线程的优点是什么?

答:线程具有如下优点:

·由于在进程内的线程共享程序和资源,因此创建线程无需进行资源分配,比创建一个进程要快得多;这也使撤消线程比撤消一个进程所花费的时间短;

·同一进程里线程间的切换是在进程的地址空间里进行,因此比进程间不同地址空间中的切换开销要少得多;

·进程里的线程可以随时访问该进程拥有的所有资源,无需做任何切换工作;

·同一进程中的线程共享内存区域和文件,因此它们之间可以直接进行通信,不必通过系统内核。

10. 进程与线程有什么区别?

答:进程和线程间有如下的几点不同。

(1)地址空间:不同进程的地址空间是相互独立的,而同一个进程中的各个线程共享着同一个用户地址空间。因此,进程中的线程,不会被另一个进程所看见。

(2)通信关系:不同进程间的通信,必须使用操作系统提供的进程通信机制;同一进程的各个线程间的通信,可以直接通过访问共享的进程地址空间来实现。

(3)调度切换:不同进程间的调度切换,系统要花费很大的开销(比如,要从这个地址空间转到那个地址空间,要保护现场等);同一进程的线程间的切换,无须转换地址空间,从而减少了很多的系统开销。

11. 什么是Linux的进程链表?如何找到这个链表的头?

答:Linux进程的PCB里有名为prev_task和next_task的两个task_struct型指针字段。这样,从init进程PCB里的这两个字段开始,把系统中所有的进程的PCB链接在一起,形成一个双向链表,就成为是Linux的进程链表。由于init进程PCB的位置在系统里是固定不变的,所以找到init进程PCB里的next_task,就可以找到Linux进程链表的表头。

12. 什么是Linux的可运行状态队列?如何找到这个队列的头?

答:Linux进程的PCB里有名为prev_run和next_run的两个task_struct型指针字段。从init进程PCB里的这两个字段开始,把系统中所有“可运行状态”进程的PCB链接在一起形成一个双向链表,就成为是Linux的“可运行状态”队列。由于init进程PCB的位置在系统里是固定不变的,所以只要找到init进程PCB里的next_run,就可以找到“可运行状态”队列的头。

13. 下列活动中,属于直接制约关系的是B和C,属于间接制约关系的是A 和D 。

A. 几位同学去图书馆借同一本书

B. 两队进行篮球比赛

C. 流水生产线上的各道工序

D. 商品生产和社会消费

14. 下面的说法中,正确的是D。

A. 引入线程后,CPU只能在线程间切换

B. 引入线程后,CPU仍然在进程间切换

C. 线程的切换,不会引起进程的切换

D. 线程的切换,可能引起进程的切换

15.下面的说法中,正确的是C 。

A. 无论是内核级线程还是用户级线程,其切换都要内核的支持

B. 线程是资源分配的单位,进程是调度和分派的单位

C. 不管系统中是否有线程,进程都是拥有资源的独立单位

D. 在引入线程的系统中,进程仍是资源和调度分派的基本单位

16.下面关于用户级线程的叙述,错误的是D。

A. 用户级线程的切换无需进入内核模式

B. 线程库提供对用户线程的调度

C. 操作系统无需对内核进行修改以支持用户级线程

D. 用户级线程是CPU调度的基本单位

17.下面关于内核级线程的叙述,错误的是B 。

A.处理机调度可以为一个进程中的多个内核线程分配多个CPU

B. 如果一个进程中的一个线程被阻塞,整个进程都必须等待

C. 进程的一个内核线程阻塞时,可立即调度它的其他内核线程运行

D. 内核线程由操作系统的内核提供支持

18. 如图2-24是一个进程状态变迁图,试问:

(1)是什么事件引起每种状态的变迁?

(2)在什么条件下,一个进程的变迁3能够立即引起另一个进程的变迁1?

(3)在什么情况下将发生后面的因果变迁:2→1;3→2;4→1。

图2-24 应用问答第15题图

答:(1)引起状态变迁“1”的事件有:①正在运行的进程由于时间片用完而转入就绪时;②正在运行的进程由于要等待某一事件的发生而被阻塞时;③正在运行的进程由于出现故障或正常结束时;④在出现更高优先级进程就绪、且允许抢占CPU时。

引起状态变迁“2”的事件有:①正在运行的进程时间片用完;②正在运行的进程的CPU 被抢占,使当前进程状态发生变迁2。

引起状态变迁“3”的事件有:正在运行的进程等待某事件发生(如等待I/O完成,等待别的进程发来信号、出现异常后等待处理)。

引起状态变迁“4”的事件有:进程等待的事件发生(比如I/O完成,信号到达)。

(2)就绪队列非空时。

(3)2→1有因果关系。因为“2”发生时,如果就绪队列不空,就会选择一个进程运行,从而发生“1”;如果就绪队列空,发生了“2”就变为不空,所以仍能发生“1”。

3→2没有因果关系。

4→1①当系统中无进程在运行、且就绪队列为空,这时发生“4”就出现一个就绪进程,于是发生变迁“1”;②若系统实行可抢占调度策略,发生“4”、且就绪进程的优先级高于运行进程,则发生抢占,先“2”而后“1”。

19. 进程能够自己将自己唤醒吗?为什么?举例说明一次只能唤醒一个进程和一次能够唤醒多个进程的情形。

答:(1)唤醒是一种被动行为。被阻塞的进程不可能获得CPU而成为主动行为者,因

此只能由其他运行进程来实施唤醒。所以进程不能自己唤醒自己。

(2)在I/O中断处理程序中唤醒进程时,只唤醒等待该I/O结束的那个进程;当释放某种系统资源(比如一块存储区)时,就应该唤醒所有等待这种资源的阻塞进程,以便让它们进行竞争(比如,与其一个个去查等待者所需的存储区大小,还不如把它们都释放去竞争来得方便)。

20. Linux的进程由哪几部分组成?Linux的线程由哪几部分组成?

答:Linux的进程由四部分组成,它们是:

(1)一段可执行的程序;

(2)一个专用的系统栈空间,用来保存中断现场信息和进程进入内核模式后执行子程序(函数)嵌套调用的返回现场信息;

(3)进程控制块PCB(task_struct结构);

(4)独立的存储空间。

在Linux里,线程有它自己的可执行的程序;有它自己的专用系统栈;有它自己的进程控制块PCB(task_struct结构)。这些都与进程相同。唯一与进程不同的是,它没有自己独立的存储空间。

21.为了了解某单行道的交通流量,在路口安放一个监视器,功能是有车通过该路段时,就向计算机发送一个信号。为此设计两个程序:程序A的功能是接收到监视器的信号时,就在计数单元COUNT上加1;程序B的功能是每隔半小时,将计数单元COUNT的值打印输出,然后清零。COUNT初始时为0。两个程序的描述如图2-25所示。

图2-25 应用问答第20题图

因为是多道程序设计环境,程序A和程序B都作为进程出现在内存。内存中的各个进程的执行过程交织在一起,没有什么规律可循。假定进程A和B的执行一直很顺利,现在计数器COUNT里的值是9,随之后面的执行顺序是:A1→A2→B1→B2→A1→A2→B3。执行完成后,按说由于做了两次A2,在最后做B3时,打印出COUNT的值应该是11,但打印的却是10。怎么会少打印了一辆车?试对此现象做出解释。

答:现在的执行顺序是在进程B做了B1和B2后,没有直接执行B3,而是插入了进程A的两个操作A1和A2,于是出了问题。即执行这一顺序时,A1收到监视器发来的第10辆车通过的信息,于是由A2在COUNT上完成加1操作,使得计数器COUNT取值为10。紧接着做B1去延迟半小时,然后由B2将COUNT中的10打印输出来。这时又做A1,它收到的是第11辆车到达的信息,通过做A2,COUNT里的值成为11。这时接着做B3,它把COUNT清零。结果导致该系统把第11辆车漏掉了,少计算了一辆车。这正是在多道程序设计环境下,结果的再现性已不再存在的例子。

习题3

1.术语解释

后备作业后备作业队列高级调度低级调度

中级调度非抢占式调度策略抢占式调度策略吞吐量

处理机限制型作业I/O限制型作业作业的周转时间作业的带权周转时间CPU的利用率作业的响应比FCFS作业调度短作业优先调度最短剩余时间调度最高响应比调度轮转调度优先级调度

多级队列调度多级反馈队列调度最早截止时间最晚截止时间

硬实时任务软实时任务周期性任务非周期性任务

任务速率最早截止时间优先速率单调调度Linux的活动进程Linux的过期进程

答案:

·被系统接纳的作业,在没有真正投入运行之前被称为“后备作业”。

·所有后备作业的JCB链接在一起,形成所谓的“后备作业队列”。这些作业没有资格参与对处理机的竞争,但系统是从它们的里面去挑选参与CPU竞争的作业的。

·决定哪一个后备作业可以进入到系统去接受处理的调度,称为“高级调度”,它控制着多道程序设计环境的“度”。

·真正决定CPU下一次执行哪一个进程,并按照一定的算法从就绪队列里挑选出可运行的进程投入运行的调度,称为“低级调度”。

·在系统出现过高的并发度时,应将内存中的某些进程暂时换出到外存;在系统的并发度较低时,应将外存中的某些进程换入到内存。实现进程在内、外存间换出和换入的调度,就称为“中级调度”,它通过这种交换,以求达到调节和平衡系统“并发度”的目的。

·非抢占式也称非剥夺式。实施这种调度策略的系统,在调度程序把CPU分配给了某个进程使用后,就会一直让它使用下去,直到进程完成自己的工作自愿释放CPU,或因为要等待某个事件的发生而交出CPU,在此期间不允许其他进程从运行进程手中夺取CPU。

·抢占式也称剥夺式。实施这种调度策略的系统,在调度程序把CPU分配给了某个进程使用后,只要满足某种条件,就允许立即通过调用调度程序,把CPU从运行进程手中夺取过来,分配给满足条件的进程使用,而不管当前运行进程是否愿意。

·所谓“吞吐量”,是指单位时间内CPU完成作业的数量。

·所谓“处理机限制”型作业,即该作业需要花费大量的CPU时间,很少输入/输出,因此有时也称“CPU繁忙”型作业。

·所谓“I/O限制”型作业,即该作业在运行期间主要是输入/输出,很少需要进行计算和处理,有时也称“I/O繁忙”型作业。

·作业的“周转时间”,是指该特定作业从提交给系统到获取结果所经历的时间间隔。

·所谓一个特定作业的“带权周转时间”,是指该作业的周转时间与所需运行时间之比。

所谓“CPU的利用率”,是指在一定的时间区间内,CPU为用户提供服务的时间与CPU 总运行时间的比率。

·所谓作业的“响应比”,是指一个特定作业的周转时间与它所需的执行时间之比。

·FCFS作业调度算法基于作业到达后备队列的先后次序以及作业对系统资源的需求,从中挑选进入内存、参与CPU竞争的作业对象。

·短作业优先调度算法是基于作业要求的运行时间来进行调度。在需要调度时,调度程序总是在作业后备队列里选择要求运行时间短的、满足其资源需要的作业进入内存,参与对CPU的竞争。

·最短剩余时间优先作业调度算法,是从后备作业队列里挑选所需运行时间最短的作业投入运行;在运行过程中,若有所需运行时间更短的作业达到,那么它就抢占CPU,让当前正在运行的作业暂停执行。

·最高响应比调度算法,是在每个作业运行完毕进行下一次调度时,计算作业后备队列

里所有作业当前的响应比RR,从中挑选出响应比值最高者进入内存,参与对CPU的竞争。

·轮转调度算法,有时也称时间片轮转算法,是一种基于时钟中断和FCFS调度的抢占式调度算法。系统时钟周期性地产生中断。中断发生时,迫使当前正在运行的进程中止运行,到就绪队列里排队,随之调度程序按FCFS从就绪队列里选择下一个就绪进程投入运行。

·优先级调度算法,是基于进程优先级进行的调度算法。在需要调度时,HPF算法总是从就绪队列里挑选优先级最高者投入运行。

·多级队列调度算法,是把就绪进程按不同的性质组合成若干个就绪队列,每个队列实行不同的进程调度算法。

·多级反馈队列调度算法,是在多级队列调度算法基础上加入队列间的反馈措施构成的,它允许进程在不同的就绪队列里移动。

·最早截止时间是指一个实时任务最晚什么时候必须开始的那个时刻。

·最晚截止时间是指一个实时任务最晚什么时候必须完成的那个时刻。

·所谓“硬实时任务”,是指对这种任务的处理必须满足它时限的要求,否则会给系统带来无法预测的结果或产生致命的错误。

·所谓“软实时任务”,是指这种任务的处理也与一个时限相关联,但这不是强制性的要求,即使超过了一点儿时限,调度和完成该任务仍然是有意义的。

·所谓“周期性任务”,是指该任务每过一定的时间间隔T就要做一次(做一次就称为该任务的一个“实例”)。也就是说,每隔T个CPU单位时间做一次。

·所谓“非周期性任务”,是指那些只有开始或结束的时限约束的任务。

·所谓“任务速率”,是该任务周期T(单位为秒)的倒数。

·最早截止时间优先算法,是指通过任务最早截止时间所确定的优先级来进行调度。

·速率单调调度算法,是基于任务的周期确定出任务的优先级,然后根据优先级进行调度。

·Linux的活动进程,是指上次没有使用完自己的时间片的那些进程。

·Linux的过期进程,是指上次使用完自己的时间片的那些进程。

2.试述高级、中级、低级三种调度的区别。

答:高级调度是从后备作业队列里选择一个或多个作业,为其分配必要的资源,并为之创建进程,做好运行前的准备,它主要解决有无资格参与CPU竞争的问题;低级调度是从进入内存的进程就绪队列里,选择一个进程真正占有CPU,为其运行实施进程间的切换,让它立即运行,它主要解决进程真正在CPU上运行的问题;中级调度是基于系统确定的某种策略,将内存中处于等待状态或就绪状态的某个或某些进程交换到辅存交换区,以便把交换区中具有运行条件的进程换入内存,以解决内存紧张和提高内存利用率的问题。

3.作业调度算法中,若所有作业同时到达,那么,B 调度算法能够使作业的平均周转时间为最小。

A. FCFS

B. SJF

C. SRTF

D. HRRN

4. CPU的利用率和使用率有什么不同?

答:CPU的利用率是指CPU为用户提供服务的时间与CPU总运行时间的比;CPU的使用率则是指CPU工作时间(为用户提供服务的时间与系统为提供服务所需的额外开销之和)与CPU总运行时间的比。CPU的利用率里不包含系统的额外开销。

5.有如图3-26所示的进程状态变迁图。试回答下列问题:

(1)给出一个进程发生变迁3、4、6的原因。

(2)能发生2→3、4→5、7→2、3→6这样的因果变迁吗?若会,请说明发生的条件。

(3)根据状态变迁图,说明该系统使用的CPU调度算法和调度效果。

图3-26 应用问答题4的状态变迁图

答:(1)一个运行进程等待某事件发生时,发生变迁3;采用抢占式优先级调度,有更高优先级进程变为就绪时,发生变迁4;进程所等待的I/O完成时,使进程变为高优先级就绪,发生变迁6。

(2)不会有2→3的因果变迁;当分配给进程的时间片用完时,会发生4→5的变迁;7→2变迁是会发生的,因为一个进程运行完毕,进程调度程序会先从高优先级就绪队列中选择一个进程运行;不会有3→6的因果变迁。

(3)系统采用的是抢占式优先级调度算法,使需要紧急处理的进程能够得到及时的响应和处理。

6. 有两个作业J1和J2。J1的执行顺序是:使用10s的CPU,使用5s的设备A,使用5s的CPU,使用10s的设备B,最后使用10s的CPU结束。J2的执行顺序是:使用10s的设备A,使用10s的CPU,使用5s的设备B,使用5s的CPU,最后使用10s的设备B结束。在顺序环境下首先执行作业J1,再执行作业J2。试问CPU的利用率是多少?

答:根据题意,作业J1的运行时间为10+5+5+10+10=40s,其中CPU的运行时间是10+5+10=25s。作业J2的运行时间为10+10+5+5+10=40s,其中CPU的运行时间是10+5=15s。因此,CPU的利用率为:(15+25)/(40+40)=50%。

7.设系统中有n(n >=3)个进程,且当前并不是在执行进程调度程序。试分析下面给出的各种情况是否有可能,为什么?

(1)没有运行进程,没有就绪进程,n个进程处于等待状态;

(2)没有运行进程,有一个就绪进程,n-1个进程处于等待状态;

(3)有一个运行进程,没有就绪进程,n-1个进程处于等待状态;

(4)有一个运行进程,一个就绪进程,n-2个进程处于等待状态;

(5)有一个运行进程,n-1个就绪进程,没有任何进程处于等待状态。

答:(1)有可能。当n个进程由于I/O请求、且都尚未完成而处于等待状态时,既没有运行进程,也没有就绪进程。

(2)不可能。只要CPU空闲,而且有一个就绪进程,那么一定会发生CPU调度,因此不可能存在有一个就绪进程而没有运行进程的情况。

(3)可能。当n-1个进程由于请求I/O、且I/O都未完成时,这n-1个进程就处于等待状态。此时没有就绪进程,只有一个进程在运行。

(4)可能。当n-2个进程由于请求I/O、且I/O都未完成时,这n-2个进程就处于等待状态。此时有一个运行进程,另一个肯定是处于就绪状态。

(5)可能。当一个进程处于运行状态时,其他n-1个进程可能会都处于就绪状态,在就绪队列里等待运行。

8. 某个进程被唤醒后又立即投入了运行,因此可以说该系统采用的是剥夺式调度策略。此结论对吗,为什么?

答:不对。若进程被唤醒前CPU恰处于空闲状态,那么某进程被唤醒后就会立即得到

运行,但这并不是剥夺式的调度策略。只有当一个进程被唤醒后,立即抢占当前运行进程的CPU,那么才可以说系统采取的是剥夺式调度策略。

9.一个单CPU系统共有n个进程。试给出:

(1)拥有运行进程的个数;(2)拥有就绪进程的个数;(3)拥有阻塞进程的个数。

答:(1)在这个系统里,最多可以有1个运行进程,也可以一个运行进程也没有。

(2)0<=就绪进程的个数<=n-1。

(3)0<=阻塞进程的个数<=n。

10. 有

它们进入后备作业队列的到达时间如上所示(注意,不是同时到达)。采用FCFS的作业调度算法。请计算每个作业的周转时间以及它们的平均周转时间。(忽略系统调度时间)答:按照FCFS的作业调度算法,调度顺序应该是:1、2、3、4、5。每个作业的完成

不难算出它们的平均周转时间是1.2。(这里,把时间都按十进制计算,即0.1代表6分钟)

11. 考虑同时到达系统的四个作业P1~P4,P1所需CPU时间为6;P2所需CPU时间为8;P3所需CPU时间为7;P4所需CPU时间为3。分别对它们采用FCFS和SJF调度算法,计算作业的平均等待时间。

答:对于SJF算法,进程P1的等待时间是3,进程P2的等待时间是16,进程P3的等待时间是9,进程P4的等待时间是0。因此,平均等待时间为(3+16+9+0)/4=7。如果采用FCFS调度算法,平均等待时间为10.25。

12.

对它们实施SRTF调度算法,试计算作业的平均等待时间。若实施SJF调度算法,平均等待时间又是多少?

答:开始时,作业后备队列里只有作业P1,因此它在时刻0开始运行。作业P2在时刻1到达。这时,作业P1的剩余时间(7)大于作业P2所需的时间(4),因此P2抢占P1的CPU开始运行。这时整个调度情况如下图所示。所以,平均等待时间是:

((10-1)+(1-1)+(17-2)+(5-3))/4=6.5

如果采用SJF调度算法,那么平均等待时间为7.75。

13.有

间以及它们的平均周转时间。(忽略系统调度时间)

答:初启时,后备作业队列里只有作业A,理所当然地调度它投入运行。它在时刻10时完成。重新调度时,作业B、C、D都已到达后备作业队列。根据HRRN,应该计算这一时刻这三个作业各自具有的响应比。比如对于作业B,它是在时间8.5到达后备作业队列,现在是时间10.0,它等待的时间为(10.0-8.5)=1.5。由于它所需的运行时间是0.5,因此该时刻它的响应比是 1.5/0.5=3。下表给出了这一时刻三个作业各自的已等待时间和响应比。这时作业3有最高的响应比,因此它是第2个调度的对象。

当前CPU时间=10.0

作业C在时刻10.1运行完毕,作业B和作业D是参与调度的对象。这时,它们的已等待时间和各自的响应比如下表所示。可以看出,这次选中的应该是作业B,因为它的响应比是3.2。

当前CPU时间=10.1

作业B在时刻10.6完成。最后调度运行的作业是作业D,它在时刻10.8完成。于是,这4个作业的完成时间和周转时间如下表所示。

这4个作业的平均周转时间=1.625。

14.

利用速率单调调度(RMS)算法对它们实施调度,画出任务的调度时序图。

答:本题除了实施的调度算法不同外,与例3-11完全一样。不同之处发生在时刻90。在例3-11里,由于B3和A4的最早截止时间都是时刻120,因此调度谁都可以。但实施速

率单调调度(RMS)算法时,只能调度A4运行,因为它的优先级高于B3,必须从B3那里抢占CPU。任务的调度时序,如图3-27所示。

图3-27 应用问答题13的答案

15.

利用最早截止时间优先(EDF)调度算法对它们实施调度,画出任务的调度时序图。

答:本题除了实施的调度算法不同外,与例3-12完全一样。对RMS算法,作用在这三个任务上时,有丢失任务实例的情形存在。但对EDF算法,一切都属正常,可以较好地完成任务的调度。整个任务的调度时序,如图3-28所示。

图3-28 应用问答题14的答案

习题4

1.术语解释

地址重定位绝对地址物理地址空间相对地址空间相对地址绝对定位静态重定位动态重定位

链接编辑静态链接动态链接固定分区存储管理内部碎片可变分区存储管理外部碎片紧凑

最先适应最佳适应覆盖对换

页帧和页页表相联存储器命中率

分段式存储管理段表

答案:

·对程序指令中的地址进行调整,使其反映程序所在存储区的正确位置,这就是所谓的“地址重定位”。

·内存单元的地址称为绝对地址或物理地址。

·从任何一个绝对地址开始的一段连续的内存空间,被称为“物理地址空间”,或“绝对地址空间”。

·程序通过链接编辑,产生出一个相对于“0”计算的地址空间,这个地址空间被称为是用户程序的“相对地址空间”,或“逻辑地址空间”。

·相对地址空间中的地址,被称为“相对地址”或“逻辑地址”。

·所谓“绝对定位”,即是在程序装入内存之前,程序指令中的地址就已经是绝对地址,已经正确地反映了它将要进入的存储区位置。

·在程序执行前完成指令地址的重定位,称为地址的“静态重定位”,或称为“静态地址绑定”。

·将地址定位的时间推迟到程序执行时再进行,则被称为地址的“动态重定位”。

·所谓“链接编辑”是指把单独翻译后的一个个目标程序代码,链接编辑产生出一个统一的目标程序代码的过程。

·所谓“静态链接”,是指整个链接编辑工作发生在程序运行之前,由链接编辑程序将一个个程序段的相对地址空间链接成为一个大的、统一的相对地址空间。

·所谓“动态链接”,是指把对程序段的链接编辑工作推迟到程序执行时进行,即在遇到外部引用时,才对所涉及的程序段进行链接编辑工作,将它纳入到统一的地址空间中。

·事先把内存划分成一个个固定尺寸的分区,把它们分配给用户程序使用,即为“固定分区存储管理”。

·在操作系统中,把分配给了用户、但未被使用的区域称为“内部碎片”。内部碎片的存在是对内存资源的一种浪费。

·所谓“可变分区存储管理”,是指在作业要求装入内存时,如果当时内存有足够的连续存储空间供使用,那么就依照作业相对地址空间的大小,划分出一个分区分配给它。

·把那些无法满足作业存储请求的空闲区称为“外部碎片”。

·在可变分区存储管理中,对空闲分区的合并,有时被称为“紧凑”。

·在需要存储分配时,总是把最先找到的、满足存储需求的那个空闲分区作为分配的对象。这种策略称为“最先适应”或称“首次适应”。

在需要存储分配时,总是从当前所有空闲区中找出一个能够满足存储需求的、最小的空闲分区作为分配的对象。这种策略称为“最佳适应”。

·所谓“覆盖”是早期为程序设计人员提供的一种扩充内存的技术,其中心思想是允许一个作业的若干个程序段使用同一个存储区,被共用的存储区称为“覆盖区”。各程序段存放在磁盘上,需要时由操作系统完成对它们的调入或调出。

·所谓“对换”,是指将作业信息都存放在辅助存储器上,根据单一分区存储管理的分配策略,每次只让其中的一个进入内存投入运行。当运行中提出输入/ 输出请求或分配给的时间片用完时,就把这个程序从内存“换出”到辅存,把辅存里的另一个作业“换入”内存运行,从而达到系统中同时有几个作业处在运行之中的目的。

·在分页式存储管理中,内存空间被事先划分成一个个大小相同的存储分区,称为“页帧”,简称“帧”。页帧是分页式存储管理对存储空间进行分配的单位。另一方面,系统在内部按照帧的尺寸对用户作业的相对地址空间进行划分,每个部分被称为一“页”。

·在分页式存储管理中,为作业建立的页、帧对应关系,称为该作业的“页表”。系统中的每一个作业,都有关于自己的页表。用户作业相对地址空间划分成多少页,其页表中就

含有多少个表项,表项按页号顺序排列。

·所谓“相联存储器”,是利用高速缓存组成的一个表,有时也称为“转换后备缓冲”或“快表”,用它配合内存中的页表,一起完成地址转换的工作。

·通过查相联存储器就能得到页号所对应页帧号的百分比,被称为“命中率”。

·所谓“分段式存储管理”,即是要求用户将自己的整个作业程序以多个相互独立的称为“段”的地址空间提交给系统,每个段都是一个从“0”开始的一维地址空间,长度不一。操作系统按照段长为作业分配内存空间。

·所谓“段表”,是实施分段式存储管理时,系统为每个用户程序设置一个记录各段在内存中存放信息的表。逻辑空间中有多少段,段表里就有多少个表项。每个表项通常包括的信息有段号、段长、该段的基址(即起始地址)等。

所谓“段页式存储管理”,是指将用户的作业地址空间按分段来管理,系统在内部将组成该空间的每一个段按内存页帧的尺寸划分成固定大小的页。这样,任何一个用户作业有一个段表,作业中的每一个段有一个页表。系统通过一个段表和若干个页表,实现对作业存储空间的管理和地址转换。

2.在固定分区存储管理中,每个分区的大小是C 。

A.相同的

B.可以不同,但作业长度固定

C.可以不同,但事先划分好

D.根据用户要求而定

3.在可变分区存储管理中,紧凑的目的是A 。

A.合并空闲区

B.合并已分配区

C.增加内存容量

D.便于地址转换

4.在下列存储管理方案中,不适用于多道程序设计环境的是A 。

A.单一分区管理

B.固定分区管理

C.可变分区管理

D.段页式管理

5.可变分区存储管理采用的地址转换公式是C 。

A.物理地址=界限寄存器值+相对地址

B.物理地址=下限寄存器值+相对地址

C.物理地址=基址寄存器值+相对地址

D.物理地址=帧号×页帧长+页内位移

6.最坏适应算法中,最好要求空闲分区按照D 顺序形成空闲分区链表。

A.地址递增

B.地址递减

C.尺寸递增

D.尺寸递减

7.在分段式存储管理中,是由用户实施分段的。因此B 。

A.段内和各段间的地址都是连续的

B.段内的地址是连续的,各段间的地址可以不连续

C.段内的地址可以不连续,但段间的地址是连续的

D.段内的地址和各段间的地址都是不连续的

8.采用B 的存储管理方式,不会产生内部碎片。

A.固定分区

B.分段式

C.分页式

D.段页式

9.在分页式存储管理中,若用字长为32位的8个字组成位图管理内存。现在用户归还一个页帧号为100的帧。那么它对应位图的位置是C 。

A. 字号3,位号5

B.字号4,位号4

C.字号3,位号4

D. 字号4,位号5

(100/32的商为3,余数为4)

10.在各种内存的基本管理模式中,D 模式的存储利用率最高,且最容易实现对存储的共享和保护。

A.分区管理

B.分段管理

C.分页管理

D.段页式管理

11.一个分段式存储管理系统,地址用24位表示,其中8位表示段号。那么每段的最大长度应该是B 。

A.224

B.216

C.28

D.232

12.在分页式存储管理系统中,逻辑地址长为16个二进制位,页面尺寸为4KB。某作业的页和页帧的对应关系是:0→5、1→10、2→11。现有一个逻辑地址的十六进制表示为2F6A,试问其物理地址为多少(用十六进制表示)?

答:逻辑地址中高4位为页号,低12位为页内位移。逻辑地址2F6A=0010111101101010。由此可知该地址在第2页里,第2页在第11页帧,用十六进制表示为页帧号为B。所以对应的物理地址为BF6A。

13.一个作业有4页,每页尺寸为1KB。该作业的页和页帧对应关系为:0→3、1→5、2→6、3→2。给出下面的逻辑地址,请将它们转换成对应的物理地址。

(1)(0,100);(2)(1,179);(3)(2,785);(4)(3,1010)

答:(1)3072+100=3172;(2)5120+179=5299;(3)6144+785=6929;

(4)2048+1010=3058

14.假定访问相联存储器的时间为20ns,访问内存的时间是100ns。若相联存储器的命中率为80%。试问现在进行一次内存存取的平均时间是多少?比只采用页表下降了多少?那么分页存储管理访问内存比直接访问内存慢了多少?如果相联存储器的命中率为98%,同样回答这些问题。

答:通过相联存储器进行内存存取的时间是100 + 20 = 120ns;通过页表进行内存存取的时间是20+100 + 100 = 220ns(先访问相联存储器失败,再两次访问内存)。由于相联存储器的命中率为80%,因此现在进行一次内存存取的平均时间是:

120× 80% + 220× 20% = 140ns

只用页表进行内存存取,每次需要200ns。因此,采用AM比只采用页表少花200 ? 140= 60ns。60ns在200ns中所占的比率为:(60/200) × 100% =30%,即下降了30%。现在访问内存的速度是140ns,以前是100ns,因此现在比以前要慢40%。

如果相联存储器的命中率该为98%,那么现在进行一次内存存取的平均时间是:

120× 98% + 220× 2% = 122ns

只用页表进行内存存取,每次需要200ns。因此,采用AM比只采用页表少花200 ? 122= 78ns。78ns在200ns中所占的比率为:(78/200) × 100% =39%,即下降了39%。现在访问内存的速度是122ns,以前是100ns,因此现在比以前要慢22%。

15.当前内存中的空闲分区如图4-31所示,最后一次是将一个22KB的空闲区分配出去14KB,留下8KB的空闲区。现在有一个需要16KB的存储请求。分别使用最先适应算法、最佳适应算法和下次适应算法进行这次存储分配,各会对哪个空闲区进行分配?

图4-31 应用问答题14的空闲分区图

答:最先适应算法应该对22KB的空闲分区进行分配,分配后该分区还剩余6KB形成一个新的空闲分区;最佳适应算法应该对18KB的空闲分区进行分配,分配后该分区还剩余2KB形成一个新的空闲分区;下次适应算法应该对36KB的空闲分区进行分配,分配后该分区还剩余20KB形成一个新的空闲分区。

16.如图4-32所示为某个时刻内存的分配情况,深色处为已分配区,白色处为空闲区。接下来有三个内存请求:40KB、20KB、10KB。对它们分别实行(1)最先适应算法、(2)最佳适应算法、(3)下次适应算法(假定最近分配的存储区位于内存开始处)、(4)最坏适应算法。请指出三个请求分配存储区的起始地址。

图4-32 应用问答题15的空闲分区图

答:(1)最先适应算法:40KB的起始地址为80KB;20KB的起始地址为20KB;10KB 的起始地址为120KB。

(2)最佳适应算法:40KB的起始地址为230KB;20KB的起始地址为20KB;10KB的起始地址为160KB。

(3)下次适应算法:40KB的起始地址为80KB;20KB的起始地址为120KB;10KB的起始地址为160KB。

(4)最坏适应算法:40KB的起始地址为80KB;20KB的起始地址为230KB;10KB的起始地址为360KB。

17.利用伙伴系统分配一个1MB的内存区域,存储请求和释放的序列为:请求A(70KB)、请求B(35KB)、请求C(80KB)、释放A、请求D(60KB)、释放B、释放D、释放C。画出类似于图4-19的图。

答:结果如下图所示。

18.某系统采用分页式存储管理策略,用户地址空间最多可以有32页,每页2KB。内存尺寸为1MB。试回答:

(1)画出逻辑地址的结构格式;

(2)作业页表最多有多少表项?每项至少要有多少位?

答:(1)由于相对地址空间最多32页,每页2KB,故相对地址中应该用5个二进制位表示页号,用11个二进制位表示页内位移。因此逻辑地址的结构格式如下:

(2)作业页表最多有32个表项,每项所占用的位数应该由内存的页帧数决定(页表表项里至少要有帧号)。现在内存为1MB,即可以划分成512个2KB的帧,它需要用9个二进制位表示。

19.某程序在逻辑地址100处有指令:“LOAD 1,500”,意为将地址500处的数据51678取出送入1#寄存器。现将5000单元开始的内存分区分配给该程序使用。试用图示表明采用下列各种方式时,该指令进入内存的情形以及地址的变换过程。

(1)实行静态重定位;(2)实行动态重定位;(3)实行分页式存储管理,页帧尺寸为100单元,其各页映射到50、51、52、…、59页帧上。

答:(1)静态重定位是在该程序装入内存时,由装入程序完成对程序中指令地址的重定位,因此程序进到物理空间后,指令地址都已经被修改,已适应所在的内存位置。具体如图(a)所示。

(2)动态重定位是将程序原封不动地装入到分配给它的物理空间,只有执行到某条指令时,才对它里面的地址进行重定位,方法是将定位寄存器中的物理空间基址加上相对地址即可。具体如图(b)所示。

(3)分页式存储管理是将用户空间划分成为页,把这些页原封不动地装入到分配给它们的页帧中。程序执行时,借助页表实现对指令地址的动态重定位。具体如图(c)所示。

20.一个分页式存储管理中,假定页面尺寸为100B,逻辑地址长为12个二进制位。请把下面给出的相对地址转换成数对:(页号,页内位移),并用二进制数表示出来。

(1)263 (2)264 (3)265 (4)901 (5)902

答:(1)(2,63)=(0010,01111111);(2)(2,64)=(0010,10000000)

(3)(2,65=(0010,10000001));(4)(9,01)=(1001,00000001)

(5)(9,02)=(1001,00000010)

21.有段表如下所示。已知逻辑地址:(1)[0,430];(2)[3,400];(3)[1,10];(4)[2,2500];(5)[4,42];(6)[1,11]。求它们所对应的物理地址。

段号段长段基址

0 600 219

1 14 2300

2 100 90

3 580 1327

4 96 1954

答:(1)物理地址为:219+430=649;(2)物理地址为:1327+400=1727;

(3)物理地址为:2300+10=2310;(4)第2段的段长为100,现在逻辑地址中的段内位移2500超出段长,发生越界错;(5)物理地址为:1954+42=1996;(6)物理地址为:2300+11=2311。

22.对所给十进制的逻辑地址,分别使用4KB页面和8KB页面尺寸,计算它们所对应的数对:(页号,页内位移)。

(1)20000;(2)32768;(3)60000。

答:对于4KB,有(1)(4,3616);(2)(8,0);(3)(14,2656)。对于8KB,有(1)(2,3616);(2)(4,0);(3)(7,2656)。

习题5

1.术语解释

程序执行局部性原理虚拟存储器虚拟地址空间虚拟地址

读取策略放置策略替换策略页面失效

页面走向缺页中断率抖动OPT

LRU LFU FIFO Belady异常

工作集工作集模型工作集窗口“段失效”位

直接地址间接地址间接字链接中断位

答案:

·程序执行的“局部性”原理,是指任何一个程序在执行的某一时刻,并不是均匀地访问它的地址空间,而往往是集中于某一小部分区域。

·所谓“虚拟存储器”,是一种扩大内存容量的软件设计技术,它把辅助存储器作为计算机实际内存储器的后援,操作系统把当前需要使用的那部分程序、数据等内容读入内存,其他部分保存在磁盘上,必要时由操作系统实施内存和磁盘之间的信息交换。

·在虚拟存储意义下,系统向每一个用户提供一个虚拟存储器,用户作业的相对地址空间,就是系统提供给他的虚拟存储器。为了强调和区分起见,这时用户作业的相对地址空间,称为“虚拟地址空间”。

·虚拟地址空间里面的相对地址称为“虚拟地址”。

·读取策略是指在程序运行过程中,何时把所需要的块调入内存的策略。通常有两种方式:请求式和预约式。

·放置策略是指当要把所需的页面信息从辅存调入内存时,决定把所需要的页面存放到内存的哪个空闲页帧里去。有两种放置策略:固定的和可变的。

·替换策略是指在需要放置时,如果内存里没有空闲的区域,那么就必须先要把当前暂时不用的信息从内存替换出去,以便腾出位置进行放置。有两种替换策略:局部的和全局的。

·页面失效是指如果所要访问的页面不在内存,那么就没有具体的页帧与之对应,运行无法继续下去的情况。页面失效也称为“缺页”。此时,操作系统必须根据所缺页的页号,把它从辅存调入内存,修改页表后,程序才能在原先失效处继续运行。

·页面走向是指一个作业程序在执行过程中页号的变化序列。

·假定一个作业运行的页面走向中涉及到的页面总数为A,其中有F次页面失效,需要通过缺页中断把它们调入内存。则f = F/A称为“缺页中断率”。

·重复频繁发生页面替换的调出、调入现象,称为“抖动”。

·最佳页面替换策略是指:在出现页面失效、且需要进行页面替换时,总是把下次访问距离当前最远的那个页面作为调出的的对象。

·最近最少使用页面替换策略是指:最近被访问过的页面,很可能不久又会被访问,因此尽量不把这种最近访问过的页面作为替换的对象,而是选择最长时间没有被使用的页面作为替换的对象。

·最小使用频率页面替换策略是指:如果一页过去没有经常使用,那么将来被用到的可能性就小,因此在需要页面替换时,就将其作为替换的对象。在可能有不止一个页面满足被替换的条件时,就在满足条件的那些页面里随便选一个加以替换。

·先进先出页面替换策略是指:总把在内存页帧中停留最久时间的页面,作为替换时的对象。

·有时增加分配给作业可用的页帧数,其页面失效次数反而会上升,策略性能下降。操作系统称其为“Belady异常”现象。

操作系统教程_孙钟秀(第四版)课后习题答案

首页入门学 习 程序 员 计算机考 研 计算机电子书 下载 硬件知 识 网络知 识 专业课程答案 下载 视频教程下载 第一章 作者:佚名来源:网络 1、有一台计算机,具有IMB 内存,操作系统占用200KB ,每个用户进程各占200KB 。如果用户进程等待I/O 的时间为80 % ,若增加1MB 内存,则CPU 的利用率提高多少? 答:设每个进程等待I/O 的百分比为P ,则n 个进程同时等待刀O 的概率是Pn ,当n 个进程同时等待I/O 期间CPU 是空闲的,故CPU 的利用率为1-Pn。由题意可知,除去操作系统,内存还能容纳4 个用户进程,由于每个用户进程等待I/O的时间为80 % , 故: CPU利用率=l-(80%)4 = 0.59 若再增加1MB 内存,系统中可同时运行9 个用户进程,此时:cPu 利用率=l-(1-80%)9 = 0.87 故增加IMB 内存使CPU 的利用率提高了47 % : 87 %/59 %=147 % 147 %-100 % = 47 % 2 一个计算机系统,有一台输入机和一台打印机,现有两道程序投入运行,且程序A 先开始做,程序B 后开始运行。程序A 的运行轨迹为:计算50ms 、打印100ms 、再计算50ms 、打印100ms ,结束。程序B 的运行轨迹为:计算50ms 、输入80ms 、再计算100ms ,结束。试说明(1 )两道程序运行时,CPU有无空闲等待?若有,在哪段时间内等待?为什么会等待?( 2 )程序A 、B 有无等待CPU 的情况?若有,指出发生等待的时刻。 答:画出两道程序并发执行图如下: (1)两道程序运行期间,CPU存在空闲等待,时间为100 至150ms 之间(见图

现代操作系统(第三版)答案

MODERN OPERATING SYSTEMS SECOND EDITION PROBLEM SOLUTIONS ANDREW S.TANENBAUM Vrije Universiteit Amsterdam,The Netherlands PRENTICE HALL UPPER SADDLE RIVER,NJ 07458课后答案网 w w w .k h d a w .c o m

SOLUTIONS TO CHAPTER 1PROBLEMS 1.An operating system must provide the users with an extended (i.e.,virtual)machine,and it must manage the I/O devices and other system resources. 2.Multiprogramming is the rapid switching of the CPU between multiple processes in memory.It is commonly used to keep the CPU busy while one or more processes are doing I/O. 3.Input spooling is the technique of reading in jobs,for example,from cards,onto the disk,so that when the currently executing processes are ?nished,there will be work waiting for the CPU.Output spooling consists of ?rst copying printable ?les to disk before printing them,rather than printing directly as the output is generated.Input spooling on a personal computer is not very likely,but output spooling is. 4.The prime reason for multiprogramming is to give the CPU something to do while waiting for I/O to complete.If there is no DMA,the CPU is fully occu-pied doing I/O,so there is nothing to be gained (at least in terms of CPU utili-zation)by multiprogramming.No matter how much I/O a program does,the CPU will be 100percent busy.This of course assumes the major delay is the wait while data are copied.A CPU could do other work if the I/O were slow for other reasons (arriving on a serial line,for instance). 5.Second generation computers did not have the necessary hardware to protect the operating system from malicious user programs. 6.It is still alive.For example,Intel makes Pentium I,II,and III,and 4CPUs with a variety of different properties including speed and power consumption.All of these machines are architecturally compatible.They differ only in price and performance,which is the essence of the family idea. 7.A 25×80character monochrome text screen requires a 2000-byte buffer.The 1024×768pixel 24-bit color bitmap requires 2,359,296bytes.In 1980these two options would have cost $10and $11,520,respectively.For current prices,check on how much RAM currently costs,probably less than $1/MB. 8.Choices (a),(c),and (d)should be restricted to kernel mode. 9.Personal computer systems are always interactive,often with only a single user.Mainframe systems nearly always emphasize batch or timesharing with many users.Protection is much more of an issue on mainframe systems,as is ef?cient use of all resources. 10.Every nanosecond one instruction emerges from the pipeline.This means the machine is executing 1billion instructions per second.It does not matter at all how many stages the pipeline has.A 10-stage pipeline with 1nsec per 课后答案网 w w w .k h d a w .c o m

操作系统习题答案

内存1通常情况下,在下列存储管理方式中,()支持多道程序设计、管理最简单,但存储碎片多;()使内存碎片尽可能少,而且使内存利用率最高。 Ⅰ.段式;Ⅱ.页式;Ⅲ.段页式;Ⅳ.固定分区;Ⅴ.可变分区 正确答案:Ⅳ;Ⅰ 2为使虚存系统有效地发挥其预期的作用,所运行的程序应具有的特性是()。正确答案:该程序应具有较好的局部性(Locality) 3提高内存利用率主要是通过内存分配功能实现的,内存分配的基本任务是为每道程序()。使每道程序能在不受干扰的环境下运行,主要是通过()功能实现的。Ⅰ.分配内存;Ⅱ.内存保护;Ⅲ.地址映射;Ⅳ.对换;Ⅴ.内存扩充;Ⅵ.逻辑地址到物理地址的变换;Ⅶ.内存到外存间交换;Ⅷ.允许用户程序的地址空间大于内存空间。 正确答案:Ⅰ;Ⅱ 4适合多道程序运行的存储管理中,存储保护是 正确答案:为了防止各道作业相互干扰 5下面哪种内存管理方法有利于程序的动态链接()? 正确答案:分段存储管理 6在请求分页系统的页表增加了若干项,其中状态位供()参考。 正确答案:程序访问 7从下面关于请求分段存储管理的叙述中,选出一条正确的叙述()。 正确答案:分段的尺寸受内存空间的限制,但作业总的尺寸不受内存空间的限制

8虚拟存储器的特征是基于()。 正确答案:局部性原理 9实现虚拟存储器最关键的技术是()。 正确答案:请求调页(段) 10“抖动”现象的发生是由()引起的。 正确答案:置换算法选择不当 11 在请求分页系统的页表增加了若干项,其中修改位供()参考。 正确答案:换出页面 12 虚拟存储器是正确答案:程序访问比内存更大的地址空间 13测得某个请求调页的计算机系统部分状态数据为:CPU利用率20%,用于对换空间的硬盘的利用率97.7%,其他设备的利用率5%。由此断定系统出现异常。此种情况下()能提高CPU的利用率。 正确答案:减少运行的进程数 14在请求调页系统中,若逻辑地址中的页号超过页表控制寄存器中的页表长度,则会引起()。 正确答案:越界中断 15 测得某个请求调页的计算机系统部分状态数据为:CPU利用率20%,用于对换空间的硬盘的利用率97.7%,其他设备的利用率5%。由此断定系统出现异常。此种情况下()能提高CPU的利用率。 正确答案:加内存条,增加物理空间容量 16 对外存对换区的管理应以()为主要目标,对外存文件区的管理应以()

操作系统第四版-课后习题答案

操作系统第四版-课后习题答案

第一章 作者:佚名来源:网络 1、有一台计算机,具有IMB 内存,操作系统占用200KB ,每个用户进程各占200KB 。如果用户进程等待I/O 的时间为80 % ,若增加1MB 内存,则CPU 的利用率提高多少? 答:设每个进程等待I/O 的百分比为P ,则n 个进程同时等待刀O 的概率是Pn ,当n 个进程同时等待I/O 期间CPU 是空闲的,故CPU 的利用率为1-Pn。由题意可知,除去操作系统,内存还能容纳4 个用户进程,由于每个用户进程等待I/O的时间为80 % , 故: CPU利用率=l-(80%)4 = 0.59 若再增加1MB 内存,系统中可同时运行9 个用户进程,此时:cPu 利用率=l-(1-80%)9 = 0.87 故增加IMB 内存使CPU 的利用率提高了47 % : 87 %/59 %=147 % 147 %-100 % = 47 % 2 一个计算机系统,有一台输入机和一台打印机,现有两道程序投入运行,且程序A 先开始做,程序B 后开始运行。程序A 的运行轨迹为:计算50ms 、打印100ms 、再计算50ms 、打印100ms ,结束。程序B 的运行轨迹为:计算50ms 、输入80ms 、再计算100ms ,结束。试说明(1 )两道程序运行时,CPU有无空闲等待?若有,在哪段时间内等待?为什么会等待?( 2 )程序A 、B 有无等待CPU 的情况?若有,指出发生等待的时刻。 答:画出两道程序并发执行图如下: (1)两道程序运行期间,CPU存在空闲等待,时间为100 至150ms 之间(见图中有色部分) (2)程序A 无等待现象,但程序B 有等待。程序B 有等待时间段为180rns 至200ms 间(见图中有色部分) 3 设有三道程序,按A 、B 、C优先次序运行,其内部计算和UO操作时间由图给出。

操作系统教程习题答案

《操作系统教程》习题答案

习题1 1.单项选择题 (1)大中小型计算机是以为中心的计算机系统。 A、CPU B、存储器 C、系统总线 D、通道 (2)以下关于操作系统的说法正确的是。 A、批处理系统是实现人机交互的系统 B、批处理系统具有批处理功能,但不具有交互能力 C、分时系统是实现自动控制,无须人为干预的系统 D、分时系统即具有分时交互能力,又具有批处理能力 (3)操作系统的职能是管理软硬件资源、合理地组织计算机工作流程和。 A、为用户提供良好的工作环境和接口 B、对用户的命令作出快速响应 C、作为服务机构向其它站点提供优质服务 D、防止有人以非法手段进入系统 (4)设计实时操作系统时,首先应考虑系统的。 A、可靠性和灵活性 B、实时性和可靠性 C、优良性和分配性 D、灵活性和分配性 (5)多道程序设计是指。 A、在分布式系统中同一时刻运行多个程序 B、在一台处理器上并行运行多个程序 C、在实时系统中并发运行多个程序 D、在一台处理器上并发运行多个程序 (6)以下关于并发性和并行性的说法正确的是。 A、并发性是指两个及多个事件在同一时刻发生 B、并发性是指两个及多个事件在同一时间间隔内发生 C、并行性是指两个及多个事件在同一时间间隔内发生 D、并发性是指进程,并行性是指程序 (1)B (2)B (3)A (4)B (5)D (6)B 2.填空题 (1)微机是以总线为纽带构成的计算机系统。 (2)在批处理兼分时系统中,往往把由分时系统控制的作业称为前台作业,把由批处理系统控制的作业称为后台作业。 (3)在分时系统中,若时间片长度一定,则用户数越多,系统响应时间越慢。 (4)分布式操作系统能使系统中若干台计算机协同完成一个共同的任务,分解问题成为子计算并使之在系统中各台计算机上并行执行,以充分利用各计算机的优势。 (5)用户通过网络操作系统可以网络通信、资源共享,从而大大扩展了计算机的应用范围。 3.简答题 (1)什么是操作系统?现代操作系统的基本特征是什么?并发性 (2)什么是批处理系统,衡量批处理系统好坏的主要指标是什么?及时性 (3)试述分时系统的原理及其特性。时间片原则交互性同时性独立性及时性

《现代操作系统第四版》第三章答案

第三章内存管理习题 1.IBM360有一个设计,为了对2KB大小的块进行加锁,会对每个块分配一个4bit的密钥,这个密钥存在PSW(程序状态字)中,每次内存引用时,CPU都会进行密钥比较。但该设计有诸多缺陷,除了描述中所言,请另外提出至少两条缺点。 A:密钥只有四位,故内存只能同时容纳最多十六个进程;需要用特殊硬件进行比较,同时保证操作迅速。 2.在图3-3中基址和界限寄存器含有相同的值16384,这是巧合,还是它们总是相等?如果这只是巧合,为什么在这个例子里它们是相等的? A:巧合。基地址寄存器的值是进程在内存上加载的地址;界限寄存器指示存储区的长度。 3.交换系统通过紧缩来消除空闲区。假设有很多空闲区和数据段随机分布,并且读或写32位长的字需要10ns的时间,紧缩128MB大概需要多长时间?为了简单起见,假设空闲区中含有字0,内存中最高地址处含有有效数据。 A:32bit=4Byte===>每字节10/4=2.5ns 128MB=1282^20=2^27Byte 对每个字节既要读又要写,22.5*2^27=671ms 4.在一个交换系统中,按内存地址排列的空闲区大小是10MB,4MB,20MB,18MB,7MB,9MB,12MB,和15MB。对于连续的段请求: (a) 12MB (b) 10MB (c) 9MB

使用首次适配算法,将找出哪个空闲区?使用最佳适配、最差适配、下次适配算法呢? A:首次适配算法:20MB,10MB,18MB;最佳适配算法:12MB,10MB,9MB;最差适配算法:20MB;18MB;15MB;下次适配算法:20MB;18MB;9MB; 5.物理地址和虚拟地址有什么区别? A:实际内存使用物理地址。这些是存储器芯片在总线上反应的数字。虚拟地址是指一个进程的地址空间的逻辑地址。因此,具有32位字的机器可以生成高达4GB的虚拟地址,而不管机器的内存是否多于或少于4GB。 6.对下面的每个十进制虚拟地址,分別使用4KB页面和8KB页面计算虚拟页号和偏移量:20000,32768,60000。 A:转换为二进制分别为:0100111000100000 虚拟地址应该是16位1000000000000000 1110101001100000 4KB页面偏移量范围0~4027,需要12位来存储偏移量,剩下4位作为页号;同理8KB页面需要13位来存储偏移量,剩下3位作为页号;所以,4KB | 8KB 页号| 偏移量| 页号| 偏移量20000 | 0100 111000100000 | 010 0111000100000 32768 | 1000 000000000000 | 100 0000000000000 60000 | 1110 101001100000 | 111 0101001100000 7. 使用图3-9的页表,给出下面每个虚拟地址对应的物理地址:

操作系统课后习题答案

第一章 1.设计现代OS的主要目标是什么? 答:(1)有效性(2)方便性(3)可扩充性(4)开放性 4.试说明推劢多道批处理系统形成和収展的主要劢力是什么? 答:主要动力来源于四个方面的社会需求与技术发展: (1)不断提高计算机资源的利用率; (2)方便用户; (3)器件的不断更新换代; (4)计算机体系结构的不断发展。 12.试从交互性、及时性以及可靠性方面,将分时系统不实时系统迚行比较。答:(1)及时性:实时信息处理系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定;而实时控制系统的及时性,是以控制对象所要求的开始截止时间或完成截止时间来确定的,一般为秒级到毫秒级,甚至有的要低于100微妙。 (2)交互性:实时信息处理系统具有交互性,但人与系统的交互仅限于访问系统中某些特定的专用服务程序。不像分时系统那样能向终端用户提供数据和资源共享等服务。 (3)可靠性:分时系统也要求系统可靠,但相比之下,实时系统则要求系统具有高度的可靠性。因为任何差错都可能带来巨大的经济损失,甚至是灾难性后果,所以在实时系统中,往往都采取了多级容错措施保障系统的安全性及数据的安全性。 13.OS有哪几大特征?其最基本的特征是什么? 答:并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。 第二章 2. 画出下面四条诧句的前趋图: S1=a:=x+y; S2=b:=z+1; S3=c:=a –b;S4=w:=c+1; 8.试说明迚程在三个基本状态之间转换的典型原因。 答:(1)就绪状态→执行状态:进程分配到CPU资源 (2)执行状态→就绪状态:时间片用完 (3)执行状态→阻塞状态:I/O请求 (4)阻塞状态→就绪状态:I/O完成

《现代操作系统第四版》 第六章 答案

第四章文件系统习题 Q1: 给出文件/etc/passwd的五种不同的路径名。(提示:考虑目录项”.”和”…”。) A: /etc/passwd /./etc/passwd /././etc/passwd /./././etc/passwd /etc/…/etc/passwd /etc/…/etc/…/etc/passwd /etc/…/etc/…/etc/…/etc/passwd /etc/…/etc/…/etc/…/etc/…/etc/passwd Q2:在Windows中,当用户双击资源管理器中列出的一个文件时,就会运行一个程序,并以这个文件作为参数。操作系统要知道运行的是哪个程序,请给出两种不同的方法。 A:Windows使用文件扩展名。每种文件扩展名对应一种文件类型和某些能处理这种类型的程序。另一种方式时记住哪个程序创建了该文件,并运行那个程序。Macintosh以这种方式工作。

Q3:在早期的UNIX系统中,可执行文件(a.out)以一个非常特別的魔数开始,这个数不是随机选择的。这些文件都有文件头,后面是正文段和数据段。为什么要为可执行文件挑选一个非常特别的魔数,而其他类型文件的第一个字反而有一个或多或少是随机选择的魔数? A:这些系统直接把程序载入内存,并且从word0(魔数)开始执行。为了避免将header作为代码执行,魔数是一条branch指令,其目标地址正好在header之上。按这种方法,就可能把二进制文件直接读取到新的进程地址空间,并且从0 开始运行。 Q4: 在UNIX中open系统调用绝对需要吗?如果没有会产生什么结果? A: open调用的目的是:把文件属性和磁盘地址表装入内存,便与后续调用的快速访问。 首先,如果没有open系统调用,每次读取文件都需要指定要打开的文件的名称。系统将必须获取其i节点,虽然可以缓存它,但面临一个问题是何时将i节点写回磁盘。可以在超时后写回磁盘,虽然这有点笨拙,但它可能起作用。 Q5:在支持顺序文件的系统中总有一个文件回绕操作,支持随机存取

(完整版)操作系统课后题答案

2.OS的作用可表现在哪几个方面? 答:(1)OS作为用户与计算机硬件系统之间的接口;(2)OS作为计算机系统资源的管理者; (3)OS实现了对计算机资源的抽象。 5.何谓脱机I/O和联机I/O? 答:脱机I/O 是指事先将装有用户程序和数据的纸带或卡片装入纸带输入机或卡片机,在外围机的控制下,把纸带或卡片上的数据或程序输入到磁带上。该方式下的输入输出由外围机控制完成,是在脱离主机的情况下进行的。而联机I/O方式是指程序和数据的输入输出都是在主机的直接控制下进行的。 11.OS有哪几大特征?其最基本的特征是什么? 答:并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。 20.试描述什么是微内核OS。 答:(1)足够小的内核;(2)基于客户/服务器模式;(3)应用机制与策略分离原理;(4)采用面向对象技术。 25.何谓微内核技术?在微内核中通常提供了哪些功能? 答:把操作系统中更多的成分和功能放到更高的层次(即用户模式)中去运行,而留下一个尽量小的内核,用它来完成操作系统最基本的核心功能,称这种技术为微内核技术。在微内核中通常提供了进程(线程)管理、低级存储器管理、中断和陷入处理等功能。 第二章进程管理 2. 画出下面四条语句的前趋图: S1=a:=x+y; S2=b:=z+1; S3=c:=a – b;S4=w:=c+1; 答:其前趋图为: 7.试说明PCB 的作用,为什么说PCB 是进程存在的惟一标志? 答:PCB 是进程实体的一部分,是操作系统中最重要的记录型数据结构。作用是使一个在多道程序环境下不能独立运行的程序,成为一个能独立运行的基本单位,成为能与其它进程并发执行的进程。OS是根据PCB对并发执行的进程进行控制和管理的。 11.试说明进程在三个基本状态之间转换的典型原因。 答:(1)就绪状态→执行状态:进程分配到CPU资源;(2)执行状态→就绪状态:时间片用完;(3)执行状态→阻塞状态:I/O请求;(4)阻塞状态→就绪状态:I/O完成. 19.为什么要在OS 中引入线程?

操作系统教程第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) (见图中有色部分)。 (2)程序A无等待现象,但程序B有等待。程序B有等待时间段为180ms至200ms间(见 图中有色部分)。 5、答:画出三个作业并行工作图如下(图中着色部分为作业等待时间):

操作系统课后习题答案

1.什么是操作系统?其主要功能是什么? 操作系统是控制和管理计算机系统内各种硬件和软件资源,有效组织多道程序运行的系统软件(或程序集合),是用户和计算机直接的程序接口. 2.在某个计算机系统中,有一台输入机和一台打印机,现有两道程序投入运行,程序A、B 同时运行,A略早于B。A的运行轨迹为:计算50ms、打印100ms、再计算50ms、打印100ms,结束。B的运行轨迹为:计算50ms、输入80ms、再计算100ms,结束。试说明:(1)两道程序运行时,CPU是否空闲等待?若是,在那段时间段等待? (2)程序A、B是否有等待CPU的情况?若有,指出发生等待的时刻。 0 50 100 150 200 250 300 50 100 50 100 50 100 20 100 (1) cpu有空闲等待,在100ms~150ms的时候. (2) 程序A没有等待cpu,程序B发生等待的时间是180ms~200ms. 1.设公共汽车上,司机和售票员的活动如下: 司机的活动:启动车辆;正常行车;到站停车。 售票员的活动:关车门;售票;开车门。 在汽车不断的到站、停车、行驶过程中,用信号量和P、V操作实现这两个活动的同步关系。 semaphore s1,s2; s1=0;s2=0; cobegin 司机();售票员(); coend process 司机() { while(true) { P(s1) ; 启动车辆; 正常行车; 到站停车; V(s2); } } process 售票员() { while(true) { 关车门; V(s1);

售票; P(s2); 开车门; 上下乘客; } } 2.设有三个进程P、Q、R共享一个缓冲区,该缓冲区一次只能存放一个数据,P进程负责循环地从磁带机读入数据并放入缓冲区,Q进程负责循环地从缓冲区取出P进程放入的数据进行加工处理,并把结果放入缓冲区,R进程负责循环地从缓冲区读出Q进程放入的数据并在打印机上打印。请用信号量和P、V操作,写出能够正确执行的程序。 semaphore sp,sq,sr; int buf;sp=1;sq=0;sr=0; cobegin process P() { while(true) { 从磁带读入数据; P(sp); Buf=data; V(sq); } } process Q() { while(true) { P(sq); data=buf; 加工data; buf=data; V(sr); } } process R() { while(true) { P(sr); data=buf; V(sp); 打印数据; } }

操作系统教程第版课后答案

操作系统教程第5版课后答案 费祥林、骆斌编着 第一章操作系统概论 习题一 一、思考题 1.简述现代计算机系统的组成及层次结构。 答:现代计算机系统由硬件和软件两个部分组成。是硬件和软件相互交织形成的集合体,构成一个解决计算问题的工具。硬件层提供基本可计算的资源,包括处理器、寄存器、内存、外存及I/O设备。软件层由包括系统软件、支撑软件和应用软件。其中系统软件是最靠近硬件的。 2、计算机系统的资源可分成哪几类?试举例说明。 答:包括两大类,硬件资源和信息资源。硬件资源分为处理器、I/O设备、存储器等;信息资源分为程序和数据等。 3.什么是操作系统?操作系统在计算机系统中的主要作用是什么? 答:操作系统是一组控制和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合。 操作系统在计算机系统中主要起4个方面的作用。 (1)服务用户观点——操作系统提供用户接口和公共服务程序 (2)进程交互观点——操作系统是进程执行的控制者和协调者 (3)系统实现观点——操作系统作为扩展机或虚拟机 (4)资源管理观点——操作系统作为资源的管理者和控制者 4.操作系统如何实现计算与操作过程的自动化? 答:大致可以把操作系统分为以下几类:批处理操作系统、分时操作系统、实时操作系统、网络操作系统和分布式操作系统。其中批处理操作系统能按照用户预先规定好的步骤控制作业的执行,实现计算机操作的自动化。又可分为批处理单道系统和批处理多道系统。单道系统每次只有一个作业装入计算机系统的主存储器运行,多个作业可自动、顺序地被装入运行。批处理多道系统则允许多个作业同时装入主存储器,中央处理器轮流地执行各个作业,各个作业可以同时使用各自所需的外围设备,这样可以充分利用计算机系统的资源,缩短作业时间,提高系统的吞吐率 5.操作系统要为用户提供哪些基本的和共性的服务? 答:(1)创建程序和执行程序;(2)数据I/O和信息存取;(3)通信服务;(4)差错检测和处理。为了保证高效率、高质量的工作,使得多个应用程序能够有效的共享系统资源,提高系统效率,操作系统还具备一些其他的功能:资源分配,统计,保护等。 6.试述操作系统所提供的各种用户接口。 答:操作系统通过程序接口和操作接口将其服务和功能提供给用户。程序接口由一组系统调用组成,在应用程序中使用“系统调用”可获得操作系统的低层服务,访问或使用系统管理的各种软硬件资源,是操作系统对外提供服务和功能

操作系统课后题答案

2.1 一类操作系统服务提供对用户很有用的函数,主要包括用户界面、程序执行、I/O操作、文件系统操作、通信、错误检测等。 另一类操作系统函数不是帮助用户而是确保系统本身高效运行,包括资源分配、统计、保护和安全等。 这两类服务的区别在于服务的对象不同,一类是针对用户,另一类是针对系统本身。 2.6 优点:采用同样的系统调用界面,可以使用户的程序代码用相同的方式被写入设备和文件,利于用户程序的开发。还利于设备驱动程序代码,可以支持规范定义的API。 缺点:系统调用为所需要的服务提供最小的系统接口来实现所需要的功能,由于设备和文件读写速度不同,若是同一接口的话可能会处理不过来。 2.9 策略决定做什么,机制决定如何做。他们两个的区分对于灵活性来说很重要。策略可能会随时间或位置而有所改变。在最坏的情况下,每次策略改变都可能需要底层机制的改变。系统更需要通用机制,这样策略的改变只需要重定义一些系统参数,而不需要改变机制,提高了系统灵活性。 3.1、短期调度:从准备执行的进程中选择进程,并为之分配CPU; 中期调度:在分时系统中使用,进程能从内存中移出,之后,进程能被重新调入内存,并从中断处继续执行,采用了交换的方案。 长期调度:从缓冲池中选择进程,并装入内存以准备执行。 它们的主要区别是它们执行的频率。短期调度必须频繁地为CPU选择新进程,而长期调度程序执行地并不频繁,只有当进程离开系统后,才可能需要调度长期调度程序。 3.4、当控制返回到父进程时,value值不变,A行将输出:PARENT:value=5。 4.1、对于顺序结构的程序来说,单线程要比多线程的功能好,比如(1)输入三角形的三边长,求三角形面积;(2)从键盘输入一个大写字母,将它改为小写字母输出。

现代操作系统第四版 第二章 答案

现代操作系统第二章进程与线程习题 1. 图2-2中给出了三个进程状态,在理论上,三个状态可以有六种转换,每个状态两个。但是,图中只给出了四种转换。有没有可能发生其他两种转换中的一个或两个 A:从阻塞到运行的转换是可以想象的。假设某个进程在I/O上阻塞,而且I/O结束,如果此时CPU空闲,该进程就可以从阻塞态直接转到运行态。而另外一种转换(从阻塞态到就绪态)是不可能的。一个就绪进程是不可能做任何会产生阻塞的I/O或者别的什么事情。只有运行的进程才能被阻塞。 2.假设要设计一种先进的计算机体系结构,它使用硬件而不是中断来完成进程切换。CPU需要哪些信息请描述用硬件完成进程切换的工作过程。 A:应该有一个寄存器包含当前进程表项的指针。当I/O结束时,CPU将把当前的机器状态存入到当前进程表项中。然后,将转到中断设备的中断向量,读取另一个过程表项的指针(服务例程),然后,就可以启动这个进程了。 3.当代计算机中,为什么中断处理程序至少有一部分是用汇编语言编写的 A:通常,高级语言不允许访问CPU硬件,而这种访问是必需的。例如,中断处理程序可能需要禁用和启用某个特定设备的中断服务,或者处理进程堆栈区的数据。另外,中断服务例程需要尽快地执行。(补充)主要是出于效率方面的考量。中断处理程序需要在尽量短的时间内完成所需的必要处理,尽量减少对线程/程序流造成的影响,因此大部分情况下用汇编直接编写,跳过了通用编译过程中冗余的适配部分。 4.中断或系统调用把控制转给操作系统时,为什么通常会用到与被中断进程的栈分离的内核栈 A:内核使用单独的堆栈有若干的原因。其中两个原因如下:首先,不希望操作系统崩溃,由于某些用户程序不允许足够的堆栈空间。第二,如果内核将数据保留在用户空间,然后从系统调用返回,那么恶意的用户可能使用这些数据找出某些关于其它进程的信息。 5.一个计算机系统的内存有足够的空间容纳5个程序。这些程序有一半的时间处于等待I/O的空闲状态。请问CPU时间浪费的比例是多少 A:^5 =%

操作系统课后题答案

精品文档 课本课后题部分答案 第一章 的主要目标是什么?OS1.设计现代答:(1)有效性(2)方便性(3)可扩充性(4)开放性 2.OS的作用可表现在哪几个方面? 答:(1)OS作为用户与计算机硬件系统之间的接口 (2)OS作为计算机系统资源的管理者 (3)OS实现了对计算机资源的抽象 13.OS有哪几大特征?其最基本的特征是什么? 答:并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。 14.处理机管理有哪些主要功能?它们的主要任务是什么? 答:处理机管理的主要功能是:进程管理、进程同步、进程通信和处理机调度; 进程管理:为作业创建进程,撤销已结束进程,控制进程在运行过程中的状态转换。 进程同步:为多个进程(含线程)的运行______________进行协调。 通信:用来实现在相互合作的进程之间的信息交换。 处理机调度: (1)作业调度。从后备队里按照一定的算法,选出若干个作业,为他们分配运行所需 的资源(首选是分配内存)。 (2)进程调度:从进程的就绪队列中,按照一定算法选出一个进程,把处理机分配给 它,并设置运行现场,使进程投入执行。 15.内存管理有哪些主要功能?他们的主要任务是什么? 北京石油化工学院信息工程学院计算机系3/48 《计算机操作系统》习题参考答案余有明与计07和计G09的同学们编著 3/48 答:内存管理的主要功能有:内存分配、内存保护、地址映射和内存扩充。 内存分配:为每道程序分配内存。 内存保护:确保每道用户程序都只在自己的内存空间运行,彼此互不干扰。 地址映射:将地址空间的逻辑地址转换为内存空间与对应的物理地址。 内存扩充:用于实现请求调用功能,置换功能等。 16.设备管理有哪些主要功能?其主要任务是什么? 答:主要功能有: 缓冲管理、设备分配和设备处理以及虚拟设备等。 主要任务: 完成用户提出的I/O 请求,为用户分配I/O 设备;提高CPU 和I/O 设 备的利用率;提高I/O速度;以及方便用户使用I/O设备. 17.文件管理有哪些主要功能?其主要任务是什么? 答:文件管理主要功能:文件存储空间的管理、目录管理、文件的读/写管理和保护。 文件管理的主要任务:管理用户文件和系统文件,方便用户使用,保证文件安全性。 第二章

操作系统课后习题答案

第一章操作系统引论 一、填空题 1~5 BCABA 6~8BCB 、填空题 处理机管理 计算机硬件 分时系统 单道批处理系统 、简答题 1. 什么叫多道程序?试述多道程序设计技术的基本思想 及特征。为什么对作业 进行多道批处理可以提高系统效率? 多道程序设计技术是指在计算机内存中同时存放几道相互独立的程序, 使它 们在管理程序控制下,相互穿插运行。 基本思想:在计算机的内存中同时存放多道相互独立的程序, 当某道程序因 某种原因不能继续运行下去时候,管理程序就将另一道程序投入运行,这样使几 道程序在系统内并行工作,可使中央处理机及外设尽量处于忙碌状态, 从而大大 提高计算机使用效率。 特征:多道性;无序性;调度性 在批处理系统中采用多道程序设计技术形成多道批处理系统, 多个作业成批送入 计算机,由作业调度程序自动选择作业运行,这样提高了系统效率。 2. 批处理系统、分时系统和实时系统各有什么特点?各适合应用于哪些方面? 批处 理系统得特征:资源利用率高;系统吞吐量大;平均周转时间长;无交 互能力。适用于那些需要较长时间才能完成的大作业。 分时系统的特征:多路性;独立性;及时性;交互性。适合进行各种事务处 理,并为进行软件开发提供了一个良好的环境。 实时系统的特征:多路性;独立性;实时性;可靠性;交互性。适合对随机发生 的外部事件能做出及时地响应和处理的系统, 如实时控制系统,实时信息处理系 统。1、 2、 存储器管理 设备管理 计算机软件 实时系统 批处理系统 多道批处理系统 文件管理

第二章进程管理 一、填空题 1~6 CBABBB 7 ① A ② C ③ B ④ D 8 ① D ② B 9 ~10 CA 11~15 CBBDB 16~18 DDC 20~21 BB 22 ① B ② D ③ F 25 B 26~30 BDACB 31~32 AD 二、填空题 1、动态性并发性 2、可用资源的数量等待使用资源的进程数 3、一次只允许一个进程使用的共享资源每个进程中访问临界资源的那段代码 4、执行态就绪态等待态 5、程序数据进程控制块进程控制块 &同步关系 7、等待 8、进程控制块 9、P V 11、同步互斥同步互斥 12、P V P V P V 13、封闭性 14、-(m-1)~1 15、② 16、动静 17、4 0 18、s-1<0 19、①③ 三、简答题 1.在操作系统中为什么要引入进程的概念?进程和程序的关系? 现代计算机系统中程序并发执行和资源共享的需要,使得系统的工作情况变得非常复杂,而程序作为机器指令集合,这一静态概念已经不能如实反映程序并发执行过程的动态性,因此,引入进程的概念来描述程序的动态执行过程。这对于我们理解、描述和设计操作系统具有重要意义。 进程和程序关系类似生活中的炒菜与菜谱。菜谱相同,而各人炒出来的菜的味道却差别很大。原因是菜谱基本上是一种静态描述,它不可能把所有执行的动态过程中,涉及的时空、环境等因素一一用指令描述清楚。 2.试从动态性、并发性和独立性上比较进程和程序。 动态性:进程的实质是进程实体的一次执行过程。动态性是进程的基本特征。而程序只是一组有序指令的集合,其本身不具有动态的含义,因而是静态的。 并发性:并发性是进程的重要特征,引入进程的目的也正是为了使其进程实体能和其他进程实体并发执行,而程序是不能并发执行的。 独立性:进程的独立性表现在进程实体是一个能独立运行、独立分配资源和独立接受调度的基本单位。而程序不能做为一个独立的单位参与运行。 3.何谓进程,进程由哪些部分组成? 进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位进程由程序段,数据段,进程控制块三部分组成。

现代操作系统(中文第三版)习题答案

现代操作系统(第三版)习题答案 cztqwan 2017-06-19 (部分内容来源于网络,转载请注明出处)

目录 第一章绪论 (1) 第二章进程与线程 (8) 第三章存储管理 (21) 第四章文件系统 (32) 第五章输入/输出 (42) 第六章死锁 (55) 第七章多媒体操作系统 (65) 第八章多处理机系统 (76) 第九章安全 (88) 第十章实例研究1:Linux (100) 第十一章实例研究2:Windows Vista (110) 第十二章实例研究3:Symbian操作系统 (110) 第十三章操作系统设计 (110)

第一章绪论 1、什么是多道程序设计? 答:多道程序设计技术是指在内存同时放若于道程序,使它们在系统中并发执行,共享系统中的各种资源。当一道程序暂停执行时,CPU立即转去执行另一道程序。 2、什么是SPOOLing? 读者是否认为将来的高级个人计算机会把SPOOLing作为标准功能? 答:(假脱机技术)输入SPOOLing是作业中的读入技术,例如,从卡片在磁盘,这样当当前执行的进程完成时,将等候CPU。输出SPOOLing在打印之前首先复制打印文件,而非直接打印。在个人计算机上的输入SPOOLing很少,但是输出SPOOLing非常普遍。 3、在早期计算机中,每个字节的读写直接由CPU处理(即没有DMA),对于多道程序而言这种组织方式有什么含义? 答:多道程序的主要原因是当等候I/O完成时CPU有事可做。如果没有DMA。I/O操作时CPU被完全占有,因此,多道程序无利可图(至少在CPU利用方面)。无论程序作多少I/O操作,CPU都是100%的忙碌。当然,这里假定主要的延迟是数据复制时的等待。如果I/O很慢的话,CPU可以做其它工作。 4、系列计算机的思想在20世纪60年代由IBM引入进System/360大型机。现在这种思想已经消亡了还是继续活跃着? 答:它依然存在。例如,Intel以各种各样的不同的属性包括速度和能力消耗来生产Pentium I,II,III和4。所有这些机器的体系结构都是兼容的,仅仅是价格上的不同,这些都是家族思想的本质。 5、缓慢采用GUI的一个原因是支持它的硬件的成本(高昂)。为了支持25行80列字符的单色文本屏幕应该需要多少视颊RAM? 对于1024x768像素24位色彩位图需要多少视频RAM? 在1980年($5/KB)这些RAM的成本是多少?现在它的成本是多少? 答:25*80字符的单色文本屏幕需要2000字节的缓冲器。1024*768像素24位颜色的位图需要2359296字节。1980年这两种选择将分别地耗费$10和$11520。而对于当前的价格,将少于$1/MB。 6、在建立一个操作系统时有几个设计目的,例如资源利用、及时性、健壮性等。请列举两个可能互相矛盾的设计目的。 答:考虑公平和实时。公平要求每一个进程都以公平的方式分配资源,没有进程能得到超过公平份额的资源。另一方面,实时要求使进程在规定的时间内执行完毕的基础上分配资源。一个实时的进程可能会得到一个不成比例的资源份额。(非

相关主题
文本预览
相关文档 最新文档