作业管理和用户接口详解

上传人:飞*** 文档编号:54706542 上传时间:2018-09-17 格式:PPT 页数:36 大小:455KB
返回 下载 相关 举报
作业管理和用户接口详解_第1页
第1页 / 共36页
作业管理和用户接口详解_第2页
第2页 / 共36页
作业管理和用户接口详解_第3页
第3页 / 共36页
作业管理和用户接口详解_第4页
第4页 / 共36页
作业管理和用户接口详解_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《作业管理和用户接口详解》由会员分享,可在线阅读,更多相关《作业管理和用户接口详解(36页珍藏版)》请在金锄头文库上搜索。

1、第二章 作业管理和用户接口,2.1 作业的基本概念 2.2 作业的建立 2.3 命令控制界面接口 2.4 系统调用 2.5 用户界面举例,在这一章中,讨论OS向上提供的用户接口,即系统命令接口和系统调用接口。,2.1 作业的基本概念,2.1.1 作业和作业处理过程 2.1.2 作业调度 2.1.3 作业控制语言,返回,2.1.1 作业和作业处理过程,1. 作业的概念 2. 作业的组成 3. 作业的处理过程 4. 作业控制表(JCB, Job Control Block),1. 作业的概念,一个作业是指在一次应用业务处理过程中,从输入开始到输出结束,用户要求计算机所做的有关该次业务处理的全部工作

2、。 用户的观点:在一次业务处理过程中,从输入程序和数据到输出结果的全过程。 系统的观点(针对作业进行资源分配):作业由程序及数据(作业体)和作业说明书(作业控制语言) 作业由不同的顺序相连的作业步组成。 作业步是在一个作业的处理过程中,计算机所做的相对独立的工作。,2. 作业的组成,作业说明书包括作业基本情况、作业控制、作业资源要求的描述;它体现用户的控制意图。如:预计运行时间、要求的资源情况、执行优先级等。 作业基本情况:用户名、作业名、编程语言等; 作业控制描述:作业控制方式、作业步的操作顺序、作业执行出错处理; 作业资源要求描述:处理时间、优先级、内存空间、外设类型和数量等;,作业由程序

3、、数据和作业说明书三部分组成。,3. 作业的处理过程,作业提交:作业的输入; 作业收容(就绪):作业输入完成,等待调度运行; 作业执行:分配资源,送入内存,被调度运行; 作业完成:释放资源,完成作业输出;,2.1.2 作业调度,1.作业调度算法的评价因素 作业吞吐量(单位时间内完成的作业数):运行尽可能多的作业; 充分利用资源:CPU、I/O设备; 对各作业公平、合理,使用户满意:执行时间长短、等待时间等;,检查系统是否满足作业的资源要求,并以一定算法选取作业运行。作业调度也称为宏观调度。,2. 作业调度算法,先来先服务(FCFS):按照作业进入系统的先后次序进行调度,先进入系统者先调度;即启

4、动等待时间最长的作业。 优点:实现简单、公平 缺点:没考虑资源利用率和作业的特殊性(对短作业不公平) 短作业优先(SJF):以要求运行时间长短进行调度,即启动要求运行时间最短的作业。 优点:易于实现,强调了资源的充分利用,保证了系统的最大吞吐量(单位时间里处理作业的个数)。 缺点:对长作业不公平,可能会造成长作业长期等待。 结论:假设系统中所有作业同时到达,可以证明采用SJF能得到最短的作业平均周转时间。,实际的算法可能会是多种算法的综合。,高响应比优先(HRF):响应比最高的作业优先启动。 响应比=(等待时间+估计运行时间)/ 估计运行时间 该算法是FCFS和SJF的结合,克服了两种算法的缺

5、点 优点: 公平,吞吐率大 缺点: 增加了计算,增加了开销 高优先级优先:由用户指定作业优先级,优先级高的作业先启动。 资源均衡型调度:把作业分类,作业调度从不同类型作业中去调度作业。根据作业对资源要求分类:I/O型、CPU型和均衡型,作业调度算法例题,设有四个作业J1、J2、J3、J4,它们到达时间和计算时间如下表:作业 到达时间/时 计算时间/时J1 8:00 2J2 8:30 1J3 9:00 0.25J4 9:30 0.5四个作业在一台机上按单道方式运行,采用响应比高优先调度算法,求各作业执行顺序、周转时间、平均周转时间。,解: 作业调度是宏观调度(高级调度); 四个作业在一台机器上按

6、照单道方式只能采用批处理方式运行; 批处理作业的四种状态:提交,收容,执行,完成。,J1执行后,第一次计算j2,j3,j4的时间响应比,显然,j3响应比高,j3先运行。,J3执行后,第二次计算j2, j4的时间响应比,J2响应比高于j4,先执行,J4最后运行,作业的执行顺序为:j1,j3,j2,j4 作业的平均周转时间(2+2.75+1.25+2.25)/4=2.0625h,2.2 作业的建立,批处理系统中存在作业建立问题 作业建立: 作业的输入 作业控制块的建立,2.2.1 作业的输入方式,联机输入方式:外围设备直接同主机相连,一台可以和多台。 脱机输入方式:低档的外围机做I/O。 直接偶合

7、方式:低档的外围机做I/O与主机中间加入大容量外存。SPOOLING系统:外围设备同时联机操作,中间包括外存、通道。,2.2.2 JCB的建立,在运行过程中,系统对作业进行管理来保存必要信息。JCB在作业收容状态建立,以后由作业调度程序管理,作业结束,JCB也撤销。,作业控制表(JCB, Job Control Block),作业名 估计执行时间 优先数(用于调度) 作业说明书文件名 程序类型(需调用的系统程序) 资源要求:(静态分配,或中间可以随作业步变化分配效率不高;动态分配 作业状态:提交、后备、执行、就绪、等待、完成;,2.3 接口,一、作业控制接口 系统为用户提供各种命令接口界面,用

8、户根据这些操作命令来组织作业的执行。 另一个是系统调用,编程人员使用系统调用来请求操作系统提供服务。 使用操作命令进行作业控制的主要方式有两种:脱机方式和联机方式。,2.4 系统调用(SYSTEM CALL),2.4.1 系统调用及其功能 2.4.2 系统调用的实现过程 2.4.3 系统调用举例* 2.4.4 系统调用与普通过程调用的相同点和不同点*,返回,系统调用是操作系统提供给软件开发人员的唯一接口,开发人员可利用它使用系统功能。OS核心中都有一组实现系统功能的过程(子程序),系统调用就是对上述过程的调用。,2.4.1 系统调用及其功能,每个操作系统都提供几百种系统调用,包括:外存文件与目

9、录的读写,各种I/O设备的使用,在程序中启动另一个程序,查询和统计系统资源使用情况等等。,1. 系统调用的功能,1) 设备管理: 设备的读写和控制;Ioctl 设备配置 Open 设备打开 Close 设备关闭 Read 读设备 Write 写设备,2) 文件管理:文件读写和文件控制; Open 文件打开 Close 文件关闭 Read 读文件 Write 写文件 seek 读写指针定位 Creat 文件创建 Stat 读文件状态 Mount 安装文件系统 chmod 修改文件属性,3) :创建、中止、暂停等控制; Fork 创建进程 Exit 进程自我终止 Wait 阻塞当前进程 Sleep

10、 进程睡眠 Getpid 读父进程标识 4) 进程通信:消息队列、共享存储区、socket等通信渠道的建立、使用和删除; 5) 存储管理:内存的申请和释放; 6) 系统管理:设置和读取时间、读取用户和主机标识等; gtime 读取时间 Stime 设置时间 getuid 读取用户标识,2. UNIX用户界面Shell命令,Shell命令语言: 命令结构参数 Shell元字符 以前称为通配符 Shell变量 标准变量和自定义变量 Shell常用的命令,2.4.2 系统调用的实现过程,实际上系统调用语句本身是硬件提供的(机器指令),但其所调用的功能是操作系统提供的。每种机器的机器指令集中都有一条系

11、统调用指令。,2.4.3 系统调用举例*,凡是与硬件相关、与应用无关的工作,都通过操作系统程序来完成。,1. 利用系统调用向打印机输出字符,方法1:调用DOS功能向打印机输出MOVE A,PARA1MOVE B,PARA2INT 21H,方法2:用OUT指令直接打印L1:MOVE A,IIN ADDR1,B OR B,BSJNC L1OUT ADDR2,ARET,2. 利用系统调用实现硬盘文件内容读写,MOVE DX,OFFSET BUFF MOVE CX,BYTE MOVE BX,HANDLE MOVE AH,3FH INT 21H,系统调用和输出指令功能的比较,I/O设备的硬件接口,一般由

12、四种寄存器(地址,数据,状态,控制)或其子集组成,任一程序中若要使用I/O设备来输出数据或接受输入,必须通过对这四种寄存器读写的I/O机器指令进行。 使用系统调用的程序段则简单许多。程序员不再需要与接口寄存器打交道,只需一个简单的调用即可。,2.4.4 系统调用与普通过程 调用的相同点和不同点,相同点 改变指令流程 重复执行和公用 改变指令流程后需要返回原处 不同点 系统调用是动态调用,而CALL调用方式是静态调用; 执行状态不同 进入方式不同 与进程调度的关系不同: 嵌套或递归调用,系统调用是动态调用,而CALL 调用方式是静态调用;,系统调用是动态调用,程序中不包含被调用代码,好处: (1

13、)用户程序长度缩短 (2)当OS升级时,调用方不必改变 CALL调用方式是静态调用,被调用代码与调用代码在同一程序之内。CALL调用方式,其调用地址是固定的,包含在调用语句中;返回地址是不固定的(同一子程序可能被不同处多次调用),在程序执行过程中通过栈的实现来保存和弹出返回地址。,2. 执行状态不同,状态切换:系统调用、中断、异常 trap陷入 特权指令(访问关键寄存器、停机指令)和I/O敏感指令(中断屏蔽、端口读写),调用和返回经历了不同的系统状态。通常核心和应用程序的代码分别运行在CPU的不同的状态下(系统态/核心态/管态和用户态/目态),所用地址空间也不同核心的代码可以直接访问应用进程的地址空间,反之不然。,3. 进入方式不同,CALL指令的内部实现过程: 返回地址压栈(即该CALL指令所在的地址); 将该CALL指令中所含的地址(即被调用代码所在地址)送入PC RET指令的内部实现过程: 从栈顶弹出返回地址送入程序计数器PC,利用int或trap指令进行系统调用;利用call或jmp指令进入普通的过程调用;,4. 与进程调度的关系不同,采用抢先式调度的系统,在系统调用返回时,要进行重新调度的检查是否有更高优先级的任务就绪(创建或唤醒)。,5. 嵌套或递归调用,对系统调用,一般不允许在同一个进程中发生嵌套或递归(不同进程可以重入同一个系统调用)。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号