操作系统_第3章辅导与自测探究.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE  PAGE 8 第3章 处理机调度 辅导与自测 3.1 本章知识点 调度是操作系统的基本功能,几乎所有的计算机资源在使用之前都要经过调度。CPU作为计算机最主要的资源,处理机调度的目的就是分配CPU。CPU是操作系统中最核心的调度,其调度策略决定了操作系统的类型,其调度算法优劣直接影响整个系统的性能。所以,调度问题是操作系统设计的一个中心问题。 本章的主要知识点为: (1)调度级别 一般来说,作业从进入系统到最后完成,可能要经历三级调度:高级调度、中级调度和低级调度,这是按调度层次进行分类的。其中,高级调度又称为作业调度,低级调度又称为进程调度。 作业调度是在输入的一批作业中选择有权竞争CPU的作业。资源的分配策略(特别是内存管理)对作业调度有很大影响。为了使内存中同时存放的进程数目不至于太多,有时就需要把某些进程从内存中移到外存上,以减少多道程序的数目,为此设立了中级调度。进程调度是从就绪进程队列中选择一个进程,并把CPU分配给它。进程调度是这三级调度中是必不可少的。 这三级调度中,要重点理解作业调度和进程调度形成的两级调度模型,如下图所示。 通过理解这个图,理解作业的4种状态:提交、后备、执行和完成,作业调度的功能,进程调度的功能,进程调度的时机,以及这两级调度如何协调工作完成了处理机调度。 (2)常用调度算法 针对不同的系统目标,会采取不同的调度策略。确定调度策略是件复杂的工作,往往要兼顾多种因素的影响。CPU利用率、吞吐量、周转时间、就绪等待时间和响应时间等是通常评价系统性能时都要考虑的几个指标。 教材中主要介绍了3种调度算法,分别是先来先服务法、时间片轮转法和优先级法。 先来先服务法(FCFS)是最简单的调度算法,它的实现思想就是“排队买票”的办法。按作业(或进程)到来的先后次序进行调度,即先来的先得到执行。 时间片轮转法(RR)的设计实现思想是系统把所有就绪进程按先入先出的原则排成一个队列。每当执行进程调度时,进程调度程序总是选出就绪队列的队首进程,让它在CPU上运行一个时间片的时间。当进程用完分给它的时间片后,调度程序便停止该进程的运行,并把它放入就绪队列的末尾;然后,把CPU分给就绪队列的队首进程。轮转法适用于分时系统。其主要问题是时间片如何选择:时间片太长了,就成为FCFS调度;时间片太短了,频繁调度,开销太大。 优先级调度算法的实现思想:是从就绪队列中选出优先级最高的进程,把CPU分给它使用。又分为非抢占式优先级法和抢占式优先级法。前者是:当前占用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 分析 首先,要了解操作系统处理机调度的级别,即作业从进入系统到最后完成,至少要经历两级调度:高级调度和低级调度。

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档