第2章 作业管理与用户接口_第1页
第2章 作业管理与用户接口_第2页
第2章 作业管理与用户接口_第3页
第2章 作业管理与用户接口_第4页
第2章 作业管理与用户接口_第5页
已阅读5页,还剩99页未读 继续免费阅读

下载本文档

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

文档简介

第2章作业管理初用户接口

第2章作业管理和用户接口(界面)

2.1操作系统的用户界面

2.2操作系统提供给用户程序的服务

2.3运行一个用户程序的过程

2.4作业的输入与输出

2.5进程调度

2.6调度性能的评价

2.7常见作业调度算法

第2章作业管理笳用户接口

本章学习目标

□操作命令:包括作业控制语言和键盘命令,这

是用户操作计算机的方式

口系统功能调用:这是用户程序对操作系统提供

的服务的调用接口

□系统功能调用的执行过程

口作业的定义、类型、状态、输入输出

第2章作业管理初用户接口

2.1操作系统的用户界面

2.1」操作系统提供的两个接口

2.1.2作业捽制语言和键盘命令

第2章作业管理初用户接口

2.1.1操作系统提供的两个接口

操作系统为用户提供的接口体现在两个方面(如

图2.2所示):一是操作系统为用户提供的各种操

作命令,用户可利用这些操作命令来组织作业的

工作流程和控制作业的运行;二是操作系统为用

户提供的一组系统功能调用,用户可以在源程序

一级使用这些系统调用,请求操作系统提供的服

务(如,请求使用各种外部设备进行信息传输、

向系统申请资源等)。

业管理和用户接口

源程序:系统调用

(作业控制语等

操作命乳

I键盘命令。

图2.2操作系练人机之间的关系「

第2章作业管理初用户接口

2.1.2.操作命令

L键盘命令

一般终端与主机通信的过程可以分为如下几

少1R:

(1)呼叫

(4)退出

第2章作业管理笳用户接口

(1)呼叫

当终端用户想从终端打入命令或输入信息时,他

首先要进行呼叫,例如通过类似电话拨号的方式

进行呼叫。当呼叫成功后,用户就可以从终端的

键盘上打入各种命令输入到计算机系统,即开始

第二步—联接。

第2章作业管理笳用户接口

(2)联接

呼叫成功后,计算机即和终端联上,于是计算机应在终

端设备上输出引导信息,以告诉用户终端设备与系统联

上了。这时,用户应打入一条“录入命令”,向系统申

请录入一个作业。一般录入命令应给出以下参数:用户

名、作业名、口令、资源需求等。系统接到录入命令后,

将检查口令、资源需求等。在符合时,就允许录入。当

用户从终端上看到允许录入的信息后,就知道这个终端

作业被接受了,从而就进入第三步—通信。

第2章作业管理初用户接口

(3)通信

终端作业被录入后,就可以通过终端打入各种控制

作业的命令和从终端输入作业的程序和数据。属于

通信这一步的键盘命令是比较丰富的,一般有以下

几类:

(1)环境设置。(5)编译、连接装配和运行。

(2)系统管理。(6)输入数据。

(3)文件管理。(7)操作方式转换。

(4)编辑修改。(8)申请资源。

第2章作业管理初用户接口

(4)退出

当作业运行结束时,用户应打入“退出”

命令。系统响应命令后将收回分配给作业的全部

资源,然后在终端输出日期和上机时间等,即通

知用户系统已结束了该作业。退出系统后,用户

若要求系统执行新的作业可再打入“录入”命令。

每个作业结束后一定要打入“退出”命令。

第2章作业管理笳用户接口

2.作业控制语言

在脱机方式下,系统为用户提供了作业控制语言

(JCL),用户可利用它来书写作业说明书控制

程序的执行。作业控制语言属于操作系统与用户

之间的界面形式。

大致来说,作业控制语言一般包括:I/O命令、编

译命令、操作命令以及条件命令等几类。

第2章作业管理笳用户接口

3.图形化用户界面

图形用户接口采用了图形化的操作界面,用非常

容易识别的各种图标来将系统的各项功能、各种

应用程序和文件,直观、逼真地表示出来。用户

可通过鼠标、菜单和对话框来完成对应用程序和

文件的操作。

程序的服务

2.2.2

2.2.3

第2章作业管理初用户接口

2.2.1系统调用描述

系统功能调用是操作系统和用户的第二接口。■

用户所需要的功能,有些是比较复杂的,硬件不能

直接提供,只能通过软件的程序来实现。而有些功

能可由硬件完成,并设有相应的指令,如启动外设

工作,就有用于输入/输出的硬指令。但配置了操作

系统后,对系统资源的分配、控制不能由用户干预,

而必须由操作系统统一管理。所以,对于这样一类

功能,也需有相应的控制程序来实现。

第2章作业管理笳用户接口

2.2.1系统调用描述

所谓系统调用,就是用户在程序中调用操作系统所

提供的一些子功能。这是一种特殊的过程调用,这

种调用是由特殊的机器指令实现的。

1、系统调用与-般过程调用的区别

⑴运行在不同的状态

⑵状态的转换

返回问题

(4)嵌套调用

第2章作业管理初用户接口

2.2.1系统调用描述

3.系统调用与一般过程调用的区别:

①运行状态不同。一般的过程调用,其调用和被调用

的过程或者都是用户子程序,或者都是系统程序,故都运行

在同一状态,即系统态或用户态下。系统调用的调用过程是

用户程序,它运行在用户态;而被调用过程是系统过程,它

运行在系统态。

②进入方式不同。一般的过程调用可以直接由调用过

程转向被调用过程;而执行系统调用时,由于调用和被调用

过程处于不同的系统状态,因而不允许由调用过程直接转向

被调用过程而是通过软中断机制,先进入操作系统核心,经

核心程序分析后,才能转向相应的命令处理程序。

第2章作业管理初用户接口

2.2.1系统调用描述

3.系统调用与一般过程调用的区别:

③返回不同。一般的过程调用,在被调用过程执行完后,

可以直接返回调用过程继续执行。而在采用了抢占式剥夺调

度方式的系统中,在被调用过程执行完后,要对系统中所有

要求运行的进程进行优先权的分析。当调用进程仍具有最高

优先权时才返回到调用进程继续执行;否则,将引起重新调

度,以便让优先权最高的进程先执行。此时,将把调用进程

放入就绪队列。

④代码层次不同(嵌套调用)。一般过程调用中的被

调用程序是用户级程序,而系统调用是操作系统代码中的代

码程序,是系统级程序。

第2章作业管理初用户接口

自愿进管指令(访管指令):

为了实现对这些事先编制好的、具有特定功能的

例行子程序的调用,现代计算机系统一般提供自愿进管

指令,其指令形式为:

SVCN

其中,SVC表示机器自愿进管指令的操作码记忆符,N为

地址码。

SVC是SupervisorCall(访问管理程序)的缩写,

所以SVC指令又称访管指令。

当处理机执行到这一条指令时就发生中断,该中

断称为访管中断,它表示正在运行的程序对操作系统的

某种需求。借助中断可使机器状态由目态转为管态。

第2章作业管理初用户接口

2.2.2系统调用功能分类

1.设备管理:这类系统调用被用来请求和释放设备,以

及启动设备操作等。

2.文件管理:这类系统调用包括创建、删除文件,读、

写文件操作以及移动文件指针等。I

3.进程控制:当多个用户程序在系统内执行时引出了一

个新的概念,称为进程。I

4,进程通信:进程间传递消息或信号的系统调用。

内存块的申请、释放,获取作业占用内存

块的首址、大小等。

第2章作业管理初用户接口

2.2.3系统调用的实现

操作系统的基本服务是通过系统功能调用来实现

的,系统功能调用提供运行程序和操作系统之间

的界面。系统调用的实现取决于计算机的结构,

它是由特定的硬件指令实现对操作系统某一服务

例程的调用。

第2章作业管理笳用户接口

2.2.3系统调用的实现(续)

不同操作系统,系统调用实现的具体方法有所不

同,但其实质的特点是相同的:

1)每个系统调用对应-个系统功能号■

2)每个系统调用有一个对应的执行程序段

3)每个系统调用要求一定数量的输入参数和返

回值

4)整个系统有一个系统调用执行程序入口地址

第2章作业管理初用户接口

2.系统调用的处理过程

为T保证os不被用户程序破坏

不允许用户程序访问os的系统程序和数据

那么,怎样得到系统服务的呢?

需要有-个类似于硬件中断处理的处理机构

当用户使用操作系统调用时,产生一条相应的指令,

处理机在执行到该指令时发生相应的中断,并发出有关

的信号给该处理机构

该处理机构在收到了处理机发来的信号后,启动相关的

处理程序去完成该系统调用所要求的功能

第2章作业管理笳用户接口

2.系统调用的处理过程(续1)^,

在系统中为控制系统调用服务的机构称为陷入(TRAP)或

异常处理机构

相对应,把由于系统调用引起处理机中断的指令称为陷入或

异常指令(或称访管指令)

在操作系统中,每个系统调用都对应一个事先给定的功能号,

例如0、1、2、3等

在陷入指令中必须包括对应系统调用的功能号

而且,在有些陷入指令中,还带有传给陷入处理机构和内部

处理程序的有关参数

第2章作业管理初用户接口

2.系统调用的处理过程(续2)

必须为实现系统调用功能的子程序编造入口地址表

每个入口地址与相应的系统程序名对应

陷入处理程序把陷入指令包含功能号与入口地址表有关项对应,

系统调用功能号驱动有关子程序执行

在系统调用处理结束之后,用户程序需利用系统调用返回结果

继续执行

保护现场:

在进入系统调用处理之前,陷入处理机构还需保存处理机现场

在系统调用处理结束之后,要恢复处理机现场,现场被保护在

特定的内存区或寄存器中

第2章作业管理初用户接口

A,JSUB,?

ARSUB.

SUB^

例行子程序,

图2.3系统调用的执行过程

第2章作业管理笳用户接口

2.3运行一个用户程序的过程

一、使用计算机来计算来运行用户程序有三个步骤:

(1)用某种语言(例如FORTRAN语言)编制一个程序,

它被称为源程序。

(2)将源程序和初始数据记录在某种输入介质上。例如

穿成一盘纸带,或在终端设备(包括键盘、显示器)上

直接编辑源程序。

(3)按照一定要求来控制计算机工作,并经过加工最后

算出结果。

第2章作业管理笳用户接口

二、对作业的处理的几个作业步■

(1)编辑(修改):建立新文件或是对原有文件进行修

改。

(2)编译:请求系统把修改好的源程序翻译成浮动目标

模块,并将它放在磁盘上,也可以穿孔输出或二者有之。

(3)链接:请求系统把主程序模块和其他所需要的子程

序和例行程序链接装配在一起,成为一个可执行的完整

的内存映像文件。

4)运行:将主存映像文件调入主存,并启动运行,最后

得出计算结果。

第2章作业管理露用户接口

二、批处理系统作业处理

1.作业的基本概念

(1)作业

用户在一次计算过程中,或者一次事务处理过程中,要求计

算机系统所做工作的总称

(2)作业步

-个作业可划分成若干部分,称为-个作业步

典型的作业控制过程:

“编译”、“连接装配”、“运行”

(3)作业流

第2章作业管理初用户接口

作业的基本概念(续1)

(4)典型的作业步

库函数

第2章作业管理笳用户接口

三、作业步之间的关系表现为

(1)每个作业步运行的结果产生下一个作业步

所需要的文件。如图2.1所示。

(2)一个作业步能否正确地执行,依赖于前一

个作业步是否成功地完成。

第2章作业管理初用户接口

USERFORUSER.OBPUSER.EXL、-

B(微).-----

S2.1作蛾加的关和

图2.1作业步之间的关系

第2章作业管理初用户接口

作业、作业步、进程的关系

第2章作业管理初用户接口

作业的基本类型

根据调度和控制的需要进行分类

从调度的角度,可分为:

计算型作业:指任务中包含大量的计算,而其I/O较少的作

业,如通常的科学计算;

I/O型作业:要求少量的计算而需大量I/O的作业,如通常的

事务处理

第2章作业管理初用户接口

作业的基本类型

从控制的角度,可分为:

脱机作业(批量型作业):

在整个作业的运行过程中,只需根据作业说明书

中的说明对作业进行控制,脱机作业通常是在批处理操

作环境下运行,故也称为批量型作业;

联机作业(终端型作业):

通常是用键盘命令直接控制作业的运行,联机作业

通常在分时操作环境下运行,故也称为终端型作业。

第2章作业管理笳用户接口

2.作业的4种状态

一个作业从进入系统到运行结束,要经历提交、

后备、运行(执行)、完成4个阶段。

运行状态

业运行

预输入备作业缓输出

-状

入完成

态(W

第2章作业管理笳用户接口

【提交状态】

当程序员将作业实体已存储在某种输入介质上时所处的状态。

【后备状态】

输入管理系统不断把作业输入到输入井,如一个作

业全部信息被输入到输入井,在它未被调度执行之前,

该作业处于后备状态。为每个作业设置一个作业控制

块(JCB)

【运行状态】II

一个后备作业被作业调度程序选中,分配了资源,

调入内存运行时的状态

【完成状态】

作业运行完毕,所占用的资源尚未全部回收,处于

完成状态。

第2章作业管理初用户接口

2.3作业的输入输出

作业信息的输入与结果的输出涉及设备的I/O方

式,根据是否使用通道可分为无通道处理和有通

道处理两种方式。

第2章作业管理初用户接口

2.3作业的建立

-个作业的建立包括两个子过程:

作业的输入、作业控制块的建立。

作业的输入方式:p35

■联机输入方式

-脱机输入方式

-直接耦合方式

-网络输入方式

-SPOOLING系统(SimultaneousPeripheral

OperationOn-Line)

第2章作业管理初用户接口

作业的输入方式

联机输入方式

-外围设备直接和主机相连。

脱机输入方式(预输入方式)

-利用低档个人计算机作为外围处理机进行处

理。

-脱机输入解决了快速输入输出的问题,提高

了资源利用率,但是要以牺牲低档机为代价。

还需要用户干预

第2章作业管理笳用户接口

直接耦合方式

-慢速的输入输出过程由外围低档机管理

-公用存储器中的大量数据的高速读写由主机完成

网络输入方式

-用户需要把在计算机网络中某一台主机上输入的信息传送

到同一网中另一台主机上就行操作执行,构成了网络输入

方式

第2章作业管理笳用户接口

SPOOLING系统(假脱机操作)

SimultaneousPeripheralOperationOnLine

-它使用直接存取的大容量磁盘作为缓冲,将

一个可共享的磁盘空间改造成若干个输入设备

和输出设备,并使得I/O设备和CPU并行操作。

(在联机情况下实现的同时外围操作)

SPOOLING系统的组成

-输入井和输出井

-输入缓冲区和输出缓冲区

-输入进程和输出进程

(输入管理模块、输出管理模块)

SPOOLING系统

第2章作业管理笳用户接口

SPOOLING系统输入过程:

-系统的输入程序包含两个独立的过程,一个

过程负责从外部设备把信息读入缓冲区;另

一个过程是写过程,负责把缓冲区中的信息

送到外存输入井中。

-在系统输入模块收到作业输入请求后,输入

管理模块中的读过程负责将信息从输入装置

读入缓冲区。当缓冲区满时,由写过程将信

息从缓冲区写到外存的输入井中

第2章作业管理初用户接口

SPOOLING系统的工作原理

•当用户提交一批作业后,操作员键入“预

输入命令”启动预输入程序工作,预输入

程序启动输入机读出作业信息,并把它们

存放到输入井中。当主存储器可以装入作

业时就从输入井中选择若干作业装入主存

储器。被装入主存储器中的作业在执行中

可请求井管理程序从输出井读需处理的信

息或把处理结果写到输出井中。缓输出程

序利用处理器空闲时间把作业执行结果在

打印机上输出

第2章作业管理初用户接口

SPOOLING系统的特点

-提高了I/O速度

-将独占设备改造为共享设备

-实现了虚拟设备功能

第2章作业管理初用户接口

2.4作业调度

作业调度是由作业调度程序来完成的,作业调度

程序在系统初始化时被创建的。他的主要功能是

审查系统能否满足用户作业的资源请求,以及根

据一定的算法从输入的一批作业中选出若干个作

业,分配必要的资源,并将其调入内存准备执行。

第2章作业管理初用户接口

作业调度

2.4.1作业状态

2.4.2作业调度

第2章作业管理初用户接口

2.4.1作业状态(4种)

提交状态:用户向系统提交一个作业时,该作业

所处的状况。

后备状态:用户作业经过输入设备送入输出井

(磁盘)中存放,等待进入内存时所处的状

况。此时,该作业的数据已转换成为机器可

读的内部形式,并且作业请求资源等信息也

交给了操作系统。

第2章作业管理初用户接口

执行状态:作业分配到所需要的资源,被调入内

存,其进程经调度在处理机上执行相应的程

序时所处的状况。此时该作业真正处于活动

完成状态:作业完成了计算任务,结果由打印机

输出,最后由系统收回分配给它的全部资源,

准备退出系统时的作业状况。

CPU

o

输入井输出井

用户

打印机.用户

job2

jobn

多道批处理系统

第2章作业管理初用户接口

2.4.2作业调度

(JobControlBlock,):在多

道批处理系统中通常有上百个作业被收容在

输入井(磁盘)中,为了管理和调度作业,I

系统为每个作业设置了-个作业控制块■

(JCB),它记录该作业的有关信息。不同系

统的JCB的组成内容有所区别。

第2章作业管理初用户接口

作业控制块的主要内容

作业名*******

预估的运算时间、最迟完成时间、

资源要求要求的内存量、要求的外设类型、

台数,要求的文件量和输出量

资源使用状进入系统的时间、开始运行的时间、

已运行时间、内存地址、外设台号,

类型级别控制方式、作业类型、优先级

执行

第2空作业管理多用户接口

JCB是作业在系统中存在的唯一标志。作业进入系

统时由SPOOLing系统为每个作业建立一个JCB;

当作业退出系统时,则它的JCB也一起被撤消。■

在磁盘输入井中的所有后备作业按作业类型(CPU

型、I/O型等)组成不同的后备作业队列。由作业

调度程序从中挑选作业,随后放入内存,予以运行。

作业调度主要用于批处理系统。

第2章作业管理初用户接口

2.作业调度的主要任务:完成作业从后备状态到执行状

态和从执行状态到完成状态的转换。

作业调度的主要功能:p38

①记录系统中各个作业的情况:

②按照某种调度算法从后备作业队列中挑选作业:I

③为选中的作业分配内存和外设等资源;

④为选中的作业建立相应的进程:

⑤作业结束后进行善后处理工作。

第2章作业管理初用户接口

2.5进程调度

2.5.1进程调度的功能和时机

2.5.2两级调度模型

2.5.3三级调度模型

第2章作业管理初用户接口

2.5.1进程调度的功能和时机

进程调度为低级调度,完成进程状态从就绪态到

运行态的转化。进程调度程序完成一台物理CPU

转变为多台虚拟(或逻辑)CPU的工作。

进程调度程序是操作系统的真正核心,它直接负

责CPU的分配。系统中所有进程都是在CPU上运

行的,进程调度程序就是它们的切换开关。

第2章作业管理初用户接口

L进程调度的主要功能

保存现场:当前运行的进程调用进程调度程序时,即表示

该进程要求放弃CPU。这时,进程调度程序把它的现

场信息,如程序计数器及通用寄存器的内容等保留在

该进程PCB的现场信息区中;

挑选进程:根据一定的调度算法,从就绪队列中选出一个

进程,并将其状态置为运行态,准备分配CPU;

恢复现场:为选中的进程恢复现场信息,并将CPU控制权

交给该进程,从而接着上次间断的地方继续运行。

第2章作业管理初用户接口

2.进程调度的时机

任务完成:正在运行的进程完成任务后,主动释放对CPU

的控制;

等待资源:由于等待某些资源或事件,正在运行的进程不

得不放弃CPU;

运行到时:在分时系统中,当前进程使用完规定的时间片

时,时钟中断使该进程让出CPU;

发现标志:核心处理完中断或陷入事件后,发现系统中

“重新调度”标志被置上,表明有比当前用户进程更适

宜运行的进程,则执行进程调度。

第2章作业管理初用户接口

2.5.2两级调度模型

作业调度和进程调度是CPU主要的两级调度,它们的区

级别不同。作业调度是宏观调度,为进程活动做准备,进

程调度是微观调度,使进程真正活动起来;

执行频率不同。作业调度次数少,进程调度频率高;

有的系统不设作业调度,但进程调度必不可少。

作业调度进程调度

后备

队就绪队列

I/O完成

I/O等待请求I/O

I/O

队列

二级调度简化队列图

第2章作业管理初用户接口

2.6调度性能的评价

2.6.1调度策略的选择I

2.6.2性能评价准则

第2章作业管理初用户接口

2.6.1确定调度策略时应考虑的主要因素

设计目标。所用算法应保证实现系统的设计目标。目标不

同,系统设计要求不同。如:

批处理系统:提高资源利用率和增加系统的平均吞吐量;]

分时系统:保证对用户的均衡响应时间;

实时系统:实现对事件的及时可靠的处理;

网络系统:用户和程序能方便、有效地利用网络中的分布

式资源。

第2章作业管理初用户接口

对所有作业或进程应公平对待,使每个进程能公

平地共享CPU。

2)均衡性。均衡使用资源,尽量使系统中各种资源同时得到

利用,提高资源的利用率。

3)统筹兼顾。兼顾响应时间和资源利用率。对分时系统,应

在很短的时间响应用户需求。

4)优先级。基于相对优先级,但避免无限延期。随着等待时

间的延长,低优先级进程的优先级应得到提升。

5)开销。系统开销不应太大。

第2章作业管理初用户接口

2.6.2性能评价准则

CPU利用率:实际系统中,CPU利用率一般从

40%(轻负荷系统)至90%(重负荷系统)。通常

在一定的I/O等待时间的百分比下,运行程序

道数越多,CPU空闲时间的百分比越低。H

吞吐量:单位时间内CPU完成作业的数量。

第2章作业管理笳用户接口

3.周转时间

在一个批处理系统中,为了吸引更多的用户来处理作业,

系统总是力求缩短用户作业的周转时间。

周转时间:从作业提交到作业完成的时间间隔。用于作业

等待进入内存,进程在就绪队列中等待,进程在CPU上

执行和完成I/O操作所花费时间的总和。

Ti=Ki-KiI

其中:tsi表示作业i的提交时间,亦即作业i到达

系统的时间;tci表示作业i的完成时刻。

平均周转时间:n个作业的平均周转时间T为:

第2章作业管理初用户接口

带权周转时间:为周转时间T和实际运行时间R之

比。能合理的反映长短作业的差别。

W二T/R(R为实际执行时间)

平均带权周转时间:

_/n\1(n1

w=ywix-=V—X-

第2章作业管理初用户接口

4.就绪等待时间:CPU的调度算法并不真正影

响作业执行或I/O操作的时间数量。各种■

CPU调度算法仅影响作业(进程)在就绪队列

中所花费的时间数量。

5.响应时间:从提交第一个请求到产生第一个

请求的回应所用的时间。为刚开始响应的时

间,而不是用于输出响应的时间。

第2章作业管理初用户接口

2.7常见作业调度算法

2.7.1先来先服务法(FCFS)

272时间片轮转法(RR),

2.7.3优先级法■

2.7.4其它调度算法简介

第2章作业管理初用户接口

2.7.1先来先服务法(FCFS)

实现思想:每次调度都选择队头的作业或进程;■

有利于长作业(进程),不利于短作业(进程);

有利于CPU繁忙型作业(需大量CPU时间进行计算

的作业),不利于I/O繁忙型作业(需频繁请求I/O

的作业);■H

算法简单,实现容易,但效率低。

第2章作业管理初用户接口

例如:设有三个作业,编号为1,2,3。各作业

分别对应一个进程。各作业依次到达,相差

一个时间单位,3个进程分别需要运行24、3

和3个时间单位。

图示三个作业的执行顺序;

算出各作业的平均周转时间和平均带权周转时间。

第2章作业管理初用户接口

复习:

周转时间:从作业提交到作业完成的时间间隔。

=t'—t.

平均周转时间:n个作业的平均周转时间T为:

«I

带权周转时间:为周转时间T和运行时间R之比。

W=T/R

平均带权周转时间:

(n、1r1

W=汇府x—=v—x—

ti=l)nn

图示三个作业的执行顺序:

作业3•;:-

作业2I.i*1i1

作业1―i_i---------------------------;::

*JI«11•1*••11_

012242730日寸I旬

算出各作业的周转时间和带权周转时间:

/pt\||/到达运行开始完成周转带权周

1F业

时间时间时间时间时间转时间

1024024241

2132427268.67

3232730289.33

平均周转时间T=26,平均带权周转时间W=6.33

第2章作业管理初用户接口

2.7.2时间片轮转法(RR)

主要用于分时系统中的进程调度。

实现思想:系统把所有就绪进程按先入先出的原则排成一个

队列。新来的进程加到就绪队列末尾。每当执行进程调度时,

进程调度程序总是选出就绪队列的队首进程,让它在CPU上

运行一个时间片的时间。当进程用完分给它的时间片后,系

统计时器发出时钟中断,调度程序便停止该进程的运行,并

把它放入就绪队列的末尾;然后,把CPU分给就绪队列的队

首进程,同样也让它运行一个时间片,如此往复,如同轮流

坐庄。

第2章作业管理初用户接口

例如:设4个进程A、B、例口D依次进入就绪队列

(同时到达),四个进程分别需要运行12、5、3

和6个时间单位。

①图示RR法时间片q=1和q=4时进程运行情况;

②算出各进程的周转时间和带权周转时间。

第2章作业管理初用户接口

时间片轮转法(q=l)

进程到达运行开始完成周转带权周

名时间时间时间时间时间转时间

A012026262.17

B05117173.4

C03211113.67

D06320203.33

周转时间T=18.5,平均带权周转时间W=3.14

第2章作业管理露用户接口

时间片轮转法(q=4)

进程到达运行开始完成周转带权周

名时间时间时间时间时间转时间

A012026262.17

B05420204

C03811113.67

D061122223.67

周转时间T=19.75,平均带权周转时间W=3.38

第2章作业管理笳用户接口

时间片轮转法的性能

时间片的大小对轮转法的性能影响很大。

时间片的长短由下列因素决定:

系统响应时间:在进程数目一定时,时间片的长短直接正

比于系统对响应时间的要求;

就绪队列进程的数目:当系统要求响应时间一定时,时间

片的大小反比于就绪队列中的进程数;

进程的转换时间:若进程的转换时间为3时间片为q,为

保证系统开销不大于某个标准,应使比值t/q不大于某

一数值,如1/10;

CPU运行指令速度:CPU运行速度快,时间片可短些。反

之,则应取长些。

第2章作业管理初用户接口

2.7.3优先级法

实现思想:从就绪队列中选出优先级最高的进程,把CPU

两种处理方式:

非抢占式优先级法:当前占用CPU的进程一直运行下去,

直到完成任务或因等待某事件发生而主动让出CPU时,

系统才让另一个优先级高的进程占用CPU。

抢占式优先级法:当前进程在运行过程中,一旦有另一个

优先级更高的进程出现在就绪队列中,进程调度程序

就停止当前进程的运行,强行将CPU分给那个进程。

第2章作业管理初用户接口

进程优先级可由系统内部定义或外部指定:

内部优先级:利用某些可度量的量来定义一个进程的优先

级,如,进程类型,进程对资源的需求(时间限度,需要内

存大小,打开文件的数目,1/0平均工作时间与CPU平均工

作时间的比值等),用它们来计算优先级。

外部优先级:按操作系统以外的标准设置,如,外单位人员

租用计算中心大型计算机所付款的类型和总数,使用计

算机的部门以及其它的外部因素。

第2章作业管理初用户接口

静态优先级和动态优先级:

优先数:标识优先级的整数,在Unix/Linux系统中,优先数

越小,优先级越高。

静态优先级:在创建进程时确定,且在进程的整个运行期间

保持不变。优点是易于实现,系统开销小;缺点是会出现

“饥饿”现象。

动态优先级:随着进程推进优先级不断改变,如,使得系统

中等待CPU很长时间的进程逐渐提升其优先级,避免发生

“饥饿”现象。

第2章作业管理初用户接口

假定在单CPU条件下有下列要执行的作业:

作业运行时间优先级

1103

214

322

411

553

各作业依次到达,相差一个时间单位。

①用执行时间图描述非抢占优先级调度算法执行这些作

业的情况;

②算出各作业的周转时间和带权周转时间。

第2章作业管理初用户接口

用执行时间图描述调度算法执行这些作业

的情况

作业5

作业4

作业3

作业2

作业1

1819时间

第2章作业管理初用户接口

算出各作业的周转时间和带权周转时间

平均周转时间T=12.2平均带权周转时间W=7.06

第2章作业管理初用户接口

2.7.4其它调度算法简介

短作业优先法(SJF):主要用于作业调度。

基本思想:从后备作业队列中选取运行时间最短的作业

放入内存。采用非抢占策略,系统选中某个短作业后

投入运行,直到该作业完成并退出系统。

特点:能有效地降低作业的平均等待时间和提高系统吞

吐量,但对长作业很不利,且不能保证紧迫性作业会

被及时处理。

第2章作业管理初用户接口

最短剩余时间优先(SRTF)

采用抢占式策略。当新进程加入就绪队列时,若其需要的

运行时间比当前运行进程所需的剩余时间还短,则强

行夺取运行进程的CPU控制权,新进程调度运行。■

特点:总能保证新的短作业一进入系统就得到执行,但该

算法需要增加系统开销,如保存进程断点现场,统计

进程剩余时间等。

第2章作业管理初用户接口

5.最高响应比优先法(HRN,Highest

ResponseratioNext)

最高响应比优先法(HRN)是对FCFS方

式和SJF方式的一种综合平衡。FCFS

方式只考虑每个作业的等待时间而未

考虑执行时间的长短,而SJF方式只

考虑执行时间而未考虑等待时间的长

短。

第2章作业管理初用户接口

此,这两种调度算法在某些极端

情况下会带来某些不便。HRN调度

琪略同时老虑警个作业的等待时间

长短和估计需栗的执行时间长短,

从中选出响应比最高的作业投入执

行。

响应比R定义如下:

R=(W+T)/T=1+W/T

端成第

力「触很#世

般嘴a

r取

w

招'包耙

W找

t

'

盘M名

#漏

需\

M

fr

*回

崛n

电4材力吊

盖4

壮普。

本就上触4

肥招R

也关事能耙

4

叫当<

有日■

4

嗨■嘲

W

叫壮1需憧。

近上

果翔G都

思植徵林

殿瑜长第

衣4瑜

e

血4

舔M

H

耳4

喉壮H

右4

一上牌

H

/

衣m

研1

乳录招m国

w

fr

m

那#

叫%

V恭

域**

a步

N

Hw4曲

ft招

S4名*

4M豳

S泵o

H&H名R

f耙

uKSM

H耳

温馨提示

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

评论

0/150

提交评论