作业的状态及其转换.ppt

上传人:本田雅阁 文档编号:3430894 上传时间:2019-08-24 格式:PPT 页数:26 大小:165.54KB
返回 下载 相关 举报
作业的状态及其转换.ppt_第1页
第1页 / 共26页
作业的状态及其转换.ppt_第2页
第2页 / 共26页
作业的状态及其转换.ppt_第3页
第3页 / 共26页
作业的状态及其转换.ppt_第4页
第4页 / 共26页
作业的状态及其转换.ppt_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《作业的状态及其转换.ppt》由会员分享,可在线阅读,更多相关《作业的状态及其转换.ppt(26页珍藏版)》请在三一文库上搜索。

1、本章学习目标,返回本章首页,1、作业的概念 2、作业调度的概念 3、作业调度的基本算法 4、操作系统为用户提供的几种接口。,作业管理,2.1 作业的概念,使用计算机来计算来运行用户程序有三个步骤: (1)用某种语言(例如FORTRAN语言)编制一个程 序, 它被称为源程序。 (2)将源程序和初始数据记录在某种输入介质上。例如穿成一盘纸带,或在终端设备(包括键盘、显示器)上直接编辑源程序。 (3)按照一定要求来控制计算机工作,并经过加工最后算出结果。,返回本章首页,(1)编辑(修改):建立新文件或是对原有文件进行修改。 (2)编译:请求系统把修改好的源程序翻译成浮动目标模块,并将它放在磁盘上,也

2、可以穿孔输出或二者有之。 (3)链接:请求系统把主程序模块和其他所需要的子程序和例行程序链接装配在一起,成为一个可执行的完整的内存映像文件。,下一页,返回本节,作业,即用户在计算机系统中完成一个任务的过程。 一个作业由3部分组成,即程序、数据及作业说明书。其中,作业说明书体现了用户对作业的控制意图。,2.1 作业的概念,2.2 作业调度,2.2.1 作业的状态及其转换 一个作业从进入系统到退出系统一般要经过提交、后备、执行、完成这4个状态。其状态及转换如图2.1所示。,提交,后备,后备,运行,就绪,阻塞,完成,(1) 提交状态。一个作业通过用户由输入设备进入输入系统的过程,称作提交状态。 (2

3、) 后备状态。作业提交后,由系统为该作业建立作业控制块(JCB,Job Contrd Block),并把它插入后备作业队列中,等待作业调度程序的调度。 (3) 执行状态。后备状态的作业若被作业调度选中,并且分配了必要的资源,由作业调度程序建立相应的进程。这一状态被称为执行状态。 (4) 完成状态。当作业执行结束后,进入作业完成状态。此时,由作业调度程序对该作业进行善后处理,主要表现为撤消作业的作业控制块,并回收此作业占用的系统中的资源数。最后,将作业的结果输出到外设之中。,2.2.2 作业调度,作业调度就是按一定的算法从后备队列中选择一个作业送入内存执行,并在作业完成后处理善后工作的过程。 (

4、1) 作业调度程序的功能。记录进入系统的各个作业情况,作业一旦进入系统,系统即为该作业分配作业控制块JCB。 (2)按规定的调度策略从后备作业中挑选一些作业投入运行。 (3) 为选中的作业做执行准备。作业从后备状态进入执行状态,需要建立相应的进程,分配进程所需的内存资源、外设资源,这些都交给调度程序。 (4) 善后工作处理。当作业因某种原因退出或执行完毕后,作业调度程序回收作业原先占用的资源,撤消进程及JCB,并输出结果。,(1)先来先服务(FCFS)算法 (2)短作业优先调度算法(SJF) (3)响应比高者优先调度算法,下一页,2.2.3 常用作业调度算法,作业调度的性能指标,作业调度的原则

5、体现在一个指标,即各作业的平均周转时间上,如设第i个作业的周转时间为Ti=Tci-Tsc;Tci,Tsc分别为作业的完成时间和作业的提交时间,则平均周转时间为:T=(Ti)/n;对这个公式涉及的n个作业,相对于长作业,对T值的影响大,而短作业对T值的影响小。为了增加短作业对T值的影响,引入平均带权周转时间的概念。平均带权周转时间定义为:W=(Ti/tri)/n;tri作业的运行时间。一般认为T、W越小,系统对作业的吞吐量越大,系统的性能越高。,下一页,(1)作业平均周转时间T (Ti为每个作业的周转时间;tc作业完成时刻;ts作业进入系统时刻),(2)平均带权周转时间W,(Ti为每个作业的周转

6、时间;tr为作业实际运行时间),(1)先来先服务(FCFS)算法,先来先服务作业调度算法是一种较简单的作业调度算法,即每次调度是从后备作业队列中选择一个最先进入该队列的作业,将它调入内存,分配资源、创建相应的进程,放入进程就绪队列准备运行。 FCFS算法利于长作业,不利于短作业。,下一页,2.2.3 常用作业调度算法,(2)短作业优先调度算法(SJF),短作业优先调度算法是指操作系统在进行作业调度时以作业长短作为优先级进行调度。该调度算法可以照顾到实际上占作业总数绝大部分的短作业,使它们能比长作业优先调度执行。这时后备作业队列按作业优先级由高到低顺序排列,当作业进入后备队列时要按该作业优先级放

7、置到后备队列相应的位置。 实践证明,该调度算法的性能是最好的,单位时间的作业吞吐量也最大,但也存在缺点:对长作业极为不利。,。,下一页,(3)最高响应比优先(HRF),响应比= (作业等待时间+作业执行时间)/作业执行时间 响应比优先即算出的响应比最高的先执行。,例:单道环境下四个作业,它们进入系统的时间如下: (1)给出FCFS , SJF下的作业执行次序 (2)给出FCFS , SJF下的作业平均周转时间和带权平均周转时间,FCFS : T= ( 120+120+120+90 ) / 4 =112.5 SJF: T=(120+150+70+40)/4=95 FCFS: W=(120/120

8、 + 120/50 +120/10 +90/20)/4=4.975 SJF: W=(120/120 + 150/50 + 70/10 +40/20) /4=3.25,2.3 用户与操作系统的接口 2.3 .1 系统调用,每个操作系统都提供几百种系统调用,包括:外存文件与目录的读写,各种I/O设备的使用,在程序中启动另一个程序,查询和统计系统资源使用情况等等。,1. 系统调用的功能,1) 设备管理: 设备的读写和控制; Ioctl 设备配置 Open 设备打开 Close 设备关闭 Read 读设备 Write 写设备,2) 文件管理:文件读写和文件控制; Open 文件打开 Close 文件关

9、闭 Read 读文件 Write 写文件 seek 读写指针定位 Creat 文件创建 Stat 读文件状态 Mount 安装文件系统 chmod 修改文件属性,3) 进程控制:创建、中止、暂停等控制; Fork 创建进程 Exit 进程自我终止 Wait 阻塞当前进程 Sleep 进程睡眠 Getpid 读父进程标识 4) 进程通信:消息队列、共享存储区、socket等通信渠道的建立、使用和删除; 5) 存储管理:内存的申请和释放; 6) 系统管理:设置和读取时间、读取用户和主机标识等; gtime 读取时间 Stime 设置时间 getuid 读取用户标识,通过系统调用接口也可使用系统命令

10、。 C语言里的system()函数可调用shell来完成命令 如 UNIX系统: system(“cp -r doc /tmp“),系统调用的实现过程,实际上系统调用语句本身是硬件提供的(机器指令),但其所调用的功能是操作系统提供的。每种机器的机器指令集中都有一条系统调用指令。,设置系统调用号和参数。 调用号作为指令的一部分(如早期UNIX),或装入到特定寄存器里(如:DOS int 21h,AH=调用号。) 参数装入到特定寄存器里,或以寄存器指针指向参数表(内存区域)。 执行trap(int)指令:入口的一般性处理,查入口跳转表,跳转到相应功能的过程。 保护CPU现场(将PC与PSW入栈),

11、改变CPU执行状态(处理机状态字PSW切换,地址空间表切换) 将参数取到核心空间 执行操作系统内部代码; 执行iret指令:将执行结果装入适当位置(类似于参数带入),恢复CPU现场(以栈顶内容置PSW和PC)。,系统调用举例,1. 利用系统调用向打印机输出5个字符,方法1:调用DOS功能向打印机输出 MOVE A,PARA1 MOVE B,PARA2 INT 21H,方法2:用OUT指令直接打印 L1:MOVE A,I IN ADDR1,B OR B,BS JNC L1 OUT ADDR2,A RET,2.3.2 作业级的用户接口 1. 作业控制语言 2. 作业控制命令 3. 用户图形接口,2.4 作 业 控 制,2.4.1 脱机控制方式 2.4.2 联机控制方式,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1