本文主要是介绍作业管理笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
1作业的概念
1.1 作业的定义
1.2 作业的组织
1.3 作业的状态与处理流程
1.4 作业的管理
1.4.1 作业建立
1.4.2 作业调度
1.4.3 作业完成
2作业的输入/输出方式
2.1 联机输入/输出
2.2 脱机输入/输出
2.3 直接耦合方式
2.4 Spooling系统
3作业控制
3.1 批处理系统
3.2 分时系统
4用户接口
1作业的概念
1.1 作业的定义
一般编辑过程
两个阶段的划分
1)人工独立完成阶段:到编辑为止的各步(尽管有支撑软件的存在)。
2)计算机完成阶段:从编辑开始的各步(在用户的要求控制下)。
用户角度的定义
1)指用户要求计算机给予计算(或处理)的一个相对独立的任务,其若干必须顺序处理的工作单位(或步骤)称为作业步。
2)是一次活动,从源程序的编辑、输入、编译、链接和运行到得出的结果,即用户每次要求计算机所做的工作的集合称为一个作业。它是一个动态的概念,其中若干独立的加工步骤称为作业步。
3)是指在一次应用业务处理过程中,从输入开始到输出结束,用户要求计算机所做的有关该次业务处理的全部工作。在作业的处理过程中计算机所做的相对独立的工作称为作业步,作业由不同的顺序相连的作业步组成。一般来说,每一个作业步产生下一个作业步的输入文件,如编辑输入是一个作业步,它产生源程序文件,编译也是一个作业步,它产生目标代码文件。
系统角度的定义
由用户提交的程序、数据和作业说明书组成,系统通过作业说明书控制文件形式的程序和数据,使之执行和操作。(在批处理系统中,作业是资源分配和处理机宏观调度的单位。)
1.2 作业的组织
构成
程序、数据和作业说明书三部分,一个作业可包含多个程序和多个数据集,但至少包含一个程序。
程序和数据
用于完成用户所要求的业务处理工作。
作业说明书
体现用户对作业执行的控制意图,是系统建立作业控制块JCB的依据。主要构成为:
1)基本描述 包括用户名、作业名、使用的编程语言等。
2)控制描述 作业执行过程中的执行方式(脱机方式或联机方式)、各作业步的操作顺序、作业不能正常执行的处理等。
3)资源要求描述 包括要求内存大小、设备种类和台数、处理器优先级、所需处理的时间、所需库函数等。
作业说明书必须根据操作系统提供的控制命令和有关参数按照一定的格式进行编写。
1.3 作业的状态与处理流程
作业的状态
描述作业生存期的各个阶段,四个状态分别是:
1)提交状态 程序员把作业实体已存贮在某种介质上,如卡片、纸带、软盘等,交给操作员。
2)后备状态 操作员将载有作业实体的某种介质放在相应的输入设备上输入计算机的辅存,并由操作系统(作业注册程序)登记建立相应的作业控制块,链入后备作业队列中、等待作业调度选择。
3)执行状态 作业被作业调度选中,其中相应程序被调入内存并为之建立一组相应的进程,等待进程调度选择。
4)完成状态 程序运行结束,操作系统处理善后工作(归还资源、撤消作业控制块JCB、计帐、等待结果输出)。
作业处理流程
1.4 作业的管理
作业状态的变迁是在作业管理的作用下完成的。
1.4.1 作业建立
主要由两个过程组成。
1)作业的输入
指将作业的程序、数据和作业说明书从输入设备(例如键盘、卡片机、纸带机等)输入到外存并形成有关初始信息。(由外部启动信号通知系统调用相应的输入管理程序负责控制和完成作业的输入工作,相应地由外部信号结束输入过程。)
2)作业控制块JCB的建立
根据作业说明书内容和有关作业信息在外存中的位置建立,包含系统对作业进行管理所必须的信息的数据结构表格,主要内容有:
a作业名 用于识别不同作业。
b作业估计执行时间、建立时间。
c优先数 可由用户输入,或系统根据某种原则给出。
d作业说明书文件名 控制作业执行的根据。
e程序语言类型 指明作业需要的编译系统及有关的库函数类型。
f作业状态 描述作业生存期的各阶段,其中作业处于执行状态并不意味着立即占据处理机,只是表示作业作为一道程序进入内存、参与对CPU和其他资源的竞争。
g内存、外设要求 作业对硬件资源的要求。用户在作业说明书中提出的资源要求称为静态申请,由于其资源利用率不高的原因,现代操作系统中多采用动态申请和释放的方式。
h外存位置 指明作业在外存中的位置。
其中b.c为作业调度算法提供参数。
作业创建成功的条件是获得JCB表项和足够的外存空间(输入井)。
1.4.2 作业调度
对成批进入系统的作业,按一定的策略选取某几个作业,为它们分配内存空间并装入内存,并且为之建立相应的进程。由于其调度与进程调度的共同之处,归在处理器调度讨论。
1.4.3 作业完成
撤消作业的一组相关进程,回收资源、计帐和输出结果,最后撤消作业存在标志-作业控制块JCB。
2作业的输入/输出方式
作业信息的输入与结果的输出涉及设备的输入/输出方式。
2.1 联机输入/输出
亦称经过CPU的输入/输出方式,见于早期批处理系统。外围设备直接和主机相连接,一台主机可连接一台或多台外围设备,由于外设的输入/输出速度低于CPU的处理速度,造成CPU时间很大浪费。
2.2 脱机输入/输出
亦称预输入方式,利用低档机(称卫星机或外围机)负责作业信息的输入并进入后援存储器(如磁带),再将装入输入信息的后援存储器拿到主机上输入主机;输出过程类似。优点是解决了快速输入/输出的问题,缺点是仍需人工干预和增加一台卫星机的代价。
脱机输入/输出
2.3 直接耦合方式
在主机和外围机中间用一个公用的大容量辅存(磁盘)直接耦合起来,其中慢速的输入输出仍由外围机负责,主机直接从大容量辅存中提取信息。既保留脱机方式的优点,又免去人工干预的缺点,但该方式以硬件资源的设置为条件,成本高,只用于大型或巨型机系统。
2.4 Spooling系统
(Simultaneous Peripheral Operation On Line 多台设备同时联机操作)
由Spooling输入程序和Spooling输出程序构成,采用通道(比计算机主机简单的外围机)取代卫星机,实现外设和主存直接交换信息,实现“假”脱机的输入输出工作。
输入
将低速输入设备上的作业经通道、内存缓冲区、通道传送至输入井(磁盘上开辟的容纳作业的区域),同时建立JCB进入等待作业队列,完成作业的进入和创建,亦称为预输入。
输出
将输出井(容纳作业输出信息的磁盘区域)中的信息在外设空闲时经通道传送到设备上形成真正的输出操作,亦称为“缓输出”。
特点
1)实现CPU的充分利用。
2)免除人工干预,硬件成本低。
3)预输入可实现批处理作业预先进入系统形成后备作业队伍,方便作业调度。
4)实现“虚设备”。(实质是通过共享设备来模拟独占型设备的动作。)
3作业控制
3.1 批处理系统
脱机作业控制
用户用批处理系统提供的作业控制命令语言编制自己的作业说明书(或称控制卡)来表达对作业执行步骤的控制,亦称自动作业。
系统配置相应的命令解释程序,按作业说明书中的命令顺序(一个个的命令又可称为作业步)边解释边执行,在执行过程中用户无法干涉。
联机作业控制
用户通过控制台(或终端)直接打入作业控制命令,告诉系统的命令解释程序,边解释边执行,批处理支持少量联机作业。(结合作业说明书方式优点形成批命令文件方式。)
3.2 分时系统
从系统角度看分时系统不存在作业的概念。原因在于分时系统采用时间片轮转法,分时使用处理机,为每个终端用户打入的操作命令服务。由于每个终端用户获得的处理机时间片长度有限,用户的程序和数据是直接进入内存工作区(系统为每个终端开辟一个内存区域)中,与其他终端用户的程序一起竞争处理机资源,不必进入辅存,也不必形成后备作业队列等待调度,系统直接采用进程管理,免去作业及其调度的一层管理软件。
从用户角度看仍有作业的概念。用户在一次注册login后,通过打入一个个键盘命令(终端命令)与系统交互作用,完成自己的工作,用一个注销logout来结束与logint之间的一系列命令的执行。
4用户接口
用户接口是在操作系统与用户之间提供的人们易于理解的双向通信的机制,其目的是向用户提供执行程序过程的一系列命令,其方式有作业控制语言形式、键盘操作命令形式、面向屏幕的菜单方式、基于图形的窗口方式。
命令接口
操作系统提供用户用于作业控制。(略见上)
程序接口(系统调用、广义指令)
用户在程序中直接使用向操作系统提出启动外设进行数据交换、申请和归还资源(主存及外设)以及各种控制要求。(或操作系统为汇编语言用户编程提供的、调用系统的某个功能子程序为之服务的手段。)
命令接口的实现最终都得转化为对操作系统的系统调用形式上来。
操作系统作为裸机的首次扩充,其系统调用可视为一组功能更强的指令系统,与机器指令系统区别而称为广义指令。
系统调用就是用户在程序中调用的、由操作系统提供的一组功能子程序。作为一种特别的过程调用,通常是借助特殊的机器指令来实现并将系统状态转化特权方式(管态、核心态、系统态),同时引起中断现行程序。系统调用可以嵌套调用,其深度由系统规定,基本过程为:
1)将系统调用所需参数或参数区首址装入指定的通用寄存器;
2)访管中断(自愿进管中断);
3)为用户程序保留“现场”;
4)取系统调用编号,访问入口表,找到相应子程序入口地址,转去执行;
5)系统调用命令执行后退出,恢复现场,将返回参数或参数区首址放入指定通用寄存器供用户程序使用。
系统调用是为阻止用户直接引用系统程序而设置的,以保护系统程序不被干扰破坏。两类程序分别在不同的机器状态(或程序状态)下运行,系统调用便是一座桥梁,借助中断及其处理形式,达到调用操作系统的某功能子程序、为用户服务的目的。
第3章作业
1.在一个批处理系统中,一个作业从提交给系统到运行结束退出系统,通常要经历哪几个阶段和状态,其状态转化的原因是什么,由哪些程序来负责状态的转换?
2.什么是Spooling系统,其作用如何?
3.什么是系统调用,与原语有何不同?
4.Spooling系统对一个批处理系统是必要的,为什么?对一个分时系统还需要吗?
5.三道程序构成如下,它们在一个系统中运行,该系统有输入设备、输出设备各一台。
输入操作 计算操作 输出操作 (单位:秒)
A 32 8 5
B 21 14 35
C 12 32 15
试问:
a) 三道程序顺序执行的总时间是多少?
b) 充分发挥各设备效能并行执行,最短需多少时间?(不计系统开销)
这篇关于作业管理笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!