首先,看一张流程图,顺着这个图我们简单理解一下
所以我们可以从用户的角度这样理解作业:作业就是用户一次请求计算机系统为用户完成任务所做工业的综合
进而,在一个作业的处理过程中,计算机所做的每个相对独立的工作就是,一个作业步,作业由不同顺序的作业步组成。
补充理解:编辑(cpp)-> 编译(obj)-> 链接(exe)
接下来,从系统的角度,可以将作业视为程序、数据和作业说明书构成的整体,即:
作业程序 + 数据(作业体)+ 作业说明书(作业控制语言编写)
其中,书写作业说明书的语言称为作业控制语言(JCL),是用户用于描述批处理作业处理过程控制意图的一种特殊程序,例如批处理文件。
批处理系统中,作业是抢占内存的基本单位,即以作业为单位将程序和数据调入内存
作业:程序、数据、作业说明书
作业说明书:作业基本情况、作业控制、作业资源
作业的建立指的是一个作业的全部程序和数据输入到外存且在系统中建立了相应的作业控制块(job control block——JCB),也就是说,作业的建立包括
作业的输入是将作业的程序、数据和作业说明书从输入设备输入到外存,并形成有关初始信息
在作业输入时,需要外部启动信号通知系统调用相应的输入管理程序——决定了作业的输入方式
定义:外围设备和主机直接连接的输入方式
特点:
定义:利用低档个人计算机作为外围处理机进行输入处理
这种方式下,主机与输入设备不是直接连接,实现了脱机。具体地:在个人机上,用户通过联机方式将作业输入到后援存储器,然后将装有输入数据的后援存储器拿到主机的高速外设上与主机连接
特点:
定义:将主机和外围低档机通过一个公用的大容量外存直接耦合,如下图
特点:
定义:假脱机(Simultaneously Peripheral Operation OnLine-同时外围设备联机操作)
这种输入方式下的工作方式是:
系统把作业处理的全过程划分为相对独立的三个部分——输入流、处理流、输出流
spooling-in/spooling-out 进程:控制输入/输出,包括输入程序模块、输出程序模块、作业调度程序
工作原理:
可见,这一过程表明,实现了对作业输入、组织调度和输出的统一管理,使外设在 CPU 直接控制下,与 CPU 并行工作。虽然主机与输入设备没有分离,却具有了脱机的性质——假脱机
当用户需要在计算机网络中某一台主机上输入的信息传送到同一网络中的另一台主机上进行操作或执行时,即构成网络输入方式
作业控制块(JCB)是在作业建立时系统根据作业说明书建立的
在运行过程中,JCB 是系统对作业进行管理的必要信息,主要包括:
系统为每个作业建立了 JCB,该表格登记该作业所要求的资源情况、预计执行时间和执行优先级 包括:
作用:
JCB 的创建和撤销:
R =(W + T)/ T= 1 + W / T
程序级接口:是系统为用户在程序一级提供有关服务而设置的,由一组系统调用命令组成
例如:在 C 的编程中,使用到的一些系统调用函数(例如:fork() )就是程序级接口
注意:程序级接口只能在高级语言或汇编语言中作为函数和过程被调用,而不能像一个命令那样直接在系统提示符下输入
这一部分会在 第五大点 再单独介绍一下
用户在 DOS 或 UNIX 文字界面的系统提示符下输入命令,即使用了操作系统提供的命令级接口(操作级接口)
因此,操作级接口为用户提供了各种命令。 具体在使用时,用户可以将一些命令通过 JCL 编写作业控制程序提交给系 统,系统执行过程中用户无法干预,这种方式可以视为“批处理”。注意,这是 命令的批处理。
另一种更常见的方式是,用户通过命令与系统对话,控制程序执 行和管理计算机系统(用户直接参与控制作业执行)
此外,现在的 Windows、UNIX 图形界面等操作系统为用户提供了图形用户接口,用户通过鼠标点击图标、菜单、窗口等即可进行操作。但就其实质而言,点击图标实际上也是在执行一个命令。比如,点击文件夹图标,实际上相当于DOS 中的 cd 命令,点击一个文件图标,就是执行该文件的操作。因此,图形用户接口实质上也是操作级接口(命令接口)。 当然,在命令行方式下,用户与操作系统的交互要求用户记忆命令格式。在图形用户接口方式下,用户可利用鼠标对屏幕上的图标进行操作,完成与操作系统的交互,从而减少记忆内容,方便用户使用。它的技术基础是高分辩显示器和鼠标
操作级接口(命令接口)提供给用户直接在键盘终端上交互式地使用,程序级接口提供给用户在编程时使用。
操作系统为用户提供两个接口:
概念:提供了应用程序与操作系统之间的接口
作用:使用户级程序方便获得操作系统提供的服务,主要是与系统资源有关的服务都由操作系统提供
分类:进程控制、文件管理、设备管理、存储管理、通信管理、线程管理