资源预览内容
第1页 / 共99页
第2页 / 共99页
第3页 / 共99页
第4页 / 共99页
第5页 / 共99页
第6页 / 共99页
第7页 / 共99页
第8页 / 共99页
第9页 / 共99页
第10页 / 共99页
亲,该文档总共99页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第第2章章 用户接口和作业管理用户接口和作业管理概述概述q作业的基本概念作业的基本概念 概念概念 作业通常是指用户在一次计算过程中或者一次事物处理过程中要作业通常是指用户在一次计算过程中或者一次事物处理过程中要求计算机系统所作的工作的集合求计算机系统所作的工作的集合 任何一个作业都要经过若干加工步骤才能得到结果,作业的每一任何一个作业都要经过若干加工步骤才能得到结果,作业的每一个加工步骤称为一个作业步个加工步骤称为一个作业步 一次有一批作业进入系统,并在操作系统控制下,一个接一个地一次有一批作业进入系统,并在操作系统控制下,一个接一个地进行处理,称之为作业流进行处理,称之为作业流 作业的两种基本类型:批处理作业、交互式作业作业的两种基本类型:批处理作业、交互式作业q 用户接口用户接口 命令接口命令接口 程序接口程序接口 图形接口图形接口命令接口命令接口q联机命令接口联机命令接口命令的格式和分类命令的格式和分类 - - 一般格式为:命令名一般格式为:命令名 参数,参数,参数,参数,参数参数 - - 操作控制命令类型有:系统访问命令操作控制命令类型有:系统访问命令 ,文,文件、目录管理命令,编辑修改命令,编译、连接件、目录管理命令,编辑修改命令,编译、连接和执行命令,询问命令,操作员专用命令和执行命令,询问命令,操作员专用命令 - - 命令的接收和解释执行命令的接收和解释执行 交互式系统主要包括:一组联机命令,终交互式系统主要包括:一组联机命令,终端处理程序,命令解释程序端处理程序,命令解释程序命令接口命令接口q终端处理程序终端处理程序 配置在终端上的终端处理程序主要用于实现人机交互,具有以配置在终端上的终端处理程序主要用于实现人机交互,具有以下功能:下功能: 接收用户从终端上输入的字符接收用户从终端上输入的字符 字符缓冲管理字符缓冲管理 回送显示回送显示 屏幕编辑屏幕编辑 特殊字符处理特殊字符处理 命令解释程序命令解释程序 主要功能:对用户输入的命令进行解释,并转入相应的命令主要功能:对用户输入的命令进行解释,并转入相应的命令处理程序去执行处理程序去执行 对命令的处理方法:由命令解释程序直接处理对命令的处理方法:由命令解释程序直接处理 或由子进程代或由子进程代为处理为处理 命令接口命令接口脱机命令接口脱机命令接口 作业控制语言是对用户作业的进行组织和管理的各作业控制语言是对用户作业的进行组织和管理的各种控制命令的集合种控制命令的集合 作业控制说明书是用户用于描述批处理作业处理过作业控制说明书是用户用于描述批处理作业处理过程控制意图的一种特殊程序程控制意图的一种特殊程序 作业控制说明书主要包括内容作业控制说明书主要包括内容 作业的基本描述、作业控制描述和资源要作业的基本描述、作业控制描述和资源要求描述求描述 作业的组成作业的组成 程序、数据和作业控制说明书程序、数据和作业控制说明书系统调用系统调用 系统调用系统调用是操作系统提供给编程人员是操作系统提供给编程人员的唯一接口。编程人员利用系统调用的唯一接口。编程人员利用系统调用,在源在源程序一级动态请求和释放系统资源,调用程序一级动态请求和释放系统资源,调用系统中已有的系统功能来完成那些与机器系统中已有的系统功能来完成那些与机器硬件部分相关的工作以及控制程序的执行硬件部分相关的工作以及控制程序的执行速度等。因此,系统调用像一个黑箱子那速度等。因此,系统调用像一个黑箱子那样,对用户屏蔽了操作系统的具体动作而样,对用户屏蔽了操作系统的具体动作而只提供有关的功能。事实上,命令控制界只提供有关的功能。事实上,命令控制界面也是在系统调用的基础上开发而成的。面也是在系统调用的基础上开发而成的。系统调用是由操作系统中的一段程序来系统调用是由操作系统中的一段程序来完成特定功能的,属于一种特殊的过程完成特定功能的,属于一种特殊的过程调用。有的计算机系统中,把它称为广调用。有的计算机系统中,把它称为广义指令。义指令。调用的方式:采用访管方式来实现。通调用的方式:采用访管方式来实现。通过产生一个访管中断,使处理机由目态过产生一个访管中断,使处理机由目态(用户态)转为管态(系统态)。(当(用户态)转为管态(系统态)。(当中央处理器处于目态时不允许执行特权中央处理器处于目态时不允许执行特权指令;而处于管态时可执行这些包括特指令;而处于管态时可执行这些包括特权指令在内的一切机器指令)权指令在内的一切机器指令) 系统调用分类系统调用分类系统调用大致可分为如下几类系统调用大致可分为如下几类:(1) 设备管理设备管理。该类系统调用被用来请求和释放有关设备、以及启动设备。该类系统调用被用来请求和释放有关设备、以及启动设备操作等。操作等。(2) 文件管理文件管理。对文件的读、写、创建和删除等。对文件的读、写、创建和删除等。(3) 进程控制进程控制。进程是一个在功能上独立的程序的一次执行过程。进程控。进程是一个在功能上独立的程序的一次执行过程。进程控制的有关系统调用包括进程创建、进程执行、进程撤消、执行等待和制的有关系统调用包括进程创建、进程执行、进程撤消、执行等待和执行优先级控制等。执行优先级控制等。(4) 进程通信进程通信。该类系统调用被用在进程之间传递消息或信号。该类系统调用被用在进程之间传递消息或信号。(5) 存储管理存储管理。包括调查作业占据内存区的大小、获取作业占据内存区的。包括调查作业占据内存区的大小、获取作业占据内存区的始址等。始址等。(6) 线程管理线程管理。包括线程的创建、调度、执行、撤销等。包括线程的创建、调度、执行、撤销等。 不同的系统提供有不同的系统调用。一般,每个系统为用户提供不同的系统提供有不同的系统调用。一般,每个系统为用户提供几十到几百条系统调用。几十到几百条系统调用。系统调用系统调用 为了提供系统调用功能,操作系统内为了提供系统调用功能,操作系统内必须有事先编制必须有事先编制好的实现这些功能的子程序或过程好的实现这些功能的子程序或过程。显然,这些程序或过。显然,这些程序或过程是操作系统程序模块的一部分,且不能直接被用户程序程是操作系统程序模块的一部分,且不能直接被用户程序调用。而且,为了保证操作系统程序不被用户程序破坏,调用。而且,为了保证操作系统程序不被用户程序破坏,一般操作系统都不允许用户程序访问操作系统的系统程序一般操作系统都不允许用户程序访问操作系统的系统程序和数据。那么,编程人员给定了系统调用名和参数之后是和数据。那么,编程人员给定了系统调用名和参数之后是怎样得到系统服务的呢怎样得到系统服务的呢? 这需要有一个类似于硬件中断处这需要有一个类似于硬件中断处理的中断处理机构。当用户使用系统调用时,产生一条相理的中断处理机构。当用户使用系统调用时,产生一条相应的指令,处理机在执行到该指令时发生相应的中断,并应的指令,处理机在执行到该指令时发生相应的中断,并发出有关信号给该处理机构。该处理机构在收到了处理机发出有关信号给该处理机构。该处理机构在收到了处理机发来的信号后,启动相关的处理程序去完成该系统调用所发来的信号后,启动相关的处理程序去完成该系统调用所要求的功能。要求的功能。系统调用系统调用在系统中为控制系统调用服务的机构称为在系统中为控制系统调用服务的机构称为陷阱陷阱(trap)处理处理机构机构。与此相对应,把由于系统调用引起处理机中断的指。与此相对应,把由于系统调用引起处理机中断的指令称为令称为陷阱指令陷阱指令(或称访管指令或称访管指令)。在操作系统中,每个系。在操作系统中,每个系统调用都对应一个事先给定的功能号,例如统调用都对应一个事先给定的功能号,例如0,1,2,3等。等。在陷阱指令中必须包括对应系统调用的功能号。而且,在在陷阱指令中必须包括对应系统调用的功能号。而且,在有些陷阱指令中有些陷阱指令中,还带有传递给陷阱处理机构和内部处理程还带有传递给陷阱处理机构和内部处理程序的有关参数。序的有关参数。为了实现系统调用,系统设计人员还必须为实现各种系统为了实现系统调用,系统设计人员还必须为实现各种系统调用功能的子程序编造入口地址表,每个入口地址都与相调用功能的子程序编造入口地址表,每个入口地址都与相应的系统子程序名对应起来。然后,由陷阱处理程序把陷应的系统子程序名对应起来。然后,由陷阱处理程序把陷阱指令中所包含的功能号与该入口地址表中的有关项对应阱指令中所包含的功能号与该入口地址表中的有关项对应起来,从而由系统调用功能号驱动有关系统子程序执行。起来,从而由系统调用功能号驱动有关系统子程序执行。系统调用系统调用由于在系统调用处理结束之后,用户程序由于在系统调用处理结束之后,用户程序还需利用系统调用的返回结果继续执行,还需利用系统调用的返回结果继续执行,因此,在进入系统调用处理之前,陷阱处因此,在进入系统调用处理之前,陷阱处理机构还需保存处理机现场。再者理机构还需保存处理机现场。再者,在系统在系统调用处理结束之后,陷阱处理机构还要恢调用处理结束之后,陷阱处理机构还要恢复处理机现场。在操作系统中,处理机的复处理机现场。在操作系统中,处理机的现场一般被保护在特定的内存区或寄存器现场一般被保护在特定的内存区或寄存器中。中。系统调用的处理过程系统调用的处理过程参数传递问题参数传递问题不同的系统调用需要传递给系统子程序以不同的参数。而不同的系统调用需要传递给系统子程序以不同的参数。而且且,系统调用的执行结果也要以参数形式返回给用户程序。系统调用的执行结果也要以参数形式返回给用户程序。那么,怎样实现用户程序和系统程序之间的参数传递呢那么,怎样实现用户程序和系统程序之间的参数传递呢? 几种常用的实现方法。一种是几种常用的实现方法。一种是由陷阱指令自带参数由陷阱指令自带参数。一般。一般来说,一条陷阱指令的长度总是有限的来说,一条陷阱指令的长度总是有限的,而且,该指令还要而且,该指令还要携带一个系统调用的功能号,从而,陷阱指令只能自带极携带一个系统调用的功能号,从而,陷阱指令只能自带极有限的几个参数进入系统内部。另一种办法是有限的几个参数进入系统内部。另一种办法是通过使用有通过使用有关通用寄存器来传递参数关通用寄存器来传递参数。显然。显然,这些寄存器应是系统程序这些寄存器应是系统程序和用户程序都能访问的。不过,由于寄存器长度也是较短和用户程序都能访问的。不过,由于寄存器长度也是较短的。从而无法传递较多的参数。因此,在系统调用较多的的。从而无法传递较多的参数。因此,在系统调用较多的系统中,大多在内存中开辟系统中,大多在内存中开辟专用堆栈区专用堆栈区来传递参数。来传递参数。系统调用系统调用另外,在系统发生访管中断或陷阱中断时,另外,在系统发生访管中断或陷阱中断时,为了不让用户程序不直接访问系统程序,为了不让用户程序不直接访问系统程序,反映处理机硬件状态的处理机状态字反映处理机硬件状态的处理机状态字PSW中的相应位要从用户执行模式转换为系统中的相应位要从用户执行模式转换为系统执行模式。这一转换在发生访管中断时由执行模式。这一转换在发生访管中断时由硬件自动实现。一般把处理机在用户程序硬件自动实现。一般把处理机在用户程序中执行称为中执行称为用户态用户态,而把处理机在系统程,而把处理机在系统程序中执行称为序中执行称为系统态系统态。系统调用与一般过程调用的区别系统调用与一般过程调用的区别通过软中断进入通过软中断进入 一般的过程调用可直接由调用过程转向被调用过程;一般的过程调用可直接由调用过程转向被调用过程;系统调用通常都是通过软中断机制转向相应的命令处理程系统调用通常都是通过软中断机制转向相应的命令处理程序序运行在不同的处理器状态运行在不同的处理器状态 一般的过程调用,其调用程序和被调用程序都运行一般的过程调用,其调用程序和被调用程序都运行在相同的处理器状态在相同的处理器状态 ;系统调用调用程序运行在目态,;系统调用调用程序运行在目态,而被调用程序则运行在管态而被调用程序则运行在管态处理器状态的转换处理器状态的转换 一般的过程调用不涉及系统状态的转换;系统调用一般的过程调用不涉及系统状态的转换;系统调用需要系统状态转换需要系统状态转换 返回问题返回问题 一般的过程调用在被调用过程执行完一般的过程调用在被调用过程执行完后,将返回到调用过程继续执行;系统调后,将返回到调用过程继续执行;系统调用不一定返回原调用过程用不一定返回原调用过程嵌套调用嵌套调用 像一般过程一样,系统调用也允许嵌像一般过程一样,系统调用也允许嵌套调用,但对嵌套调用的深度都有一定的套调用,但对嵌套调用的深度都有一定的限制限制系统调用的执行过程系统调用的执行过程设置系统调用号和参数设置系统调用号和参数系统调用命令的一般性处理系统调用命令的一般性处理系统调用命令处理程序做具体的处理系统调用命令处理程序做具体的处理Linux系统调用系统调用Linux系统调用的组成:系统调用的组成:核心函数核心函数,部分提,部分提供实现系统调用功能的共享代码,作为操供实现系统调用功能的共享代码,作为操作系统的核心程序驻留在内存中;作系统的核心程序驻留在内存中;接口函接口函数数,部分提供给应用程序,部分提供给应用程序API接口,它把系接口,它把系统调用号、入口参数地址传送给相应的核统调用号、入口参数地址传送给相应的核心函数。心函数。linux系统调用系统调用从功能上分:从功能上分:设备管理的系统调用。设备管理的系统调用。文件系统操作的系统调用。文件系统操作的系统调用。进程控制的系统调用。进程控制的系统调用。存储管理系统调用。存储管理系统调用。管理用的系统调用。管理用的系统调用。通信的系统调用。通信的系统调用。Windows系统调用系统调用应用程序接口应用程序接口API(application programming interface)API函数调用分类:函数调用分类:窗口类函数窗口类函数图形设备接口图形设备接口(GDI)类类系统服务类系统服务类国际特性类国际特性类网络服务类网络服务类现代操作系统的命令控制界面发展方向现代操作系统的命令控制界面发展方向朝着朝着多媒体的拟人化方向发展多媒体的拟人化方向发展,即一般用,即一般用户的输入输出界面都在朝着人类自身的交户的输入输出界面都在朝着人类自身的交流方式逼近。流方式逼近。Linux命令控制界面命令控制界面Linux最大特点:最大特点:源代码的免费和开放源代码的免费和开放,而,而且为普通用户与程序员提供通用的标准接且为普通用户与程序员提供通用的标准接口与界面。口与界面。Linux的命令控制都是用图形化的窗口系统的命令控制都是用图形化的窗口系统以及以及Shell程序进行的。程序进行的。Linux的图形化窗口系统是的图形化窗口系统是X Window。Linux命令命令系统维护及管理命令,例如:系统维护及管理命令,例如:date,setenv等。等。文件操作及管理命令,例:文件操作及管理命令,例:ls,find等。等。进程管理命令,例:进程管理命令,例:kill,at等。等。磁盘及设备管理命令,例:磁盘及设备管理命令,例:df,du,mount等。等。用户管理命令,例:用户管理命令,例:adduser,userdel等。等。文档操作命令,例:文档操作命令,例:csplit,sort等。等。网络通信命令,例:网络通信命令,例:netstat,ifconfig等。等。程序开发命令,例:程序开发命令,例:cc,link等。等。X Window管理命令,例:管理命令,例:startx,XE86Setup等。等。Linux ShellLinux Shell是一种交互型命令解释程序,也是一种命令是一种交互型命令解释程序,也是一种命令级程序设计语言解释系统,它允许用户编制带形式参数的级程序设计语言解释系统,它允许用户编制带形式参数的批命令文件,称作批命令文件,称作Shell脚本或脚本或Shell程序。程序。一个一个Shell程序由以下程序由以下6部分组成:部分组成:(1)命令或其他)命令或其他Shell程序。程序。(2)位置参数。)位置参数。(3)变量及特殊字符。)变量及特殊字符。(4)表达式比较。)表达式比较。(5)控制流语句,例:)控制流语句,例:while,case等。等。(6)函数。)函数。lLinux Shell可定制性强,支持命令广,具有良好的作业可定制性强,支持命令广,具有良好的作业控制能力,编写的控制能力,编写的Shell命令又可通过脚本的形式被重新命令又可通过脚本的形式被重新组合使用,完成对用户的计算环境定制等功能十分方便。组合使用,完成对用户的计算环境定制等功能十分方便。Windows的命令控制界面的命令控制界面Windows的命令控制界面可以分为两大部分,即的命令控制界面可以分为两大部分,即命令解释部分命令解释部分(相当于(相当于linux的的Shell)和和窗口交互窗口交互部分。部分。操作命令操作命令(1)系统信息命令,例:)系统信息命令,例:Time,Date,Mem,Driverquery和和SystemInfo等。等。(2)系统操作命令)系统操作命令,例:例:Shutdown,Runas和和Taskkill等。等。(3)文件系统命令)文件系统命令,例:例:Copy,Del和和Mkdir等。等。(4)网络通信命令,例:)网络通信命令,例:Ping,Netstat和和Route等。等。Windows的命令控制界面的命令控制界面Mem:当前内存使用情况。当前内存使用情况。Driverquery:显示所有已安装的设备驱动程序及其属性:显示所有已安装的设备驱动程序及其属性的列表。的列表。winver-检查检查Windows版版wmimgmt.msc-打开打开windows管理体系结构管理体系结构(WMI)wupdmgr-windows更新程序更新程序wscrpt-windows脚本宿主设置脚本宿主设置write-写字板写字板winmsd-系统信息系统信息wiaacmgr-扫描仪和照相机向导扫描仪和照相机向导winchat-XP自带局域网聊天自带局域网聊天 Windows的命令控制界面的命令控制界面Msconfig.exe-系统配置实用系统配置实用mplayer2-简易简易widnows media playermspaint-画图板画图板mstsc-远程桌面连接远程桌面连接magnify-放大镜实用程序放大镜实用程序mmc-打开控制台打开控制台mobsync-同步命令同步命令 Windows的命令控制界面的命令控制界面dxdiag-检查检查DirectX信息信息drwtsn32- 系统医生系统医生devmgmt.msc- 设备管理器设备管理器dfrg.msc-磁盘碎片整理程序磁盘碎片整理程序diskmgmt.msc-磁盘管理实用程序磁盘管理实用程序dcomcnfg-打开系统组件服务打开系统组件服务ddeshare-打开打开DDE共享设置共享设置dvdplay-DVD播放器播放器Windows的命令控制界面的命令控制界面 net stop messenger-停止信使服务停止信使服务net start messenger-开始信使服务开始信使服务 notepad-打开打开记事记事本本nslookup-网络管理的工具向导网络管理的工具向导ntbackup-系统备份和还原系统备份和还原narrator-屏幕屏幕“讲述人讲述人”ntmsmgr.msc-移动存储管理器移动存储管理器ntmsoprq.msc-移动存储管理员操作请求移动存储管理员操作请求netstat -an-(TC)命令检查接口命令检查接口 Windows的命令控制界面的命令控制界面syncapp-创建一个公文包创建一个公文包sysedit-系统配置编辑器系统配置编辑器sigverif-文件签名验证程序文件签名验证程序sndrec32-录音机录音机shrpubw-创建共享文件夹创建共享文件夹secpol.msc-本地安全策略本地安全策略syskey-系统加密,一旦加密就不能解开,保护系统加密,一旦加密就不能解开,保护windows xp系统的双重密码系统的双重密码services.msc-本地服务设置本地服务设置Sndvol32-音量控制程序音量控制程序sfc.exe-系统文件检查器系统文件检查器sfc /scannow-windows文件保护文件保护 Windows的命令控制界面的命令控制界面tsshutdn-60秒倒计时关机命令秒倒计时关机命令tourstart-xp简介(安装完成后出现的漫游简介(安装完成后出现的漫游xp程序)程序)taskmgr-任务管理器任务管理器eventvwr-事件查看器事件查看器eudcedit-造字程序造字程序 explorer-打开资源管理器打开资源管理器packager-对象包装程序对象包装程序perfmon.msc-计算机性能监测程序计算机性能监测程序progman-程序管理器程序管理器Windows的命令控制界面的命令控制界面regedit.exe-注册表注册表 rsop.msc-组策略结果集组策略结果集regedt32-注册表编辑器注册表编辑器rononce -p -15秒关机秒关机regsvr32 /u *.dll-停止停止dll文件运行文件运行regsvr32 /u zipfldr.dll-取消取消ZIP支持支持cmd.exe-CMD命令提示符命令提示符chkdsk.exe-Chkdsk磁盘检查磁盘检查certmgr.msc-证书管理实用程序证书管理实用程序calc-启动计算器启动计算器charmap-启动字符映射表启动字符映射表cliconfg-SQL SERVER 客户端网络实用程序客户端网络实用程序Clipbrd-剪贴板查看器剪贴板查看器conf-启动启动netmeetingcompmgmt.msc-计算机管理计算机管理cleanmgr-垃圾整理垃圾整理ciadv.msc-索引服务程序索引服务程序 Windows的命令控制界面的命令控制界面osk-打开屏幕键盘打开屏幕键盘odbcad32-ODBC数据源管理器数据源管理器oobe/msoobe /a-检查检查XP是否激活是否激活lusrmgr.msc-本机用户和组本机用户和组logoff-注销命令注销命令iexpress-木马捆绑工具,系统自带木马捆绑工具,系统自带Nslookup-IP地址侦测器地址侦测器fsmgmt.msc-共享文件夹管理器共享文件夹管理器utilman-辅助工具管理器辅助工具管理器gpedit.msc-组策略组策略 echo打开回显或关闭请求回显功能,或显示消打开回显或关闭请求回显功能,或显示消息。如果没有任何参数,息。如果没有任何参数,echo 命令将显示命令将显示当前回显设置。当前回显设置。 命令使用的两种方式命令使用的两种方式直接在命令行中输入命令直接在命令行中输入命令 例:例:systeminfo&mem使用批处理使用批处理 批处理文件是无格式的文本文件,它包含一条或批处理文件是无格式的文本文件,它包含一条或多条命令,其文件的扩展名为多条命令,其文件的扩展名为.bat或或.cmd。 注意:注意:批处理文件之间是可以相互调用和传递参数批处理文件之间是可以相互调用和传递参数的,这样,用户就可以将单元功能模块连接起完的,这样,用户就可以将单元功能模块连接起完成更为复杂的功能,避免了用户手工进行功能模成更为复杂的功能,避免了用户手工进行功能模块命令的输入。块命令的输入。垃圾清除垃圾清除echo offdel/f/s/q %systemdrive%*.tmpdel/f/s/q %systemdrive%*._mpdel/f/s/q %systemdrive%*.logdel/f/s/q %systemdrive%*.giddel/f/s/q %systemdrive%*.chkdel/f/s/q %systemdrive%*.olddel/f/s/q %windir%*.bakdel/f/q %systemdrive%recycled*.*del/f/q %windir%prefetch*.*rd/s/q %windir%temp & md % windir%temprd/s/q %temp% & md %temp%del/f/q %userprofile%cookies*.*del/f/q %userprofile%recent*.*rd/s/q%userprofile%Local SettingsTemporary Internet Filescls & echo 清除系统垃圾完成清除系统垃圾完成!echo. & pause作业的定义作业的定义概念概念功能设计结构设计建档详细设计编辑输入输出执行链接编译调试需求分析分析一般编程过程编辑输入 作业的概念作业的概念 作业作业: :是用户提交给计算机进行加工的一个任务,是用户提交给计算机进行加工的一个任务, 由用户程序、数据和作业说明书三部分组成。由用户程序、数据和作业说明书三部分组成。作业步:通常一个作业又可分为若干个顺序处理作业步:通常一个作业又可分为若干个顺序处理 的步骤。的步骤。 从系统角度看(作业的组织形式)从系统角度看(作业的组织形式)作业:作业由程序、数据和作业说明书组成。作业:作业由程序、数据和作业说明书组成。程序程序 和数据完成用户所要求的业务处理工作,和数据完成用户所要求的业务处理工作, 作业说明书则体现用户的控制意图。作业说明书则体现用户的控制意图。 作业、作业步、进程作业、作业步、进程的关系作业、作业步、进程的关系用户作业作业步进程作业步进程线程线程由用户创建由用户指定由系统创建返回作业的基本类型作业的基本类型根据调度和控制的需要进行分类根据调度和控制的需要进行分类从调度的角度,可分为:从调度的角度,可分为: 计算型作业计算型作业:指任务中包含大量的计算,而其I/O较少的作业,如通常的科学计算; I/O型作业型作业:要求少量的计算而需大量I/O的作业,如通常的事务处理 作业的基本类型作业的基本类型从控制的角度,可分为:从控制的角度,可分为:脱机作业(批量型作业):脱机作业(批量型作业): 在在整整个个作作业业的的运运行行过过程程中中,只只需需根根据据作作业业说说明明书书中中的的说说明明对对作作业业进进行行控控制制,脱脱机机作作业业通通常常是是在批处理操作环境下运行,故也称为批量型作业;在批处理操作环境下运行,故也称为批量型作业;联机作业(终端型作业):联机作业(终端型作业): 通通常常是是用用键键盘盘命命令令直直接接控控制制作作业业的的运运行行,联联机机作作业业通通常常在在分分时时操操作作环环境境下下运运行行,故故也也称称为为终终端端型作业。型作业。作业的状态及其转换作业的状态及其转换 作业从提交给系统直到它完成后离开系统作业从提交给系统直到它完成后离开系统前的整个活动过程,可分为前的整个活动过程,可分为 提交状态提交状态后备状态后备状态运行状态运行状态完成状态完成状态 作业的建立作业的建立一个作业的建立包括两个子过程:一个作业的建立包括两个子过程: 作业的输入、作业控制块的建立。作业的输入、作业控制块的建立。 作业的输入方式:作业的输入方式: 联机输入方式联机输入方式脱机输入方式脱机输入方式直接耦合方式直接耦合方式网络输入方式网络输入方式SPOOLING系系统统(Simultaneous (Simultaneous Peripheral Peripheral Operation On-Line)Operation On-Line)作业的输入方式作业的输入方式联机输入方式联机输入方式外围设备直接和主机相连外围设备直接和主机相连。脱机输入方式(预输入方式)脱机输入方式(预输入方式)利用低档个人计算机作为外围处理机进行处理。利用低档个人计算机作为外围处理机进行处理。脱机输入解决了快速输入输出的问题,提高了脱机输入解决了快速输入输出的问题,提高了资源利用率,但是要以牺牲低档机为代价。还资源利用率,但是要以牺牲低档机为代价。还需要用户干预。需要用户干预。直接耦合方式直接耦合方式慢速的输入输出过程由外围低档机管理慢速的输入输出过程由外围低档机管理公用存储器中的大量数据的高速读写由主机完成公用存储器中的大量数据的高速读写由主机完成网络输入方式网络输入方式用户需要把在计算机网络中某一台主机上输入的信息传送用户需要把在计算机网络中某一台主机上输入的信息传送到同一网中另一台主机上进行操作执行,构成了网络输入到同一网中另一台主机上进行操作执行,构成了网络输入方式方式 主机 公用存储器低档PC机低档PC机SPOOLING系统系统(假脱机操作假脱机操作 )Simultaneous Peripheral Operation On Line 它使用直接存取的大容量磁盘作为缓冲,将它使用直接存取的大容量磁盘作为缓冲,将一个可共享的磁盘空间改造成若干个输入设备一个可共享的磁盘空间改造成若干个输入设备和输出设备,并使得和输出设备,并使得I/O设备和设备和CPU并行操作。并行操作。(在联机情况下实现的同时外围操作)(在联机情况下实现的同时外围操作)SPOOLING 系统系统的组成的组成 输入井和输出井输入井和输出井输入缓冲区和输出缓冲区输入缓冲区和输出缓冲区输入进程和输出进程输入进程和输出进程 (输入管理模块、输出管理模块)(输入管理模块、输出管理模块)输入管理 模块输入装置输入装置输入装置输入装置 通通 道道 输入井输出井 通通 道 输出装置输出装置输出装置输出装置 通通 道道输出管理 模块 主机系统外存SPOOLING系统系统SPOOLING系统输入过程系统输入过程:系统的输入程序包含两个独立的过程,一个系统的输入程序包含两个独立的过程,一个过程负责从外部设备把信息读入缓冲区;另过程负责从外部设备把信息读入缓冲区;另一个过程是写过程,负责把缓冲区中的信息一个过程是写过程,负责把缓冲区中的信息送到外存输入井中。送到外存输入井中。在系统输入模块收到作业输入请求后,输入在系统输入模块收到作业输入请求后,输入管理模块中的读过程负责将信息从输入装置管理模块中的读过程负责将信息从输入装置读入缓冲区。当缓冲区满时,由写过程将信读入缓冲区。当缓冲区满时,由写过程将信息从缓冲区写到外存的输入井中息从缓冲区写到外存的输入井中。SPOOLING系统的工作原理系统的工作原理当用户提交一批作业后,操作员键入当用户提交一批作业后,操作员键入“预预输入命令输入命令”启动预输入程序工作,预输入启动预输入程序工作,预输入程序启动输入机读出作业信息,并把它们程序启动输入机读出作业信息,并把它们存放到输入井中。当主存储器可以装入作存放到输入井中。当主存储器可以装入作业时就从输入井中选择若干作业装入主存业时就从输入井中选择若干作业装入主存储器。被装入主存储器中的作业在执行中储器。被装入主存储器中的作业在执行中可请求井管理程序从输出井读需处理的信可请求井管理程序从输出井读需处理的信息或把处理结果写到输出井中。缓输出程息或把处理结果写到输出井中。缓输出程序利用处理器空闲时间把作业执行结果在序利用处理器空闲时间把作业执行结果在打印机上输出。打印机上输出。 SPOOLING系统的特点系统的特点提高了提高了I/O速度速度将独占设备改造为共享设备将独占设备改造为共享设备实现了虚拟设备功能实现了虚拟设备功能作业控制块的建立作业控制块的建立作业由三部分组成:作业由三部分组成:程序程序数据数据作业说明书作业说明书(体现用户的控制意图)(体现用户的控制意图)在系统把作业信息输入到外存输入井之后,还需要根在系统把作业信息输入到外存输入井之后,还需要根据作业说明书中的说明及其它信息建立作业控制表据作业说明书中的说明及其它信息建立作业控制表(JCB)。只有在获得只有在获得JCB表项和足够的输入井空间之后,表项和足够的输入井空间之后,一个作业才可能创建成功。一个作业才可能创建成功。JCB的的内内容容:JCB包包含含了了系系统统对对作作业业进进行行管管理理所所必必须须的的信信息息,有有作作业业名名、作作业业的的估估计计运运行行时时间间、优优先先数数、作作业业的的建建立立时时间间、内内存存要要求求、外外设设要要求求、作作业业状状态态等等等。等。JCB是作业存在的唯一标志。是作业存在的唯一标志。完成用户要求的业务处理工作完成用户要求的业务处理工作作业说明书的主要内容作业说明书的主要内容什么是调度?什么是调度?调度调度:是指在一个是指在一个队列队列中,按照某种方法中,按照某种方法(算法),选择一个合适的个体的过程。(算法),选择一个合适的个体的过程。调度的调度的关键关键是需要某种方法或算法,好的是需要某种方法或算法,好的调度算法有利于选择到合适的个体。调度算法有利于选择到合适的个体。如何判断、设计一个好的调度算法呢?如何判断、设计一个好的调度算法呢?调度实例调度实例调度目标调度目标公平性公平性,防止进程长期不能获得调度而饥饿;防止进程长期不能获得调度而饥饿;处理机利用率处理机利用率,尽量提高处理机的利用率;,尽量提高处理机的利用率;提高系统提高系统吞吐量吞吐量;尽量减少进程的尽量减少进程的响应时间响应时间。调度原则调度原则满足用户的要求满足用户的要求:响应时间、周转时间、:响应时间、周转时间、截止时间。截止时间。满足系统的需求满足系统的需求:系统吞吐量、处理机利:系统吞吐量、处理机利用率、各类资源的平衡使用、公平性及优用率、各类资源的平衡使用、公平性及优先级。先级。面向用户的原则:响应时间面向用户的原则:响应时间响应时间是指从用户通过键盘提交一个请响应时间是指从用户通过键盘提交一个请求开始,直到系统首次产生响应为止的时求开始,直到系统首次产生响应为止的时间。间。输入的请求传送到处理机的时间输入的请求传送到处理机的时间+处理机对处理机对请求信息进行处理的时间请求信息进行处理的时间+将响应结果发送将响应结果发送到输出终端的时间到输出终端的时间响应时间响应时间调度算法则应考虑尽可能使绝大多数用户调度算法则应考虑尽可能使绝大多数用户的请求能在响应时间内完成。的请求能在响应时间内完成。常用于评价常用于评价分时系统分时系统的性能。的性能。面向用户的原则:周转时间面向用户的原则:周转时间周转时间周转时间:指从作业提交给系统开始,到作指从作业提交给系统开始,到作业完成为止的这段时间间隔。业完成为止的这段时间间隔。作业在外存排队等待调度的时间作业在外存排队等待调度的时间+进程在就进程在就绪队列中等待调度的时间绪队列中等待调度的时间+进程被处理机执进程被处理机执行的时间行的时间+等待等待I/O操作完成的时间操作完成的时间周转周转时间时间。常用于评价常用于评价批处理系统批处理系统的性能。的性能。面向用户的原则:周转时间面向用户的原则:周转时间影响周转时间的调度:影响周转时间的调度:作业从外存调度到内存(作业调度)作业从外存调度到内存(作业调度)进入内存还需在就绪队列中排队,等待进进入内存还需在就绪队列中排队,等待进程调度。程调度。甚至,可能会挂起进程,在外存等待被激甚至,可能会挂起进程,在外存等待被激活(中程调度)。活(中程调度)。面向用户的原则:截止时间面向用户的原则:截止时间截止时间截止时间:指实时系统中,某任务必须开始指实时系统中,某任务必须开始执行的最迟时间,或必须完成的最迟时间。执行的最迟时间,或必须完成的最迟时间。常用于评价常用于评价实时系统实时系统的性能。的性能。面向系统的原则:系统吞吐量面向系统的原则:系统吞吐量吞吐量吞吐量:指单位时间内系统所完成的作业数。指单位时间内系统所完成的作业数。常用于评价常用于评价批处理系统批处理系统的性能。的性能。面向用户的原则:处理机利用率面向用户的原则:处理机利用率大、中型多用户系统,由于处理机价格昂大、中型多用户系统,由于处理机价格昂贵,处理机利用率是衡量系统性能的一个贵,处理机利用率是衡量系统性能的一个重要指标。重要指标。单用户微机或某些实时系统,则并非很重单用户微机或某些实时系统,则并非很重要。要。面向系统的原则:面向系统的原则:各类资源的平衡使用各类资源的平衡使用多道程序系统的目标之一就是为了提高系多道程序系统的目标之一就是为了提高系统资源的利用率,因此,调度算法有责任统资源的利用率,因此,调度算法有责任使用系统中的各类资源都尽量处于忙碌状使用系统中的各类资源都尽量处于忙碌状态。态。该原则同时适用于长程调度和中程调度,该原则同时适用于长程调度和中程调度,因为它们可以决定哪些作业(进程)可以因为它们可以决定哪些作业(进程)可以进入内存,可以考虑系统资源的均衡使用。进入内存,可以考虑系统资源的均衡使用。面向系统的原则:公平性面向系统的原则:公平性调度算法应该对所有进程公平,不偏袒任调度算法应该对所有进程公平,不偏袒任何进程。何进程。面向系统的原则:优先权面向系统的原则:优先权优先权高的进程应优先调度优先权高的进程应优先调度可以根据进程的优先权不同,组织不同的可以根据进程的优先权不同,组织不同的就绪队列。进程调度时首先选择高优先权就绪队列。进程调度时首先选择高优先权队列中的进程,直到该队列空,再调度较队列中的进程,直到该队列空,再调度较低优先权队列中的进程。低优先权队列中的进程。几乎所有操作系统的调度算法都可考虑优几乎所有操作系统的调度算法都可考虑优先权原则。先权原则。当然,仅考虑优先权,可能会出现饥饿,当然,仅考虑优先权,可能会出现饥饿,对低优先权的进程不公平。对低优先权的进程不公平。可以将进程排队的等待时间等因素纳入优可以将进程排队的等待时间等因素纳入优先权的计算,随着进程等待时间的增长,先权的计算,随着进程等待时间的增长,其优先权也不断提高,进程也会在不久的其优先权也不断提高,进程也会在不久的将来得到调度。将来得到调度。调度的基本概念调度的基本概念一个作业从提交开始直到完成一个作业从提交开始直到完成,往往要经历下述调往往要经历下述调度度:高级调度高级调度:又称为作业调度又称为作业调度,它决定将哪些在外存上它决定将哪些在外存上处于后备状态的作业调入主机内存处于后备状态的作业调入主机内存,准备执行。准备执行。低级调度低级调度:又称进程调度。它决定就绪队列中哪:又称进程调度。它决定就绪队列中哪个进程将获得处理机,并实际执行处理机分配给个进程将获得处理机,并实际执行处理机分配给该进程的操作。进程调度可采用非剥夺和剥夺两该进程的操作。进程调度可采用非剥夺和剥夺两种方式。种方式。中级调度中级调度:在某些系统中,特别是分时系统及具:在某些系统中,特别是分时系统及具有虚拟存储器的系统中,可能增加一级中级调度。有虚拟存储器的系统中,可能增加一级中级调度。其主要作用是在内存和外存对换区之间进行进程其主要作用是在内存和外存对换区之间进行进程对换,以解决内存紧张的问题。对换,以解决内存紧张的问题。作业的状态及其转换作业的状态及其转换l一个作业从用户提交开始到真正占有处理机而被执一个作业从用户提交开始到真正占有处理机而被执行,则要由系统经过多级调度才能实现(在有些系统,行,则要由系统经过多级调度才能实现(在有些系统,例如分时系统中,也可以由单级调度实现)。例如分时系统中,也可以由单级调度实现)。l批处理系统一个作业处理的大致过程。一个作业从批处理系统一个作业处理的大致过程。一个作业从提交给计算机系统到执行结束退出系统,一般都要经提交给计算机系统到执行结束退出系统,一般都要经历历提交提交、收容收容、执行执行和和完成完成等等4个状态。个状态。 作业的状态及其转换作业的状态及其转换l提交状态提交状态:一个作业在其处于从输入设备进:一个作业在其处于从输入设备进入外部存储设备的过程称为入外部存储设备的过程称为提交状态提交状态。处于提。处于提交状态的作业,因其信息交状态的作业,因其信息尚未全部进入系统尚未全部进入系统,所以不能被调度程序选取。所以不能被调度程序选取。l后备状态后备状态。输入管理系统不断地将作业输入。输入管理系统不断地将作业输入到外存中对应部分(或称输入井,即专门用来到外存中对应部分(或称输入井,即专门用来存放待处理作业信息的一组外存分区)。若一存放待处理作业信息的一组外存分区)。若一个作业的个作业的全部信息已全部被输入进输入井全部信息已全部被输入进输入井,那,那么,在它还未被调度去执行之前,该作业处于么,在它还未被调度去执行之前,该作业处于后备状态后备状态。执行状态执行状态:作业被调度程序选中:作业被调度程序选中,分配了必要的资源分配了必要的资源,建立了一组相应的进程。建立了一组相应的进程。究竟哪个作业的哪个进程能获得处理机而真正在执究竟哪个作业的哪个进程能获得处理机而真正在执行,要依靠行,要依靠进程调度进程调度来决定。来决定。完成状态完成状态:当作业运行完毕,但它所占用的资源尚:当作业运行完毕,但它所占用的资源尚未全部被系统回收时,该作业处于完成状态。在这种未全部被系统回收时,该作业处于完成状态。在这种状态下,系统需做诸如打印结果、回收资源等类的善状态下,系统需做诸如打印结果、回收资源等类的善后处理工作。后处理工作。在系统把作业信息输入到内存输入井之后,在系统把作业信息输入到内存输入井之后,还要根据作业说明书内容和有关作业信息还要根据作业说明书内容和有关作业信息在外存中的位置建立作业控制表(在外存中的位置建立作业控制表(JCB)。)。JCB包含了系统对作业进行管理所必需的包含了系统对作业进行管理所必需的信息信息,它们是作业名、作业估计执行时间、,它们是作业名、作业估计执行时间、优先级、作业建立时间、作业说明书文件优先级、作业建立时间、作业说明书文件名、程序语言类型、内存要求、外设要求、名、程序语言类型、内存要求、外设要求、作业状态以及作业在外存中的地址等。作业状态以及作业在外存中的地址等。作业管理作业管理作业管理就是对作业的各个阶段进行宏观控制,作业管理就是对作业的各个阶段进行宏观控制,并为其每一阶段提供必要的服务,其管理功能可并为其每一阶段提供必要的服务,其管理功能可按作业的生命周期分成如下几方面:按作业的生命周期分成如下几方面:(1)作业的输入与输出作业的输入与输出:这是作业管理的首要工作。:这是作业管理的首要工作。即如何组织作业从输入设备上源源不断地输入系即如何组织作业从输入设备上源源不断地输入系统,并且将作业的输出信息组织在输出设备上输统,并且将作业的输出信息组织在输出设备上输出。出。(2)作业调度作业调度:按照相应的作业调度算法选择后备:按照相应的作业调度算法选择后备队列中某作业运行,并准备该作业运行。队列中某作业运行,并准备该作业运行。(3)作业运行控制作业运行控制:在作业运行过程中,系统借助:在作业运行过程中,系统借助某种手段控制作业运行。某种手段控制作业运行。调度的层次调度的层次处理机调度问题实际上也是处理机的分配问题。处理机调度问题实际上也是处理机的分配问题。只有那些参与竞争处理机所必需的资源都已得到满只有那些参与竞争处理机所必需的资源都已得到满足的进程才能享有竞争处理机的资格。这时,它们处足的进程才能享有竞争处理机的资格。这时,它们处于内存就绪状态。于内存就绪状态。必需的资源包括内存、外设及有关数据结构等。从必需的资源包括内存、外设及有关数据结构等。从而,在进程有资格竞争处理机之前,作业调度程序必而,在进程有资格竞争处理机之前,作业调度程序必须先调用存储管理、外设管理程序,并按一定的选择须先调用存储管理、外设管理程序,并按一定的选择顺序和策略从输入井中选择出几个处于后备状态的作顺序和策略从输入井中选择出几个处于后备状态的作业,为它们分配内存等资源和创建进程,使它们获得业,为它们分配内存等资源和创建进程,使它们获得竞争处理机的资格。竞争处理机的资格。由于处于执行状态下的作业一般包含有多个进程,由于处于执行状态下的作业一般包含有多个进程,而在单机系统中,每一时刻只能有一个进程占有处理而在单机系统中,每一时刻只能有一个进程占有处理机。那么,其他进程就只能处于准备抢占处理机的就机。那么,其他进程就只能处于准备抢占处理机的就绪状态或等待得到某种新资源的等待状态。为了提高绪状态或等待得到某种新资源的等待状态。为了提高资源的利用率,在有些操作系统中把一部分在内存中资源的利用率,在有些操作系统中把一部分在内存中处于就绪状态或等待状态而在短时期内又得不到执行处于就绪状态或等待状态而在短时期内又得不到执行的进程、作业换出内存,以让其他作业的进程竞争处的进程、作业换出内存,以让其他作业的进程竞争处理机。这样,在外存中,除了处于后备状态的作业外,理机。这样,在外存中,除了处于后备状态的作业外,还存在有处于就绪状态而等待得到内存的作业。这就还存在有处于就绪状态而等待得到内存的作业。这就需要有一定的方法和策略为这部分作业分配空间。需要有一定的方法和策略为这部分作业分配空间。一般来说,处理机调度可以分为一般来说,处理机调度可以分为4级:级:(1) 作业调度作业调度:又称:又称宏观调度宏观调度,或,或高级调度高级调度。其主要。其主要任务是按一定的原则对外存输入井上的大量后备作业任务是按一定的原则对外存输入井上的大量后备作业进行选择,给选出的作业分配内存、输入输出设备等进行选择,给选出的作业分配内存、输入输出设备等必要的资源,并建立相应的进程,以使该作业的进程必要的资源,并建立相应的进程,以使该作业的进程获得竞争处理机的权利。另外,当该作业执行完毕时,获得竞争处理机的权利。另外,当该作业执行完毕时,还负责回收系统资源。还负责回收系统资源。(2) 交换调度交换调度:又称:又称中级调度中级调度。其主要任务是按照给。其主要任务是按照给定的原则和策略,将处于外存交换区中的就绪状态或定的原则和策略,将处于外存交换区中的就绪状态或就绪等待状态的进程调入内存,或把处于内存就绪状就绪等待状态的进程调入内存,或把处于内存就绪状态或内存等待状态的进程交换到外存交换区。交换调态或内存等待状态的进程交换到外存交换区。交换调度主要涉及到内存管理与扩充。度主要涉及到内存管理与扩充。(3) 进程调度进程调度:又称:又称微观调度微观调度或或低级调度低级调度。其主要任。其主要任务是按照某种策略和方法选取一个处于就绪状态的进务是按照某种策略和方法选取一个处于就绪状态的进程占用处理机。在确定了占用处理机的进程后,系统程占用处理机。在确定了占用处理机的进程后,系统必须进行进程上下文切换以建立与占用处理机进程相必须进行进程上下文切换以建立与占用处理机进程相适应的执行环境。适应的执行环境。 (4) 线程调度线程调度。在多道批处理系统中,存在着作业调度和进程调度。在多道批处理系统中,存在着作业调度和进程调度。但是,在分时系统和实时系统中,一般不存在作业调但是,在分时系统和实时系统中,一般不存在作业调度,而只有进程调度、交换调度和线程调度。因为在度,而只有进程调度、交换调度和线程调度。因为在分时系统和实时系统中,为了缩短响应时间或为了满分时系统和实时系统中,为了缩短响应时间或为了满足用户需求的截止时间,作业不是建立在外存,而是足用户需求的截止时间,作业不是建立在外存,而是直接建立在内存中。在这些系统中,一旦用户和系统直接建立在内存中。在这些系统中,一旦用户和系统的交互开始,用户马上要进行控制。因而,这些系统的交互开始,用户马上要进行控制。因而,这些系统中没有作业提交状态和后备状态。它们的输入信息经中没有作业提交状态和后备状态。它们的输入信息经过终端缓冲区为系统所接收,或者立即处理,或者经过终端缓冲区为系统所接收,或者立即处理,或者经交换调度暂存外存中交换调度暂存外存中。 作业与进程的关系作业与进程的关系作业可被看作是用户向计算机提交任务的任务实体,作业可被看作是用户向计算机提交任务的任务实体,例如一次计算、一个控制过程等。例如一次计算、一个控制过程等。进程则是计算机为了完成用户任务实体而设置的执进程则是计算机为了完成用户任务实体而设置的执行实体,是系统分配资源的基本单位。显然,计算机行实体,是系统分配资源的基本单位。显然,计算机要完成一个任务实体,必须要有一个以上的执行实体。要完成一个任务实体,必须要有一个以上的执行实体。也就是说,也就是说,一个作业总是由一个以上的多个进程组成一个作业总是由一个以上的多个进程组成的。的。作业怎样分解为进程呢?作业怎样分解为进程呢?(1)系统必须为一个作业创建一个根进程。系统必须为一个作业创建一个根进程。(2)在执行作业控制语句时,根据任务要求,系统或在执行作业控制语句时,根据任务要求,系统或根进程为其创建相应的子进程。根进程为其创建相应的子进程。(3)为各子进程分配资源和调度各子进程执行以完成为各子进程分配资源和调度各子进程执行以完成作业要求的任务。作业要求的任务。作作 业业 调调 度度作业调度主要是完成作业从作业调度主要是完成作业从后备状态到执行状态后备状态到执行状态的的转变,以及从转变,以及从执行状态到完成状态执行状态到完成状态的转变。的转变。作业调度功能作业调度功能(1) 记录系统中各作业的状况。记录系统中各作业的状况。作业名作业名作业类型作业类型资源要求资源要求资源使用情况资源使用情况优先级优先级(数数)当前状态当前状态 其他其他作业控制块作业控制块JCB(2) 从后备队列中挑选出一部分作业投入执行。作业从后备队列中挑选出一部分作业投入执行。作业调度程序根据选定的调度算法,从后备作业队列中挑调度程序根据选定的调度算法,从后备作业队列中挑选出若干作业去投入执行。选出若干作业去投入执行。(3) 为被选中作业做好执行前的准备工作。作业调度为被选中作业做好执行前的准备工作。作业调度程序为选中的作业建立相应的进程,并为这些进程分程序为选中的作业建立相应的进程,并为这些进程分配它们所需要的系统资源,如分配给它们内存、外存、配它们所需要的系统资源,如分配给它们内存、外存、外设等。外设等。(4) 在作业执行结束时做善后处理工作。主要是输出在作业执行结束时做善后处理工作。主要是输出作业管理信息,例如执行时间等。再就是回收该作业作业管理信息,例如执行时间等。再就是回收该作业所占用的资源,撤消与该作业有关的全部进程和该作所占用的资源,撤消与该作业有关的全部进程和该作业的作业控制块等等。业的作业控制块等等。作业调度中状态的转换过程作业调度中状态的转换过程作业调度目标与性能衡量作业调度目标与性能衡量作业调度的功能作业调度的功能最主要的是从后备作业队列最主要的是从后备作业队列中选取一批作业进入执行状态。根据不同的目中选取一批作业进入执行状态。根据不同的目标,将会有不同的调度算法。标,将会有不同的调度算法。一般来说,调度目标主要是以下一般来说,调度目标主要是以下4点:点:(1) 对所有作业应该是公平合理的;对所有作业应该是公平合理的;(2) 应使设备有高的利用率;应使设备有高的利用率;(3) 每天执行尽可能多的作业;每天执行尽可能多的作业;(4) 有快的响应时间。有快的响应时间。由于这些目标的相互冲突,任一调度算法要由于这些目标的相互冲突,任一调度算法要想同时满足上述目标是不可能的。想同时满足上述目标是不可能的。必须指出,如果考虑的因素过多,调度算法就会变得必须指出,如果考虑的因素过多,调度算法就会变得非常复杂。其结果是系统开销增加,资源利用率下降。非常复杂。其结果是系统开销增加,资源利用率下降。因此,大多数操作系统都根据用户需要,采用兼顾某因此,大多数操作系统都根据用户需要,采用兼顾某些目标的简单调度算法。些目标的简单调度算法。怎样来衡量一个作业调度算法是否满足系统设计的要怎样来衡量一个作业调度算法是否满足系统设计的要求呢?求呢?(1)对于批处理系统,由于主要用于计算,对于作业的对于批处理系统,由于主要用于计算,对于作业的周转时间要求较高。因此,作业的平均周转时间或平周转时间要求较高。因此,作业的平均周转时间或平均带权周转时间,被作为衡量调度算法优劣的标准。均带权周转时间,被作为衡量调度算法优劣的标准。(2)对于分时系统和实时系统来说,外加平均响应时间对于分时系统和实时系统来说,外加平均响应时间被作为衡量调度策略优劣的标准。被作为衡量调度策略优劣的标准。1. 周转时间:周转时间: 作业作业i的周转时间的周转时间Ti为为 Ti=Tei-Tsi其中其中Tei为作业为作业i的完成时间,的完成时间,Tsi为作业的提交时间。为作业的提交时间。对于被测定作业流所含有的对于被测定作业流所含有的n(n=1)个作业来说,个作业来说,其平均周转时间为:其平均周转时间为:一个作业的周转时间说明了该作业在系统内停留的一个作业的周转时间说明了该作业在系统内停留的时间,包含两部分:等待时间;执行时间,即:时间,包含两部分:等待时间;执行时间,即: Ti=TwiTri其中,其中,Twi主要指作业主要指作业i由后备状态到执行状态的等待由后备状态到执行状态的等待时间,它不包括作业进入执行状态后的等待时间。时间,它不包括作业进入执行状态后的等待时间。2. 带权周转时间带权周转时间作业的周转时间包含了两个部分,即等待时间和执作业的周转时间包含了两个部分,即等待时间和执行时间。行时间。带权周转时间是作业周转时间与作业执行时间的比:带权周转时间是作业周转时间与作业执行时间的比: Wi=Ti/Tri对于被测定作业流所含有的几个作业来说,其平均对于被测定作业流所含有的几个作业来说,其平均带权周转时间为:带权周转时间为:对于分时系统,除了要保证系统吞吐量大、资源利对于分时系统,除了要保证系统吞吐量大、资源利用率高之外,还应保证有用户能够容忍的响应时间。用率高之外,还应保证有用户能够容忍的响应时间。因此,在分时系统中,仅仅用周转时间或带权周转时因此,在分时系统中,仅仅用周转时间或带权周转时间来衡量调度性能是不够的。间来衡量调度性能是不够的。常见的作业调度算法常见的作业调度算法先来先服务(先来先服务(FCFS)。该算法按照各个作业进入)。该算法按照各个作业进入系统(输入井)的自然次序来调度作业。优点:系统(输入井)的自然次序来调度作业。优点:是实现简单、公平;缺点:没有考虑到系统各资是实现简单、公平;缺点:没有考虑到系统各资源的使用情况。如短作业等待处理的时间比实际源的使用情况。如短作业等待处理的时间比实际运行时间长得多。运行时间长得多。短作业优先短作业优先(SJF)。该算法是根据输入井中作业所。该算法是根据输入井中作业所需的运行时间,选择那些运行时间较短的作业先需的运行时间,选择那些运行时间较短的作业先运行。运行。SJF可以使作业流的平均周转时间取值最可以使作业流的平均周转时间取值最小,但对长作业极其不小,但对长作业极其不“公平公平”,可能使它们长期,可能使它们长期得不到运行而被饿死。得不到运行而被饿死。常见的作业调度算法常见的作业调度算法最高响应比优先法(最高响应比优先法(HRN)。)。HRN调度的原则是调度的原则是优先选取响应比最大的作业。优先选取响应比最大的作业。响应比指作业响应响应比指作业响应时间与作业所需运行的时间的比值时间与作业所需运行的时间的比值,即响应比,即响应比=作作业的响应时间业的响应时间/运行时间。其中,作业的响应时间运行时间。其中,作业的响应时间为作业进入系统后的等候时间与作业的执行时间为作业进入系统后的等候时间与作业的执行时间之和,即响应比之和,即响应比=(作业等待时间(作业等待时间/作业执行时间)作业执行时间)+1。由于由于FCFS可能造成短作业用户不满,最短作业优可能造成短作业用户不满,最短作业优先算法可能使长作业用户不满,所以为了克服上先算法可能使长作业用户不满,所以为了克服上述两种算法的缺点提出了最高响应比优先算法。述两种算法的缺点提出了最高响应比优先算法。常见的作业调度算法常见的作业调度算法资源搭配法。此算法根据系统拥有某类稀少资源资源搭配法。此算法根据系统拥有某类稀少资源的具体情况,将欲使用此类资源的作业与不用或的具体情况,将欲使用此类资源的作业与不用或少用此类资源的作业搭配起来。常可将后备作业少用此类资源的作业搭配起来。常可将后备作业分成不同类,调度时,从不同类中分别选出一道分成不同类,调度时,从不同类中分别选出一道作业搭配调入内存运行,这种算法能消除对稀少作业搭配调入内存运行,这种算法能消除对稀少资源使用时的拥挤现象,并充分发挥其他资源的资源使用时的拥挤现象,并充分发挥其他资源的效率。效率。优先数。该算法为每一个作业规定一个表示该作优先数。该算法为每一个作业规定一个表示该作业的优先级别的整数,当需要将新的作业由输入业的优先级别的整数,当需要将新的作业由输入井调入内存处理时,优先选择优先数最高的作业。井调入内存处理时,优先选择优先数最高的作业。T=(T1+T2+T3+T4)/4=1.725W=(W1+W2+W3+W4)/4=6.87510.0 10.5 2.0 4.010.5 10.6 1.6 16.010.6 10.8 1.3 6.5Wi=Ti/TrFCFS算法作业提交时间Ts运行时间Tr开始时间Tb完成时间TcTiWi18.02.028.50.539.00.149.50.2作业提交时间Ts运行时间Tr开始时间Tb完成时间TcTiWi18.02.0810.02128.50.510.310.82.34.639.00.110.010.11.11149.50.210.110.30.84T=1.55W=5.15注意:注意:1.第一个作业总是能最先执行,其余作业再按第一个作业总是能最先执行,其余作业再按“最短作业优先最短作业优先算法算法”执行。执行。2.一个作业完成后,在选择下一作业时,该作业必须已经提交,一个作业完成后,在选择下一作业时,该作业必须已经提交,再按最短作业优先策略再按最短作业优先策略最短作业优先作业提交时间Ts运行时间Tr开始时间Tb完成时间TcRpTiWi18.02.08.010.012128.50.510.110.63.22.14.239.00.110.010.1101.11149.50.210.610.85.51.36.5T=1.625W=5.675响应比Rp (作业等待时间+作业运行时间)作业运行时间 作业等待时间作业运行时间响应比高者优先例题例题在一个单道程序设计系统中,有在一个单道程序设计系统中,有3个作业个作业A、B、C,他们分别在,他们分别在7:50、8:00和和8:30到到达输入井,它们需要执行的时间分别是达输入井,它们需要执行的时间分别是1.5个小时、个小时、1小时和小时和0.4小时。系统在小时。系统在9:00开开始按响应比的最高者优先算法,对它们进始按响应比的最高者优先算法,对它们进行调度。请回答下列问题:行调度。请回答下列问题:(1)作业被选中执行的次序是多少?)作业被选中执行的次序是多少?(2)三个作业被选中时的响应比分别是什么)三个作业被选中时的响应比分别是什么?答案答案响应比响应比=(等待时间(等待时间/运行时间)运行时间)+1。系统。系统在在9:00时计算响应比。时计算响应比。A为为16/9。B为为2,C为为9/4,因此首先调度,因此首先调度C运行运行24分钟(分钟(0.4小小时);在时);在9:24 时计算响应比,时计算响应比,A为为2.04,B为为2.4,此时调度,此时调度B运行;运行;1小时后调度小时后调度A运行,运行,此时此时A的响应比为的响应比为2.71。作业作业P61 7
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号