logo资料库

操作系统原理习题解析__胡元义.pdf

第1页 / 共42页
第2页 / 共42页
第3页 / 共42页
第4页 / 共42页
第5页 / 共42页
第6页 / 共42页
第7页 / 共42页
第8页 / 共42页
资料共42页,剩余部分请下载后查看
一. 单项选择题解析 第 1 章 引 论 1. A。2. C。3. D。4. A。5. A。6. C。7. C。8. C。9. C。10. D。11. D。12. D。13. C。14. D。 15. B。16. C。17. D。18. D。19. C。20. B。21. C。22. B。 二. 判断题解析 1. 错误 2. 错误 3. 错误 4. 错误 5. 错误 6. 错误 7. 正确。8. 错误。9. 错误。10. 错误。 11. 正确。12. 错误。13. 正确。14. 错误。15. 错误 16. 正确。17. 错误。18. 错误 19. 正 确。20. 正确。21. 正确。 三. 简答题解析 1. 操作系统具有以下 4 个基本特征: (1)并发性。并发性是指两个或两个以上的事件或活动在同一时间间隔内发生。也即, 宏观上在一段时间内有多道程序在同时运行,微观上这些程序是在交替执行。 (2)共享性。因程序的并发执行而使系统中的软、硬件资源不再为某个程序所独占,而 是由多个程序共同使用(共享)。 (3)虚拟性。多道程序设计技术把一台物理计算机虚拟为多台逻辑上的计算机,使得每 个用户都感觉是“独占”计算机。 (4)不确定性。多道程序系统中各程序之间存在着直接或间接的联系,并且受资源等因 素的限制,程序的推进速度受到其他程序的影响。这样,程序运行的顺序、程序完成的时间 以及程序运行的结果都是不确定的。 2 多道程序设计技术是指把多个程序同时存入内存并允许它们交替执行和共享系统中的 各类资源;当一道程序因某种原因(如 I/O 请求)而暂停执行时,CPU 立即转去执行另一道 程序。多道程序设计技术的主要特点是:多道、宏观上并行、微观上串行。多道是指计算机 内存中同时存放多道相互独立的程序;宏观上并行是指同时进入系统中的多道程序都处于运 行的过程中;微观上串行是指在单 CPU 环境中,内存中的多道程序轮流占用 CPU 交替执行。 3. 要保证多道程序的正常运行,在技术上需要解决如下问题: (1)在多道程序之间应如何分配 CPU,使得 CPU 既能满足各程序运行的需要,又能有 较高的利用率。此外,一旦将 CPU 分配给某程序后,应何时回收。 (2)如何为每道程序分配必要的内存空间,使它们各得其所但又不会因相互重叠而丢失 信息;此外,还要防止因某道程序出现异常情况而破坏其他程序。 (3)系统中可能有多种类型的 I/O 设备供多道程序共享,应如何分配这些 I/O 设备,如 何做到既方便用户对设备的使用,又能提高设备的利用率。 (4)在现代计算机系统中通常都存放着大量的程序和数据,应如何组织它们才便于用户 使用并保证数据的安全性和一致性。 (5)系统中的各种应用程序有的属于计算型、有的属于 I/O 型,有些既重要又紧迫、有 些又要求系统能及时响应,这时系统应如何组织这些程序(作业)的工作流程。 实际上,这些问题的全体就是操作系统的核心内容。 4. 在单道程序环境下,由于程序独占全机软、硬件资源且完全是在一个封闭环境中运行, 所以如果使用相同的输入,则多次运行的结果必然相同。 引入多道程序技术后,由于多道程序共享全机软、硬件资源,即各程序之间存在着直接 或间接的联系,并受资源等因素的制约;此时程序的运行就不是在一个封闭的环境下,而要 受到其他程序和系统资源的影响,这会引起程序运行的结果、程序执行的顺序和完成的时间 都不确定。此外,在多道程序环境下,外部设备的中断、输入输出的请求等出现的时间都是 不确定的。这些不确定因素给操作系统设计带来了很大的复杂性。对于程序执行结果的不确 定是绝对不允许的,这是操作系统必须解决的主要问题;而程序执行顺序及完成时间的不确 1
定是多道程序环境所决定的;因此,操作系统应能对程序的执行顺序进行协调和管理。至于 外部设备的中断、输入输出请求甚至程序运行故障等不确定性,操作系统应在出现的时刻及 时响应并予以解决。如果操作系统的设计考虑不周,也可能造成系统的混乱和崩溃。 5. 分时系统形成和发展的主要动力是为了更好地满足用户需要,表现为如下几个方面: (1)缩短了作业周转时间。在批处理系统中,用户将作业提交给系统后需要等一批作业 都运行完成后才能得到结果,这对那些运行时间很短的小作业用户来说是不愿接受的。分时 系统则是分时为每个终端用户服务,当一个程序运行结束时,用户立即可获得结果而无须等 到所有用户程序都运行结束。(2)提供了人机交互能力。在批处理系统中,用户一旦把作业 提交给系统就失去了对作业的控制能力,并且为了使系统能够运行作业,用户还需编写作业 说明书并在作业说明书中给出作业运行中可能出现的各种情况的处理方法,这无疑增加了用 户的难度。因此,用户迫切需要能够做到边运行、边调试,以便可以随时针对所出现的问题 采取适当的解决办法,亦即用户希望系统提供良好的人机交互界面。(3)独立地使用计算机。 各用户都希望自己能够独立地使用计算机而不受其他用户的干扰。 6. 【解答】 (1)批处理操作系统的主要特点是:脱机、多道和成批处理。脱机是指用 户脱机使用计算机,即用户提交作业之后直到获得结果之前几乎不再和计算机打交道;多道 是指多道程序运行,即按多道程序设计的调度原则,从一批后备作业中选取多道作业调入内 存并组织它们依次投入运行;成批处理是指操作员把用户提交的作业组织成一批,并由操作 系统负责每批作业间的自动调度。(2)分时操作系统的主要特点是:多路性、交互性、独占 性和及时性。多路性是指一台计算机与若干台终端相连接,终端上的这些用户可以同时或基 本同时使用计算机;交互性是指用户使用计算机的操作方式是联机方式,即用户通过终端采 用人机会话的方式直接控制程序运行并在程序运行中与程序进行交互;独占性是指由于系统 采用时间片轮转的办法使一台计算机同时为多台终端用户服务,因此客观效果是这些用户彼 此之间都感觉不到别人也在使用这台计算机,好像只有用户自己独占计算机一样;及时性是 指用户的请求能在很短时间内获得响应。(3)实时操作系统的主要特点是及时性和高可靠性。 及时性是指系统能及时响应外部事件的请求,并在规定的时间内完成对该事件的处理;高可 靠性是指系统本身要安全可靠,因为象生产过程的实时控制、航空订票等实时事务系统中, 信息处理的延误或丢失往往会带来严重的后果。 7. 分时系统和实时系统有什么区别?设计适用实时环境的操作系统的主要困难是什么? 【解答】 分时系统和实时系统的主要区别如下: (1)系统的设计目标不同。分时系统的设计目标是提供一种随时可供多个用户使用的通 用性很强的系统,而实时系统则大多数都具有某种特殊用途,是一种专用系统。 (2)交互性强弱不同。分时系统的交互性强而实时系统的交互性弱。 (3)响应时间长短不同。分时系统的响应时间以人能够接受的时间为准,通常为秒级; 而实时系统的响应时间则因受控对象而异,变化范围较大。 设计适用于实时环境的操作系统其主要困难是:在实时环境规定的时间限额内对用户做 出相应的反应,如果系统不能在规定的时间限额内完成指定的任务,那么就可能导致整个实 时系统的崩溃。因此,在设计这类操作系统时,设计者必须保证所采用的调度策略及相关技 术不会使响应时间超过实时环境所规定的时间限额。 8. 【解答】 分布式操作系统与网络操作系统不同点如下: (1)分布性。分布式系统中有一个统一的分布式操作系统,而网络系统中每个结点都可 以有自己的网络操作系统。(2)并行性。分布式系统可以将任务动态分配到不同的处理单元 上并行处理,而网络操作系统中每个用户的任务通常在本地处理。(3)透明性。在分布式系 统中,系统结构对用户是透明的,即用户完全看不到系统是由多台计算机构成的事实;而网 络系统中,系统结构对用户是不透明的,用户确切知道系统是由多台计算机构成的这一事实。 2
(4)共享性。在分布式系统中,各站点的资源可供全系统共享;而在网络系统中,一般只 有服务器上的部分资源可供全网共享。(5)健壮性。分布式系统具有健壮性,若某站点出现 故障,则该站点上处理的任务可以自动迁移到其他站点完成;而网络系统的服务器若出现故 障将导致全网瘫痪。分布式操作系统或网络操作系统除了具有传统操作系统应有的 CPU 管 理、存储器管理、设备管理和文件管理功能外,还应提供如下功能:(1)实现网络中各节点 机之间的通信。(2)实现网络中硬、软件资源的共享。(3)提供多种网络服务软件。(4)提 供网络用户的应用程序接口。对分布式系统来说,除了具有网络操作系统的功能之外,还因 各节点机不存在主从或层次关系,因而增加了控制机构的复杂性。首先,由于各节点的自治 性,它们之间发生冲突的概率要高得多,使得同步问题变得更加复杂,死锁问题也难以处理; 其次,由于系统透明性的要求,使得系统故障的检测和用户操作的检查都变得更加困难。 9. 简述操作系统内核及其功能。 【解答】 内核是一个操作系统中最核心的部分,是一组程序模块,作为安全软件来提供支 持进程并发执行的基本功能和基本操作,通常驻留在内核空间且运行于内核态,具有访问硬 件设备和所有内存空间的权限,是仅有的能够执行特权指令的程序。内核的主要功能如下: (1)资源抽象。用软件抽象硬件资源,简化对其所执行的操作,屏蔽低层的物理细节, 如提供设备驱动程序、创建虚拟设备等。 (2)资源分配。把所抽象的各种资源分配给多个应用程序使用,并负责回收资源。 (3)资源共享。根据资源的类型和特性,提供不同的机制以确保进程获得所需资源,允 许进程共享资源并提供资源的互斥与同步机制。 10. 简述分层式结构与单内核结构的异同。 【解答】 分层式结构与单内核结构一样具有模块化的特征,分层式结构也将复杂的操作系 统按其功能分成若干个比较简单且相对独立的模块。为了使模块之间能够交互,也必须规定 模块之间的接口。因此分层式结构具有单内核结构的优点。 分层式结构与单内核结构的主要区别是:分层式结构中各个模块之间是有序的,将各个 模块按功能的调用次序安排成若干层,各层之间的模块不能像单内核结构那样通过接口毫无 规则地相互依赖、相互调用,而只能是单向依赖或单向调用,即每层中的模块只能调用较低 层模块提供的功能和服务。所以分层式结构中模块之间的组织结构和依赖关系更加清晰,这 不仅增加了系统的可读性和可适应性,同时还可以使每一层建立在可靠的基础上,从而提高 了系统的可靠性。 11. 简述微内核操作系统的主要特点。 【解答】 微内核体系结构的主要特点如下: (1)内核较小,通常仅提供操作系统最基本的服务。(2)许多操作系统服务不属于内核, 而是运行在用户态,这样当这些服务更新时内核无须改动。(3)有一个硬件抽象层,内核能 方便地移植到其他的硬件体系结构中。因为当需要移植到新的软件或硬件环境中,只需对与 硬件相关的部分稍加修改即可把微内核嵌入到新的硬件环境中,在多数情况并不需要移植外 部服务器或客户应用。(4)灵活性和扩展性。微内核最大的优点之一就是它的灵活性和扩展 性;如果要实现另一个视图,则可以增加一个外部服务器,若想要扩展功能则可增加或扩展 内部服务器。 12. 【解答】 区分核心态和用户态两种操作方式的目的是为了保护操作系统程序。当 CPU 处于核心态时,可以通过修改程序状态字 PSW 转换到用户态运行;当 CPU 处于用户态时, 如果需要切换到核心态,则一般是通过访管指令或者系统调用来实现,访管指令或系统调用 是一条具有中断性质的特殊机器指令。也即,用户态到核心态的转换发生在中断产生时,而 核心态到用户态的转换则发生在中断返回到用户程序时。 13. 在用户与操作系统之间存在哪几种类型的接口?它们的主要功能是什么? 3
【解答】 操作系统为用户提供了两类接口:一类是操作命令接口或图形接口,另一类是系 统调用接口。操作命令接口或图形接口是用户来组织和控制作业的执行或管理计算机系统 的;系统调用接口是系统提供给编程人员的接口,编程人员通过系统调用来请求操作系统提 供服务,如申请和释放外部设备等共享资源、控制程序的执行速度等,所以有人也称它为编 程接口。 14. 简述中断处理过程。 【解答】 当中断发生时一旦 CPU 响应中断,系统就开始进行中断处理。中断处理过程如下: (1)保护被中断进程的现场信息。为了在中断处理结束后能使进程正确地返回到中断点, 系统必须保存当前 CPU 的程序状态字 PSW 和程序计数器 PC 等内容。 (2)分析中断原因,转去执行相应的中断处理程序。在多个中断请求同时发生时,处理 优先级最高的中断源发出的中断请求。 (3)恢复被中断进程的现场信息,CPU 继续执行原来被中断的进程。 15. 叙述系统调用的概念和操作系统提供系统调用的原因。 【解答】 系统调用也称程序接口,是操作系统提供给用户的程序级接口。用户程序可以利 用系统调用所提供的一组系统调用命令去调用操作系统内核中的一个(或一组)过程(函数) 来完成自己所需要的功能。 系统调用可以看做是操作系统内核和用户程序之间进行交互的接口,操作系统向用户程 序提供系统调用的原因是为了对系统进行保护。当用户程序需要系统服务——需要调用系统 内核中的某些程序时,只能从规定的位置进入内核,这样才能保证系统的安全。 16. 简述系统调用的实现过程。 【解答】 系统调用的一般处理过程如下: (1)系统产生软中断,由硬件完成现场保护,并通过中断向量转向系统调用总控程序, 同时 CPU 状态由用户态切换为核心态。 (2)系统调用总控程序根据系统调用功能号在地址入口表查找对应的系统调用子程序, 有时还需要进行安全控制检查。 (3)执行系统调用子程序并得到结果。 (4)系统调用处理过程执行完毕后,返回成功时的执行结果或者不成功信息给调用者, 恢复中断进程或新调度进程的 CPU 现场信息,返回到被中断进程或新调度进程运行。 第 2 章 处理器管理 一. 单项选择题解析 1. D。2. A。3. C。4. C。5. C。6. A。7. C。8. B。9. C。10. C。11. D。12. A。13. A。14. D。 15. A。16. B。17. B。18. B。19. A。20. A。21. B。22. D。23. B。24. C。25. C。26. C。27. D。28. B。29. D。30. B。31. D。32. B。33. A。 二. 判断题解析 xxxxx xx√ x√ x√ xxx x√xxx 三. 简答题解析 1.【解答】 在多道程序环境下,程序的并发执行代替了程序的顺序执行。并发执行破坏 了程序的封闭性和可再现性,使得程序和计算不再一一对应。此外,并发执行又导致了资源 共享与资源竞争,这造成了各并发执行的程序之间可能存在相互制约的关系。因此,并发执 行的程序已不再处于一个封闭的环境中,从而出现了许多新的特征,即独立性、并发性、动 态性以及并发程序按各自独立的、不可预知的速度向前推进的异步性。程序这个静态概念已 经无法真实地反映并发程序的执行特征,所以引入了一个能够描述并发程序执行过程且能共 享资源的基本单位——进程。 4
操作系统在进程管理方面应做的工作如下: (1)进程控制。系统必须设置一套控制机构来实现进程创建、进程撤消以及进程在运行 过程中的状态转换。 (2)进程同步。系统必须设置同步机制来实现对所有进程的运行进行协调,协调的方式 包括进程的互斥与进程的同步。 (3)进程通信。多道程序环境下可能需要各进程相互合作来完成一个任务,这些合作进 程之间需要通过交换信息来协调各自的工作进度,因此系统必须具有进程之间的通信(交换 信息)能力。 (4)进程调度。系统必须能够在 CPU 空闲时按一定算法从就绪队列中选择一个进程,然 后把 CPU 分配给它,并为其设置运行现场使其投入运行。 2. 试比较进程和程序的区别。 【解答】 进程与程序是两个密切相关而又不同的概念,进程与程序的区别如下: (1)程序是指令的有序集合,是一个静态的概念,其本身没有任何运行的含义;进程是 程序在 CPU 上的一次执行过程,是一个动态的概念。 (2)程序作为软件资料可以长期保存;而进程则有生命期,它因创建而诞生、因调度而 执行、因得不到资源而暂停执行,因撤消而消亡。 (3)进程是一个独立运行的基本单位,也是系统进行资源分配和调度的基本单位;而程 序作为静态文本既不运行,也不分配和调度。 (4)进程与程序之间无一一对应关系。既然进程是程序的一次执行,那么一个程序的多 次执行可以产生多个进程,而不同的进程也可以包含同一个程序。 (5)程序是记录在介质(如磁盘)上指令的有序集合,而进程则由程序段、数据段和 PCB 这三部分组成。 3. 简述作业和进程的区别。 【解答】 作业是用户需要计算机完成的某项任务,是要求计算机所做工作的集合。一个作 业的完成要经过作业提交、作业后备(收容)、作业执行和作业完成 4 个阶段。进程是可以 并发执行的程序在一个数据集合上的一次执行过程,即进程是对已提交完毕的程序所执行过 程的描述,是资源分配的基本单位。进程与作业的主要区别如下: (1)作业是用户向计算机提交任务的任务实体。在用户向计算机提交作业后,系统将该 作业放入外存中的作业后备队列中等待作业调度。而进程则是完成用户任务的执行实体,是 向系统申请分配资源的基本单位。任何一个进程,只要它被创建,总是有相应的部分存在于 内存中。 (2)一个作业可以由多个作业步组成,即同时对应多个进程,并且至少由一个进程组成; 反之则不成立。 (3)作业的概念主要用在批处理系统中,如 UNIX 这样的分时系统中就没有作业的概念。 而进程的概念则用在几乎所有的多道程序系统中,在现代操作系统中进程又被细化为线程, 也就是一个进程下有多个能够独立运行的更小单位。 (4)作业调度的主要功能是检查系统是否满足作业的资源要求以及按照一定的算法来把 外存后备作业队列中的作业调入内存,为其创建进程并插入到进程就绪队列等待进程调度。 进程调度则是根据一定的算法把 CPU 分配给就绪队列中的某个进程并让其执行。 4. 进程和线程的主要区别是什么? 【解答】 进程和线程的主要区别如下: (1)线程是进程的一个组成部分。一个进程可以有多个线程,而且至少有一个可执行的 线程。 (2)进程是资源分配的基本单位,它拥有自己的地址(内存)空间和各种资源。线程是 5
CPU 调度的基本单位,它只能和其他线程共享进程的资源,而本身并不具有任何资源。 (3)进程的多个线程都在进程的地址(内存)空间内活动。这样,在以线程为单位进行 CPU 调度和切换时,由于不发生资源变化特别是内存空间的变化,因此切换时间较短。而 以进程为单位进行 CPU 调度和切换时,由于涉及到资源转移(如进程实体的内外存对换) 及 CPU 现场信息保护等问题,将耗费系统很大的时空开销。 (4)线程和进程一样,都有自己的状态和相应的同步机制。但由于线程没有自己单独的 程序和数据空间,因而不能像进程的程序和数据那样交换到外存去。 (5)进程的调度和控制由操作系统的内核完成,而线程的控制既可以由操作系统的内核 完成,也可以由用户程序控制完成。 5. 请给出当运行进程状态改变时操作系统进行切换的步骤。 【解答】 进程切换的主要步骤如下: (1)保存当前运行进程的寄存器上下文。 (2)对当前运行进程的 PCB 进行更新,包括改变进程状态和其他相关信息。 (3)将当前运行进程的 PCB 移入适当的队列(时间片到移入就绪队列,因事件阻塞则移 入阻塞队列)。 (4)由进程调度程序调度选中另一个新的就绪进程,为其设置执行的上下文环境并对其 PCB 进行更新。 (5)修改新进程的地址空间,更新新进程的内存管理信息。 (6)恢复被选中的新进程最后一次进程上下文切换时保存的 CPU 现场信息。 6. 为什么说多级反馈队列调度算法能较好地满足各类用户的需要? 【解答】 多级反馈队列调度算法能较好地满足各种类型用户的需要。对终端型作业用户而 言,由于他们所提交的作业大多属于交互型,作业通常比较短小,系统只要能使这些作业在 优先级最高的第 1 个队列所规定的时间片内完成,就可使终端型作业用户感到满意。对于短 批处理作业用户而言,他们的作业开始时像终端型作业一样,如果仅在第 1 个队列中执行一 个时间片即可完成,就可获得与终端型作业一样的响应时间;对于稍长的作业,通常也只需 要在第 2 个队列和第 3 个队列中各执行一个时间片即可完成,其周转时间仍然较短;对于长 批处理作业用户而言,他们的长作业将依次在第 1、2、…、直到第 n 个队列中运行,而随 着队列的逐级改变则运行的时间片成倍增加,这样也使得长批处理作业获得较多的运行时 间。因此,多级反馈队列调度算法能较好地满足各类用户的需要。 7. 分析作业、进程、线程三者之间的关系。 【解答】 一个作业被调入内存执行时可能要为其创建多个进程,进程是资源分配的基本单 位;一个进程可能对应若干个线程,线程是 CPU 调度的基本单位。 8. 处理器有哪三级调度?分别在什么情况下发生,它们各自完成什么工作? 【解答】 处理器的三级调度是指:高级调度(作业调度)、中级调度(交换调度)和低级调 度(进程调度)。 (1)高级调度是在需要从作业后备队列中调度作业进入内存运行时发生。高级调度决定 把外存中处于后备队列的哪些作业调入内存,为它们创建进程并分配必要的资源,然后将新 创建的进程插入到进程就绪队列中。 (2)中级调度是在内存紧张而不能满足进程运行需要时发生。在内存紧张时,中级调度 将暂时不能运行的进程调出至外存,将外存上具有运行条件的就绪进程调入到内存。 (3)低级调度是在 CPU 空闲需要调度一个就绪进程投入运行时发生。低级调度决定就绪 队列中的哪个进程将获得 CPU,并将 CPU 分配给该进程使用。 四. 应用题解析 6
1. 【解析】 由题意可知,各类进程之间采用优先级调度,而同类进程内部采用时间片轮 转调度。因此,系统首先对优先级为 4 的进程 P1、P2、P3 采用时间片轮转法调度运行,当 P1、P2、P3 均运行结束或没有可运行进程(即 P1、P2、P3 都处于阻塞状态;或其中部分 进程已运行结束,而其余进程都处于阻塞状态)时,则对优先级为 3 的进程 P4、P5 采用时 间片轮转法调度运行。在此期间,如果未结束的 P1、P2、P3 有一个转为就绪状态,则当前 时间片用完后又回到优先级 4 进行轮转调度。类似地,当 P1~P5 均运行结束或没有可运行 进程(即 P1~P5 都处于阻塞状态;或其中部分进程已运行结束,而其余进程则处于阻塞状 态)时,则对优先级为 2 的进程 P6、P7、P8 采用时间片轮转法调度运行,一旦 P1~P5 中 有一个转为就绪状态,则立即回到更高的优先级进行轮转调度。 2. 【解析】 由于短作业优先调度算法使得系统平均响应时间最短,所以有: (1)当 0<x≤3 时应采用的运算次序为:x, 3, 5, 6, 9。 (2)当 3<x≤5 时应采用的运算次序为:3, x, 5, 6, 9。 (3)当 5<x≤6 时应采用的运算次序为:3, 5, x, 6, 9。 (4)当 6<x≤9 时应采用的运算次序为:3, 5, 6, x, 9。 (5)当 9<x 时应采用的运算次序为:3, 5, 6, 9, x。 3. 【解析】 作业 i 的周转时间 Ti=作业 i 的提交时间-作业 i 的完成时间 =作业 i 的运行时间+作业 i 的等待时间 作业 i 的带权周转时间 作业的平均周转时间 作业的平均带权周转时间 (1)采用先来先服务(FCFS)调度算法的作业运行情况如表 2.2 所示。 表 2.2 先来先服务算法 F 的作业运行情况表 作业执行次序 提交时间 运行时间 等待时间 开始时间 完成时间 周转时间 带权周转时间 1 2 3 4 8.0 8.5 9.0 9.1 1.0 0.5 0.2 0.1 0 0.5 0.5 0.6 8.0 9.0 9.5 9.7 9.0 9.5 9.7 9.8 1.0 1.0 0.7 0.7 1.0 2.0 3.5 7.0 作业平均周转时间 作业平均带权周转时间 T=(1.0+1.0+0.7+0.7)/4=0.85 W=(1.0+2.0+3.5+7.0)/4=3.375 (2)采用短作业优先(SJF)调度算法的作业运行情况如表 2.3 所示。 表 2.3 短作业优先算法下的作业运行情况表 作业执行次序 提交时间 运行时间 等待时间 开始时间 完成时间 周转时间 带权周转时间 8.0 9.0 9.1 8.5 1.0 0.2 0.1 0.5 0 0 0.1 0.8 8.0 9.0 9.2 9.3 9.0 9.2 9.3 9.8 1.0 0.2 0.2 1.3 1 2 3 4 1.0 1.0 2.0 2.6 7 的运行时间作业iTWiin1iiTn1Tn1iiWn1W
作业平均周转时间 作业平均带权周转时间 T=(1.0+0.2+0.2+1.3)/4=0.675 W=(1.0+1.0+2.0+2.6)/4=1.65 (3)采用高响应比优先(HRRF)调度算法时,在作业 1 执行完成时刻 9.0,作业 2 和作 业 3 均已到达。此时作业 2 和作业 3 的响应比分别是(响应比 Rp=1+ ): 作业 2 的响应比=1+ =2;作业 3=1+ =1;即选作业 2 运行。 当作业 2 运行结束(在时刻 9.5 完成)时,作业 3 和作业 4 均已到达;此时作业 3 和作业 4 的响应比分别是: 作业 3 的响应比=1+ =3.5;作业 4 的响应比=1+ =5;即选作业 4 运行。 最后得到采用高响应比优先调度算法的作业运行情况如表 2.4 所示。 表 2.4 高响应比优先算法下的作业运行情况表 作业执行次序 提交时间 运行时间 等待时间 开始时间 完成时间 周转时间 带权周转时间 1 2 3 4 8.0 8.5 9.1 9.0 1.0 0.5 0.1 0.2 0 0.5 0.4 0.6 8.0 9.0 9.5 9.6 9.0 9.5 9.6 9.8 1.0 1.0 0.5 0.8 1.0 2.0 5.0 4.0 作业平均周转时间 作业平均带权周转时间 T=(1.0+1.0+0.5+0.8)/4=0.825 W=(1.0+2.0+5.0+4.0)/4=3 4.【解析】 采用先来先服务调度算法的作业运行情况如表 2.6 所示。 表 2.6 先来先服务算法下的作业运行情况表 作业执行次序 提交时间 运行时间 等待时间 开始时间 完成时间 周转时间 1 2 3 0.0 0.4 1.0 8.0 4.0 1.0 0.0 7.6 11.0 0.0 8.0 12.0 8.0 12.0 13.0 8.0 11.6 12.0 作业平均周转时间 T=(8.0+11.6+12.0)/3=10.53 采用短作业优先调度算法的作业运行情况如表 2-7 所示。 表 2.7 短作业优先算法下的作业运行情况表 作业执行次序 提交时间 运行时间 等待时间 开始时间 完成时间 周转时间 1 2 3 0.0 1.0 0.4 8.0 1.0 4.0 0.0 7.0 8.6 0.0 8.0 9.0 8.0 9.0 13.0 8.0 8.0 12.6 作业平均周转时间 T=(8.0+8.0+12.6)/3=9.53 可以按下面的调度策略缩短作业的平均周转时间:若知道后面将要有两个短作业到达, 则在作业 1 到达后暂不投入运行,待 3 个作业到齐后再按短作业优先算法调度执行;也即, 作业调度顺序为:作业 3、作业 2、作业 1。采用这种推迟的短作业优先算法下作业运行情 况表如表 2.8 所示。 作业执行次序 提交时间 运行时间 等待时间 开始时间 完成时间 周转时间 表 2.8 推迟的短作业优先算法下作业运行情况表 3 1.0 1.0 0 1.0 2.0 1.0 8 运行时间等待时间5.05.12.002.05.01.04.0
分享到:
收藏