操作系统_第3章辅导与自测_第1页
操作系统_第3章辅导与自测_第2页
操作系统_第3章辅导与自测_第3页
操作系统_第3章辅导与自测_第4页
操作系统_第3章辅导与自测_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章处理器调度咨询和自检3.1本章的知识点排程是作业系统的基本功能,几乎所有电脑资源都在使用之前排程。CPU是计算机最重要的资源,处理器调度的目的是分配CPU。CPU是操作系统中最关键的调度,调度策略决定操作系统的类型,调度算法的优缺点直接影响整个系统的性能。因此,调度问题是操作系统设计的中心问题。本章的主要知识点如下:(1)一定程度一般来说,作业可以经过三个级别的调度,从进入系统到最终完成:高级调度、中间调度、低级调度,这是按调度级别分类的。其中高级调度也称为作业调度,低级调度也称为进程调度。作业计划是从输入的一组作业中选择具有CPU竞争权限的作业。资源的分配策略(尤其是内存管理)对作业调度有很大影响。有时,为了避免内存中同时存储的进程数过多,需要将一些进程从内存移动到外部存储,以减少多通道程序的数量。流程调度是从准备流程队列中选择流程并分配CPU。流程调度对这三阶段调度至关重要。这个三阶段日程集中在工作日程和流程日程形成的两阶段日程模型上,如下图所示。了解此图以了解任务的四种状态:提交、备份、运行和完成;计划任务的功能;计划流程的功能;计划流程的时间;这两个级别的计划如何协调任务以完成处理器计划。(2)常用调度算法不同的调度策略适用于不同的系统目标。决定排程策略是一项复杂的工作,经常会考虑许多因素的影响。CPU利用率、吞吐量、处理时间、准备等待时间和响应时间等通常是评估系统性能时需要考虑的几个指标。教材中主要介绍了先到先服务法、时间旋转法、优先法等3种调度算法。第一次服务方法(FCFS)是最简单的调度算法,实现这一目标的想法就是“排队买票”。任务(或流程)按顺序计划。也就是说,先来先执行。时间表旋转法(RR)的设计实现是系统按照先到先得的原则排列所有准备过程。流程调度程序指定CPU上一个时间片的运行时间,每次运行流程调度时,始终选择第一个准备队列的流程。如果流程分配的时间片不足,则调度程序将停止运行流程,并将其放在准备队列的末尾。然后,将CPU指派给准备队列中的第一个流程。轮转方法适用于分时系统。最大的问题是如何选择切片。如果片太长,则计划FCFS。时间切片太短,经常计划,开销太大。优先级调度算法的实现思路:选择准备队列中优先级最高的流程,将CPU分配给相应队列以使用。非抢占优先级方法和抢占优先级方法。前者表示使用当前CPU的进程将继续运行,直到作业完成或事件等待时主动弹出CPU。后者在当前进程运行时,如果准备队列中出现其他优先级较高的进程,则进程调度程序将停止当前进程的运行,并将CPU强制分配给该进程。其他典型的调度算法包括短任务优先级法、最小剩余时间优先级法、多级队列法和多级反馈队列法。(3)停止处理并发性是现代计算机系统的重要特征,它允许多个进程同时在系统中活动。实施基于硬件和软件组合导致的中断机制。中断是现代计算机系统中的重要概念之一,它表示CPU处理系统中发生的事件的过程。按功能划分,中断通常分类为I/O中断、机器故障中断、外部中断、程序中断和访问官中断。在中断响应和处理过程中,硬件响应中断请求。也就是说,停止当前程序的运行,保存停止点信息,然后转到相应的处理程序。软件正确处理中断:现场存储、原因分析、中断处理、中断返回。每个中断处理程序都是操作系统的重要组成部分。对中断的处理是在核心状态下进行的。Linux系统提供给用户的最重要的系统程序是shell命令语言解释程序。基本功能是解释和执行用户输入的各种命令,以实现与Linux内核的用户界面。shell解释程序的工作流程基本上是创建读取命令行、分析命令行、构建命令树等步骤的子进程。(4)Linux系统进程调度Linux系统的进程调度机制主要包括调度方法、调度策略、调度时间和调度算法。Linux系统对进程使用中级时间表(进程交换、解决内存分配)和低级时间表(解决CPU分配)。流程调度默认使用抢占优先级算法。针对不同型态的处理使用适当的排程策略。本章还介绍了Linux系统上常用的调度命令,如nohup、at、batch、jobs、fg和BG。3.2典型案例分析示例1)要平衡使用系统中的某些资源,必须通过将资源要求不同的任务适当地组合在一起来完成此任务()。A.任务计划b .中级计划c .流程计划d .内存计划答案a分析首先确定操作系统处理器调度级别-从系统进入到最终完成-至少两阶段调度-高级调度和低级调度。有时,为了避免内存中同时存储的进程数过多,需要将一些进程从内存移动到外部存储,以减少多通道程序的数量。每层计划的含义,解决的问题,即功能是什么?只有明确掌握这些基本概念,才能做好选择。此问题显然是为了平衡利用系统资源而正确组合任务的调度任务。中间计划解决内存分配问题,流程计划解决使用CPU的准备流程问题。所以答案是a。示例2任务调度程序从状态为()的队列中选择相应的任务,然后转到默认的保存运行。A.实施b .提交c .完成d .备份回答d要分析此问题,必须了解作业的状态和过渡。一个作业经历四种状态,从系统进入到运行结束:提交状态、备份状态、运行状态和完成状态。(1)提交状态:用户的其中一个作业(例如,用户通过键盘将作业输入系统)提交到系统的状态。处于提交状态的作业正在将信息传入系统。(2)备份状态:用户操作通过输入设备(例如读卡器)输入外部存储(磁盘),等待进入内存的状态。作业控制块JCB是为该作业设置的,并将作业插入到等待调度执行的备用作业队列中。(3)运行状态:作业调度程序根据特定作业调度算法从备份作业队列中选择作业,以分配所需资源并设置相应的进程集,然后该作业将从备份状态转换为运行状态。处于“运行”状态的任务并不真正拥有系统中的处理器,实际上能否在处理器中运行任务由进程调度控制。(4)完成状态:作业完成处理作业,结果形成报告,系统当前从作业队列中删除作业控制块JCB并回收分配给作业的所有资源,从而准备关闭系统时的作业状态。四种作业状态的转变如下图所示。进程调度作业调度作业调度提交备份完成执行准备就绪拦截如上图所示,当任务调度程序选择任务时,它确定与该任务相关的进程使用CPU运行。处于运行状态的作业是否实际能在CPU上运行是由进程调度控制的,因此答案是错误的。此时,该进程至少有三种基本状态,不能保证它一定是拥有CPU的运行状态。示例3在批处理系统中,处理时间为()。A.作业执行时间b。作业等待时间和执行时间的总和C.工作的相对延迟d。工作会排定到工作开始储存主要为止回应b分析作业的处理时间=作业完成时间-作业提交时间。处理时间是作业等待进入内存的时间、进程等待就绪队列的时间,以及进程在CPU上完成运行和I/o操作所需的时间总和。因此,处理时间是作业等待时间和执行时间之和。响应d无效,因为作业提交后进入了作业备份状态。此时任务将保留在外部,该时间也计入任务的处理时间。示例4在作业调度中使用优先级调度算法时,为了尽可能并行处理CPU和外部设备,J1以计算为主,J2以输入输出为主,J3计算和输入输出平衡,按从高到低的顺序进行排名()。A.J1、J2、J3b。J2、J3、J1C.J3、J2、J1d.j2、J1、J3回答c分析此问题将作业分为三种类型:I/O密集型活动、CPU密集型活动、I/O和CPU平衡活动。系统或操作员根据作业类型划分优先级。为了尽可能并行处理CPU和外部设备,高I/O和高CPU密集型任务不能将资源(CPU或I/O设备)指定为最高优先级,因为资源无法平衡。两种类型的作业都将I/o密集型作业的优先级设置为高于CPU密集型作业,从而提高CPU利用率并提高系统吞吐量。因此,这三种类型的作业优先顺序是I/O与CPU平衡的作业、I/O密集型作业和CPU密集型作业。下表显示作业l、2和3的提交时间和运行时间。使用初始服务计划算法和短任务优先计划算法,任务计划顺序和平均处理时间是多少?(时间单位:小时,计算为小数。),以获取详细信息任务编号提交时间执行时间1230.00.41.08.04.01.0这个问题的分析和解决关键是了解系统的各项工作如何随着时间的推移进行。我们使用作业执行时间图表指示作业执行,并帮助您理解此问题。首先,使用服务计划策略执行任务的时间图如下所示:作业作业3任务2任务10 0.4 1.0 8.0 12.0 13.0小时作业提交时间每个作业的持续完成时间使用短任务优先级计划策略,任务执行时间图形如下:作业作业3任务2任务10 0.4 1.0 8.0 9.0 13.0小时作业提交时间每个作业的持续完成时间此外,作业I的处理时间ti=作业完成时间-作业提交时间系统中n个作业的平均处理时间。其中Ti是任务I的处理时间。解决方法:如果首先使用服务计划策略,则计划顺序为l、2、3。作业编号提交时间运行时间开始时间完成时间处理时间1 0.08.00.08.0 8.02 0.44.08.0 12.0 11.63 1.01.0 12.0 13.0 12.0平均处理时间t=(8 11.6 12)/3=10.53使用短任务优先级计划策略时,计划顺序为l、3、2。作业编号提交时间运行时间开始时间完成时间处理时间1 0 . 0 8 . 0 0 . 0 8 . 0 8 . 0 8 . 03 1.0 1.08.09.08.02 0.4.0 9.0 13.0 12.6平均处理时间t=(8 8 12.6)/3=9.53示例6当前有三个批处理作业:第一个任务1033600到达需要2个小时。第二个任务从10336910到达,需要运行1小时。第三个任务将到达10336925,需要25分钟。采用以下两种任务计划算法:排程演算法1:任务编号到达时间执行开始时间执行结束时间12310:0010:1010:2510:0012:0013:0012:0013:0013:25排程演算法2:任务编号到达时间执行开始时间执行结束时间12310:0010:1010:2511:5010:5010:2513:5011:5010;50(1)根据每个调度算法计算任务的平均处理时间。(2)调度算法1是什么任务调度算法?分析作业的处理时间=作业完成时间-作业提交时间。例如,作业2的调度算法1的处理时间=作业完成时间13:0-作业提交时间103369010为2小时50分钟,转换时间为2.83小时。变换的目的是为了便于计算平均旋转时间。解决方案:(1)使用调度算法1时:任务1的处理时间为2小时。任务2的所需时间为2.83小时。作业3的处理时间是3小时。平均处理时间为(2 2.83 3)/3=2.61小时。使用排程演算法2时:任务1的处理时间为3.83小时。任务2的所需时间为1.67小时。任务3的处理时间为0.42小时。平均处理时间为(3.83 l.67 0.42)/3=l.97小时。(2)调度算法1按任务到达顺序运行,因此首先是服务调度算法。在运行过程中,流程可能被中断的事件中断,当中断处理完成后,可以恢复流程中断时的现场并继续运行。()回答()分析中断是CPU对系统中发生的事件的响应。它将正在运行的程序暂停在CPU上,保留站点后自动运行其处理程序,处理事件后,如果封锁进程的优先级最高,则返回断点以继续运行“中断”程序。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论