- 1、本文档共38页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章调与死锁
4 处理机调度与死锁 4.1调度的基本概念 处理机调度实际上是处理机分配问题。在多道程序系统中,一个作业被提交后,必须经过处理机调度后,方能获得处理机而执行。在批处理系统中,处于执行状态下的作业一般包含多个进程;在分时系统中,同时有多个终端进程;而在单处理机系统中,每一时刻只能有一个进程占有处理机。因此,如何从众多的就绪进程中挑选一个进程,使之得到处理机而执行呢?这就需要有一定的方法和策略为这些进程分配处理机 1.作业的概念 在一次应用业务处理过程中,从输入开始到输出结束,用户要求计算机所做的有关该次业务处理的全部工作为一个作业。例如:用语言编制一个程序,系统要完成如下工作:①编辑、②编译、③链接、④执行。以上几个步骤的总和就是一个作业 一般来说,作业是比进程还大的一个概念,一个作业通常包含多个计算步骤,作业中一个相对独立的处理步骤称为一个作业步。各个作业步是相对独立又相对关联的,一般来说,每一步产生下一个作业步的输入文件 作业由程序、数据和作业说明书组成。系统通过作业说明书控制文件形式的程序和数据,使之执行和操作。而且,在批处理系统中,作业是抢占内存的基本单位。也就是说,批处理系统以作业为单位把程序和数据调入内存以便执行 一个作业至少包含一个程序。作业中包含的程序和数据完成用户所要求的业务处理工作。作业说明书则体现用户的控制意图。通过作业说明书,在系统中将生成一个称为作业控制块(JCB)的表格。该表格登记该作业所要求的资源情况、预计执行时间和执行优先级等。从而操作系统通过该表了解到作业的要求,并分配资源和控制作业中程序和数据的编译、链接、装入和执行等。 2.作业的状态 与进程的状态变换类似,一个作业从进入系统到运行结束,一般要经过三个阶段,对应有“后备”、“执行”、“完成”三个状态 (1)后备状态 用户通过某种输入设备将作业从外部输入到外存中的过程称为提交过程。当作业的全部信息进入外存之后,系统为之建立一个作业控制块,标志着作业的生命周期开始。在作业提交完成,未开始运行之前这一阶段,作业处于后备状态。外存中所有的后备作业组成一个后备队列,等待作业调度程序选中 (2)执行状态 当一个位于后备队列的作业被作业调度选中调入内存,直到作业的功能完成这一阶段,作业处于执行状态。需要指出的是,从宏观上看,作业处于执行状态,但是由于作业的主进程又可以建立若干子进程,同时,作业调度程序可以在一段时间内选中多个作业投入运行,所以,从微观上看,在某一时刻,到底由哪一个作业的哪一个进程在处理机上执行,则由进程调度程序决定 (3)完成状态 当一个作业正常终止,或者出错而中途停止,作业就处于完成状态。在这一阶段,操作系统回收该作业所占用的资源,给出作业的执行结果,同时执行作业调度程序选取新的作业执行。作业的输出结果可以在作业结束时直接输出,也可以以输出文件的方式送入外存设备稍后采用脱机方式输出 4.1.2 分级调度 1.作业调度 又称宏观调度或高级调度。其主要任务是按一定的算法从后备作业队列中选中一个或一批作业调入内存,并为之分配内存等必要的资源,创建相应的进程,以使该作业获得竟争处理机的权利。另外,当作业执行完成时,还负责回收系统资源。由于一个系统中可同时有多个作业同时运行,一个作业中又可有多个进程,故一个作业在宏观上处于运行状态,在微观上,究竟哪个作业的哪个进程能真正的获得处理机而执行,要由进程调度来决定。 2.交换调度 为了提高内存利用率和系统吞吐量,引入了交换调度,也称为中级调度。其主要任务是按照给定的策略,将处于内存中暂时不运行的进程的部分或全部代码与数据调至外存交换区中,此时,进程处于静止状态。当这些进程重又具备运行条件,由中级调度将决定将哪些进程重新调入内存,这一过程也称为“激活”,进程这时处于活动状态。因此,在引入交换调度的系统中,进程的就绪状态分为静止就绪和活动就绪,等待状态分为静止等待和活动等待。 3.进程调度 又称微观调度或低级调度。其主要任务是按照某种策略和方法选取一个就绪状态的进程占用处理机。在确定了占用处理机的进程之后,系统必须进行进程上下文切换以建立与占用处理机进程相适应的环境。 4.线程调度 与进程调度类似,选择一个就绪状态的线程进入执行状态。与进程调度不同的是,线程上下文切换比进程上下文速度快。 4.1.3 调度的功能与时机 1.作业调度的功能与时机 作业调度由作业调度程序处理的,它本身作为一个系统进程执行,这个进程系统初始化时就已经建立了。作业调度程序主要完成作业从后备状态到的执行状态的转变,以及从执行状态到完成状态的转变。 一般来说,一个作业调度程序应完成下述功能。 (1)记录系统中各作业的状况。为了对作业进行管理,系统必须掌握作业在各个阶段的有关情况。通常,当作业进入后备状态之后,系统为它
文档评论(0)