操作系统_第3章辅导与自测(8页).doc
《操作系统_第3章辅导与自测(8页).doc》由会员分享,可在线阅读,更多相关《操作系统_第3章辅导与自测(8页).doc(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-第3章 处理机调度 辅导与自测3.1 本章知识点调度是操作系统的基本功能,几乎所有的计算机资源在使用之前都要经过调度。CPU作为计算机最主要的资源,处理机调度的目的就是分配CPU。CPU是操作系统中最核心的调度,其调度策略决定了操作系统的类型,其调度算法优劣直接影响整个系统的性能。所以,调度问题是操作系统设计的一个中心问题。本章的主要知识点为:(1)调度级别一般来说,作业从进入系统到最后完成,可能要经历三级调度:高级调度、中级调度和低级调度,这是按调度层次进行分类的。其中,高级调度又称为作业调度,低级调度又称为进程调度。作业调度是在输入的一批作业中选择有权竞争CPU的作业。资源的分配策略(特
2、别是内存管理)对作业调度有很大影响。为了使内存中同时存放的进程数目不至于太多,有时就需要把某些进程从内存中移到外存上,以减少多道程序的数目,为此设立了中级调度。进程调度是从就绪进程队列中选择一个进程,并把CPU分配给它。进程调度是这三级调度中是必不可少的。这三级调度中,要重点理解作业调度和进程调度形成的两级调度模型,如下图所示。通过理解这个图,理解作业的4种状态:提交、后备、执行和完成,作业调度的功能,进程调度的功能,进程调度的时机,以及这两级调度如何协调工作完成了处理机调度。(2)常用调度算法针对不同的系统目标,会采取不同的调度策略。确定调度策略是件复杂的工作,往往要兼顾多种因素的影响。CP
3、U利用率、吞吐量、周转时间、就绪等待时间和响应时间等是通常评价系统性能时都要考虑的几个指标。教材中主要介绍了3种调度算法,分别是先来先服务法、时间片轮转法和优先级法。先来先服务法(FCFS)是最简单的调度算法,它的实现思想就是“排队买票”的办法。按作业(或进程)到来的先后次序进行调度,即先来的先得到执行。时间片轮转法(RR)的设计实现思想是系统把所有就绪进程按先入先出的原则排成一个队列。每当执行进程调度时,进程调度程序总是选出就绪队列的队首进程,让它在CPU上运行一个时间片的时间。当进程用完分给它的时间片后,调度程序便停止该进程的运行,并把它放入就绪队列的末尾;然后,把CPU分给就绪队列的队首
4、进程。轮转法适用于分时系统。其主要问题是时间片如何选择:时间片太长了,就成为FCFS调度;时间片太短了,频繁调度,开销太大。优先级调度算法的实现思想:是从就绪队列中选出优先级最高的进程,把CPU分给它使用。又分为非抢占式优先级法和抢占式优先级法。前者是:当前占用CPU的进程一直运行下去,直到完成任务或者因等待某事件而主动让出CPU时,系统才让另一个优先级高的进程占用CPU。后者是:当前进程在运行过程中,一旦有另一个优先级更高的进程出现在就绪队列中,进程调度程序就停止当前进程的运行,强行将CPU分给那个进程。其它常用的调度算法还有:短作业优先法、最短剩余时间优先法、多级队列法、多级反馈队列法。(
5、3)中断处理并发是现代计算机系统的重要特性,它允许多个进程同时在系统中活动。而实施并发的基础是由硬件和软件结合而成的中断机制。中断是现代计算机系统中的重要概念之一,它是指CPU对系统发生的某个事件做出的处理过程。按功能划分,中断一般分为I/O中断、机器故障中断、外部中断、程序性中断、访管中断。在中断响应和处理过程中,硬件对中断请求做出响应:中止当前程序的执行,保存断点信息,转到相应的处理程序。软件对中断进行相应的处理:保存现场,分析原因,处理中断,中断返回。各中断处理程序是操作系统的重要组成部分。对中断的处理是在核心态下进行的。Linux系统提供给用户的最重要的系统程序是shell命令语言解释
6、程序。其基本功能是解释并执行用户输入的各种命令,实现用户与Linux核心的接口。shell解释程序的工作过程基本上是读入命令行、分析命令行和构成命令树,创建子进程来执行命令树等步骤。(4)Linux系统的进程调度Linux系统的进程调度机制主要涉及调度方式、调度策略、调度时机和调度算法。Linux系统对进程采用两级调度:中级调度(对换进程,解决内存分配)和低级调度(解决CPU分配)。进程调度基本上采用抢占式优先级算法。而针对不同类型的进程又采用相应的调度策略。本章还介绍了Linux系统中常用的调度命令,如nohup、at、batch、jobs、fg、bg。 3.2典型例题解析【例1】为了使系统
7、中各部分资源得到均衡使用,就必须选择对资源需求不同的作业进行合理搭配,这项工作是由( )完成的。 A作业调度 B中级调度 C进程调度 D内存调度答案 A分析 首先,要了解操作系统处理机调度的级别,即作业从进入系统到最后完成,至少要经历两级调度:高级调度和低级调度。为了使内存中同时存放的进程数目不至于太多,有时需要把某些进程从内存中移到外存上,以减少多道程序的数目,为此设立了中级调度。各个级别调度的含义,所解决的问题,即功能是什么。只有清晰地掌握了这些基本概念,才能做好选择。本题说的是作业的合理搭配以达到系统资源的均衡利用,显然是作业调度的工作。而中级调度解决的是内存分配问题,进程调度解决的是哪
8、一个就绪进程占有CPU的问题。因此答案选A。【例2】作业调度程序从处于( )状态的队列中选取适当的作业调入主存运行。A执行 B提交 C完成 D后备答案 D分析 解答此题需要了解作业的状态以及转换。一个作业从进入系统到运行结束要经历四种状态:提交状态、后备状态、执行状态和完成状态。(1)提交状态:用户的一个作业提交给系统时所处的状态,如用户通过键盘向机器输入作业。处于提交状态的作业,其信息正在进入系统。(2)后备状态:用户作业经输入设备(如读卡机)输入进外存(磁盘)中存放,等待进入内存时所处的状态。此时,系统将为该作业建立一个作业控制块JCB,并把作业插入到后备作业队列中等待调度运行。(3)执行
9、状态:作业调度程序按照一定的作业调度算法从后备作业队列中选中一个作业,为它分配必要的资源,建立一组相应的进程后,这个作业就由后备状态转变为执行状态。需要指出的是,处于执行状态的作业在系统中并不一定真正占有处理机,作业能否真正在处理机上运行由进程调度来控制。(4)完成状态:作业完成了处理任务,输出结果形成报告,系统将作业控制块JCB从当前作业队列中删除,并回收分配给作业的全部资源,准备退出系统时的作业状态。四种作业状态的转换见下图: 进程调度 作业调度 作业调度提交后备完成运行就绪阻塞参考上图,有这样一个判断题:作业调度程序选中一个作业后,与该作业相关的进程即占有CPU运行。答案是错误的,因为执
10、行状态的作业能否真正在CPU上运行由进程调度来控制,这时候的进程至少有三种基本状态,不能保证一定是占有CPU的运行状态。【例3】在批处理系统中,周转时间是( )。 A作业运行时间 B作业等待时间和运行时间之和 C作业的相对等待时间 D作业被调度进入主存到运行完毕的时间答案 B分析 作业的周转时间作业完成时间作业提交时间。周转时间是用于作业等待进入内存、进程在就绪队列中等待、进程在CPU上运行和完成I/O操作所花费时间的总和。因此,周转时间是作业等待时间和运行时间之和。答案D是不对的,因为作业提交后进入作业后备状态,此时作业是在外存,这个时间也要计入作业的周转时间。【例4】在作业调度中,若采用优
11、先级调度算法,为了尽可能使CPU和外部设备并行工作,有如下三个作业:J1以计算为主,J2以输入输出为主,J3计算和输入输出兼顾,则它们的优先级从高到低的排列顺序是( )。AJ1,J2,J3 BJ2,J3,J1 CJ3,J2,J1 DJ2,J1,J3答案 C分析 本试题将作业分为:I/O繁忙的作业、CPU繁忙的作业、I/O与CPU均衡的作业三种类型,由系统或操作员根据作业类型指定优先级。为了尽可能使CPU和外部设备并行工作,那么I/O繁忙的作业和CPU繁忙的作业都不能指定为最高的优先级,因为这两类作业都无法均衡地使用资源(CPU或者I/O设备)。对于这两类作业,应指定I/O繁忙的作业优先级高于C
12、PU繁忙的作业,这样做可以提高CPU的利用率,增加系统的吞吐量。因此,这三类作业优先级从高到低的排列顺序是:I/O与CPU均衡的作业、I/O繁忙的作业、CPU繁忙的作业。【例5】下表给出作业l,2,3的提交时间和运行时间。采用先来先服务调度算法和短作业优先调度算法,试问作业调度次序和平均周转时间各为多少?(时间单位:小时,以十进制进行计算。)作业号提交时间运行时间1230.00.41.08.04.01.0分析 解此题关键是要清楚系统中各道作业随时间的推进情况。我们用一个作业执行时间图来表示作业的执行情况,帮助我们理解此题。采用先来先服务调度策略,其作业执行时间图如下: 作业作业3作业2作业1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 辅导 自测
限制150内