用户接口与作业管理_第1页
用户接口与作业管理_第2页
用户接口与作业管理_第3页
用户接口与作业管理_第4页
用户接口与作业管理_第5页
已阅读5页,还剩135页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章用户接口与作业管理

用户如何把自己的请求告诉计算机

计算机接到用户请求后如何处理,如

何为用户服务

3.1概述

3.1.1程序的启动和结束

例子:

程序的执行(启动和结束)

破件知识:

程序开始执行的两个前提条件

程序已装入内存

程序计数器PC:该程序在内存的人口

地址

五种启动程序执行的方式

第一种方式:命令方式

命令提示符下打入程序名和参数,回车

O,$,%

命令解释程序(命令解释器,作业管理程序,作业

控制程序,SHELL)

command,com(才艮目录下)

SHELL(BSH,CSH,KSH...)

在Windows中,命令方式是以窗口菜单显示和鼠标操

作来体现的

开机命令提示符出现打入命令

命打回车

式程序首指令执行

启程序尾指令执行

下一个命令提示符出现

(在前一个命令提示符的下一行首)

第二种方式:批处理方式

.BAT文件

例子:启动中文环境需要多条命令:

装入字库

启动主程序

I.装入汉字输入法

AUTOEXEC.BAT

将若干条命令放在一个文件中,在提示符

后打入该文件的名字)由计算机自动连

续执行该文件的这组命令

以命令方式启动执行批文件

回到操作系统,

操作系统从该批文件中读下一条命令

第三种方式:EXEC方式

在一个程序中运行另一个程序,

再返回原来的程序。

“父”程序执行exec调用

X

E操作系统实现exec的装入(建立进程)、

C启动(或转调度,程序或返回)

式、,

的II“子”程序执行

程执行完毕

回到操作系统,进行子程序结果处理工

作,并将结果信息返回“父”程序

“父”程序继续调用

第种方式

由硬件装入程序和启动程序执行

早期计算机:用户把装有可执行目标

程序的纸带(或卡片)安装到纸带(或

卡片)输入机上;按机器面板上的一个

特定按钮(”装入程序并启动执行”);

硬件将纸带上的内容顺序读入内存,直

至纸带上的一个特殊的程序结束标记为

止;然后硬件开始从内存零地址处执行

程序。

第五种方式:自启程序

•自己装入自己,并启动自己开始执行的

程序

•自启程序由两邙分组成

•引导程序和程序主体

引导程序

在外设设备的起始位置上顺序存放,开机

时由硬件自动装入并启动,或ROM中放一

个引导程序,则不必装入而可以直接启

动。即开机时硬件自动从ROM中该引导程

序的起始地址开始执行它。

由弓|导程序装入启动程序主体

用户程序存放在外存上,其自含的引导程

序顺序放在存储介质的开始位置

程将该存储介质放到相应的联机输入装置上

入以某种硬操作方法通知计算机需

与执行自启程序

的硬件将上述引导程序读入内存并将控制

过权传给它

引导程序将用户主体程序读入内存并

将控制权传给它

程序的结束

-正常结束:程序按自身的逻辑有效地

完成预定功能后结束。

—异常结束:发生了某些错误而导致程

序在没有完成预定功能时提前结束

正常结束的结束处理工作

-返回父程序并返回结果信息

-释放所用资源(空间、设备、记录

使用情况、记帐等)

非正常结束的结束处理工作

-应包括正常结束时所做的处理工作

-找出错误原因并报告给用户

3.1.2用户与操作系统的接口

1.程序级接口:

用户在程序中通过一系列的系统调

用向操作系统提出服务请求

2.作业级接口:

操作系统为用户对作业运行全过程的

控制提供的功能

⑴联机接口(交互式):

由一组命令向操作系统提出请求。用

户在终端上输入命令,系统立即解

释并执行该命令,完成用户的要求,

然后返回终端或控制台;用户可输

入下一条命令,如此反复直到作业

完成

(2)脱机接口:

在批处理系统中,用户通过作业控制

语言(JCL)向系统提出对作业控制

要求。OS向用户提供一组作业控制

语言,用户用这种语言书写作业说

明书,然后将程序、数据和作业说

明书一齐交给系统操作员。脱机用

户不能直接干预系统

脱机用户接口与批处理接口是相同含

义,它一次性提供一批作业,其间

用户不必干预,机器按作业说明书

处理

3.1.3作业的基本概念

1.作业:

用户在一次计算过程中,或者一次事

务处理过程中,要求计算机系统所

做工作的总称。

作业:程序,数据,作业说明书

2.作业步:

一般情况下,一个作业可划分成若

干个部分,每个部分称为一个作业

步。在作业运行期间,各作业步之

间存在着相互联系,往往上一个作

业步的结果作为下一个作业步的输

3.作业流:

一次有一批作业进入系统,并在操作

系统控制下,一个接一个地盅行处

3.1.4作业管理的任务

1.作业进入

2.作业调度

3.作业控制

4.作业退出

3.2批处理系统的作业管理

(常用SPOOLing技术)

原理:

系统把作业处理的全过程划分为相对

独立的部分,一部分为输入流,一

部分为处理流,一部分为输出流

3.2批处理系统的作业管理

作业输入:

作业从输入介质上进入系统,并加以

组织,在磁盘上形成一个后备作业

的过程

作业处理:

•作业调度:挑选^—部分作业投入运

•作业控制:完成具体进程的执行,

解释执行作业说明书,结果送输出

作业输出:

将输出井上的运行结果送外设(输出

设备)

3.2.1作业进入

作业从输入设备进入系统,并加以组

织,形成一个后备作业的过程

1.作业的组成:

作业=程序+数据+作业说明书

作业说明书:

•一个独立于程序的文件,刻画了用

户对作业的基本描述,以及用户对

作业处理的控制要求

•是用作业控制语言书写的

2.作业控制语言:

是一种高级语言

3.输入井:

在磁盘上开辟的一块空间,用于存放

后备作业,包括程序,数据,作业说

明书,作业控制块

4.作业控制块(JobControlBlock-

JCB):

作业存在的唯一标志,是系统为管理

作业所设置的一个数据结构,存放

了管理和控制作业所必需的信息

JCB主要内容:

作业的描述信息:H

如作业名,用户名,用户帐号,调度信

息(作业优先级别),资源需求,作业

进入系统时间)作业估计运行时间)作

业开始处理时间)作业完成时间,作业

状态等。

作业的存储信息:输入井地址,输出井地

作业说明书信息

5.预输入过程

第一步:

作业说明书经外部设备进入内存,操

作系统对它进行分析,从其中抽取

有关内容,填写后备作业JCB,然后

把作业说明书以文件的形式存入输

入井,并将文件名填入JCB

第二步:

把作业体(程序和数据)调入输入井,

填写JCB有关内容

第三步:把JCB存入输入井,插入到后

备作业队列

(以上三个步骤由预输入进程完成)

6.预输入进程:

预输入进程完成作业的输入、组织

和建立工作

是一个系统进程,一经创建就等待

输入设备上的信号,由系统操作员

发信号,唤醒该进程投入运行

其工作方式为等待人工启动

3.2.2作业调度

1.作业调度:

根据一定的原则,从输入井的后备作

业队列中选择适当的作业,为它分

配内存等资源,并将其调入内存投

入运行。

又称高级调度,远程调度

2.调度原则:

公平,合理,使用户满意

提高系统资源利用率,如提高系统吞

吐量

3.作业调度算法

⑴先来先服务(FCFS):

按照作业进入系统的先后次序进行调

度,先进入系统者先调度

优点:实现简单,公平

缺点:没考虑资源利用率和作业的特

殊性

⑵短作业优先(SJF):

选择运行时间最短的作业投入运行

优点:易于实现,强调了资源的充分

利用,保证了系统的最大吞吐量

(单位时间里处理作业的个数)

缺点:不公平,会造成长作业长期等

待。

结论:

假设系统中所有作业同时到达,可以

证明采用SJF能得到最短的作业平均

周转时间

作业:证明以上结论

⑶最高响应比优先(HRF):

优先选择响应比最高的作业投入运行

响应比:作业周转时间/作业估计运行

时间

作业周转时间

作业估计运行时间

作业周转时间=作业进入系统等待时间

+作应估计运行时间I

作业进入系统等待时间

♦♦~~作业估计运行时间

该算法是FCFS和SJF的结合,克服了两

种算法的缺点

优点:公平,吞吐率大

缺点:增加了计打,增加了开销

(4)基于优先数的作业调度算法:

选择优先级高的作业投入运行

⑸资源搭配算法

(均衡型作业调度算法)

把作业分类,作业调度从不同类型作

业中去调度作业

根据作业对资源要求分类:

I/O型

CPU型

均衡型

4.性能衡量指标

⑴作业平均周转时间T

n1

T=0Ti)—

Z=1〃

Ti=tc-ts■

(Ti为每个作业的周转时间;tc作业完

成时刻;ts作业进入系统时刻)

⑵平均带权周转时间w

(Ti为每个作业的周转时间;tr为作

业实际运行时间)

T是衡量不同调度算法对同一个作业

流的性能

W是同一调度算法对不同作业流的性

能衡量

例:单道环境下四个作业,它们进入系统的时间

如下:

作业进入时间估计运行时间(分钟)

J0B18:00120

J0B28:5050

J0B39:0010

J0B49:5020

⑴给出FCFS,SJF下的作业执行次序

⑵给出FCFS,SJF下的作业平均周转时间和带

权平均周转时间

例:

估计运行时间SJF完成时FCFS完成时

作业进入时间

(分钟)刻刻

J0B18:0012010:0010:00

J0B28:505011:2010:50

J0B39:001010:1011:00

J0B49:502010:3011:20

FCFS:T=(120+120+120+90)/4

=112.5

SJF:T=(120+150+70+40)/4=95

FCFS:W=(120/120+120/50+120/10

+90/20)/4=4.975

SJF:W=(120/120+150/50+70/10

+40/20)/4=3.25

作业:

两道环境下,于个作业,它们进入系

统的时间如下:

系统采用短作业优先作业调度算法,

作业被调度运行后不再退出,但当

一新作业投入运行后,可按照作业

运行时间长短调整作业执行的次序,

请给出上述四个作业的执行时间序

列,及计算出平均周转时间及带权

平均周转时间。

作业:两道环境下四个作业

作业进入时间估计运行时间(分钟)

J0B110:0030

J0B210:0520

J0B310:105

J0B410:2010

5.作业调度进程:

按一定的作业调度算法从后备作业队

列中取一个JCB,对该JCB进行修改,

形成一个运行JCB,然后为该作业分

配资源。并将该作业的运行JCB交给

作业控制进程

(是一个系统进程,和预输入进程构

成了生产者——消费者关系)

5.2.3作业控制(负责控制作业运行)

作业控制进程:主要负责控制作业的

运行,具体解释执行作业说明书的

每一个作业步,并创建子进程来完

最相应步骤

(是一个系统进程,和作业调度进程

构成生产者——消费者关系)

5.2.4作业退出

•把输出结果送到输出设备上(启动

缓输出进程完成)

•回收各种资源

缓输出进程(脱机):

从输出井上将结果输出

是一个系统进程,创建后等待被唤醒,

一旦作业完成,则唤醒该进程

3.2.5作业状态及转换

作业状态;进入状态;后备状态;运行状态;退出状态。

进入状态-----►后备状态运行状态A退出状态

数据

业作业控制进程

原程序」出

作业说明进

程运行

书程

预输入进程输

输入设备--------------------输出设备

出入

ULJ等待就绪3

3.2.6SPOOLing系统工作原理

(SimultaneouslyPeripheral

OperationOnLine)

系统把作业处理全过程分为相对独立

的部分,一部分为输入,由预输入

进程完成;另一部分为输出,由缓

输出进程完成;另一部分由作业调

度和作业控制来完成,处理部分若

从输入部分输入的话,改为从输入

井输入数据;如果向外设输出,改

为向输出井某一部分去输出解

3.3交互式系统的作业管理

3.3.1概述

命令接口的基本任务

1.解释操作系统命令语言中的命令,

将命令传送到系统以便执行

2.接受系统来的信息,以响应语言的

形式提呈给用户

联机用户与交互式命令接口

使用者用输入装置,以各种操作方法

向计算机发出命令,请求各种操作。

系统收到命令请求之后,将控制转向

命令解释系统,对该命令进行解释

执行,完成指定功能。

然后,系统等待新的命令输入

交互式命令的接口通常要复杂,包含

功能结构,可能问题的处理办法,

如各种约定,前端处理,求助功能,

命令日志,命令注解,宏命令及命

令组等

交互式控制灵活方便,可以随时进行

各种处理,排除问题,方便调试,

但系统利用率低

联机命令接口:

一组联机命令,终端处理程序,命

令解释程序

332命令接口的操作方式与结构

直接命令处理

•直接命令用命令处理程序来实现

•对命令进行判别、分类、翻译、解

释、并按照命令参数的要求与功能,

调用系统过程去实现

不同的实现方式:

・作为操作系统的一个组成部分

•作为操作系统的一4—个独立程序

模块

•作为操作系统下的一个可置换的一

个普通程序

终端命令处理

在多用户环境下的终端型处理界面,

可采用间接性终端处理程序结构。

用户不直接面对主机系统,而是通

过某种输入输出设备与主机进行通

信。用户通过键盘,鼠标等装置,

通过视频终端把信息输入系统,在

终端屏幕上输出文本和图像。这里

处理活动中,除了命令处理程序外,

系统还要有一个终端处理程序对终

端进行控制和管理。

终端处理程序:

接收用户从终端上打入的字符

字符缓冲,暂存所接收的字符

回送显示

屏幕编辑

特殊字符处理

直接影响命令接口的问题

(1)回送():用户输入一个字符时,

要回送到终端上。某种情况下又不

需回送。在远程情形下,回送由终

端处理程序处理,不用远程通信

(2)缓冲():有时输入字符先于程

序处理,可以用缓存暂存等方法

(3)字符转换():如大小写,不同

编码方式的转换

(4)行缓冲()

(5)中止字符()

(6)命令预告()

333命令语言

目的:规定由操作系统执行的一系列

操作。

命令结构:

(命令前缀)命令名(命令参数)(命令选项)

•命令前缀:命令的特殊性

•命令参数:命令在执行前所需的资

源、文件和数据

•命令选择:指明命令的目标、路径、

方向、范围等

典型命令实例:

(1)UNIX系统:

who

Is-1

(2)DOS系统

dirc:\

(3)VAX/VMS

runmypro

334命令的种类与功能

基本

・最不可少的命令

•显示文件目录、路径和内容

•复制、更名或删除

•建立、编辑程序、文本和数据

•不同的语言编译和连接程序

•显示系统或用户环境的信息

批处理命令

针对脱机用户操作和大量顺序操作功

能而设计

批处理命令可以是专门的命令,也可

是系统的基本命令;还有有关的语

法结构,循环、分支、转移、判别

等,枸成一套特殊的命令语言

宏命令

一类组合命令,某些方面类似于批处

理命令,但有严格格式。宏命令其

中可包含若干命令,类似于宏语句

MACROmycmd

[命令集…]

MACROEND

命令的附加功能

命令的附加功能用以扩大命令的功能

性、选择性、适应性。包括:

(1)参数与变量

位置变量

关键字变量

(2)命令通配符

(3)重定向

(4)管道与过滤器

335命令文件

许多命令接口允许用户提前写出命令

并存入文件,且称为命令文件

命令文件提供了一种把一系列命令组

装成文件的方法,然后用文件名作

为命令名执行另夕I系列命令

好的高效命令有如下特点:

•如同标准命令一样接受参数和变量,

并可如宏变量一样在文采中进行替

•允许在命令文件中以嵌套形式调用

其它命令文件

•允许参数来自终端的命令文件本身

•允许命令执行显示到终端、存入文

件或送入打印机

•允许命令加入注释

•出错时允许用户干预,并在适当位

置恢复命令文件的执行

命令文件可把输入传给程序

命令文件可有循环、分支、转移等程

序语言的特征

336命令设计

•命令设计是操作系统各模块设计中

重要的,也是困难的一环

•命令解释和处理程序也是操作系统

中重要的程序模块

3.3.7实现

1.用户

对终端进行控制,即登录管理

OS提供监控程序(monitor),不断

检查系统终端,一旦发现某个终端

打开,在终端上显示必要信息,要

求用户注册(给出用户名、口令),

看其是否合法,合法则为终端生成

用户进程,然后,用户进程作业不

断接收命令为用户服务,

2.用户管理

为每个用户建立一个帐号,并记录这

个用户的主要信息,如用户名,口

令,这些信息存放在系统文件内。

当用户登录时,系统将用户打入信

息与该文件进行比较,若匹则为合

法用户,并为其创建用户进程,其

标志:提示符

3.子进程:(UNIX)中用FORK系统调用

创建一个子进程

4.后台命令

5.保护机制

3.4系统调用

系统调用与命令

使用方式不同,形式相同

系统调用是嵌入到程序中使用,命

令是交互式使用

汇编程序例子:打印5个字符

方法1:调用DOS功能

MOVEA,PARA1

MOVEB,PARA2

INT21H

方法2:用OUT语句直接打印

LI:MOVEA,I

INADDRI,B

ORB,BS

JNCLI

OUTADDR2,A

RET

I/O设备的硬件接口,一般由四种寄

存器(地址,数据,状态,控制)

或其子集组成,任一程序中若要使

用I/O设备来输出数据或接受输入,

必须通过对这四种寄存器读写的I/O

机器指令进行

而使用INT的程序段则简单许多。程

序员不再需要与接口寄存器打交道,

只需一个简单的调用即可

汇编程序例子2:读写硬盘文件内容

MOVEDX,OFFSETBUFF

MOVECX,BYTE

MOVEBX,HANDLE

MOVEAH,3FH

INT21H

磁盘读写的例子:更复杂

A、磁盘的控制和状态接口寄存器比

打印机的复杂的多,而且还有地址接

口寄存器

B、通常一个外存存储介质上可以存

放多个文件,随着文件的建立、删除

和拷贝在不停地变化,每个文件的长

度随着其内容的变化而不停地变化

高级语言例子:打印5个字符

charbuff[4]=a6abcde,9;

for(i=4;i>=0;i—)

print(buff[i]);

高级语言例子:

读硬盘文件门的第10到20个字节

seek(fd,10,0);

read(fd,buff,11);

A=A+l

printf(…)

B=■B+A

(1)源程序段

凡是与硬件相关、与应用无关的工作,

都通过操作系统程序来完成

用户程序

函数

操作系统

用户程序中对操作系统的调用称为系

统调用(systemcall)

每个操作系统都提供几百种系统调用,

包括:外存文件与目录的读写,各

种I/O设备的使用,在程序中启动另

一个程序,查询和统计系统资源使

用情况等等

实际上系统调用语句本身是硬件提供

的(机器指令),但其所调用的功

能是操作系统提供的。每种机器的

机器指令集中都有一条系统调用指

令(又称访管指令)

INT指令的执行过程:

初将PC与PSW入栈成根据该指令的参数

将内存中断向量表的相应位置的内

容读入成执行操作系统内部代码

IRET指令的执行过程:

初以栈顶内容置PSW和PC初

系统调用方式(INT)与程序中一般

的调用方式的相同点和不同点:

改变指令流程

重复执行和公用

改变指令流程后需要返回原处

同一程序中不包含被调用代码

转向的地址是活的:地址不写在程序

中,不同的调用地址不同

返回地址是活的:不同的调用返回的

地址不同

是安全接口:可随意进入被调用方

系统调用是动态调用,程序中不包含

被调用代码,好处:

(1)用户程序长度缩短

(2)当OS升级时,调用方不必改变

系统调用方式的调用地址和返回地址

都是不固定的,系统调用指令中不

包含调用地址,只包含功能号,是

按功能号(在可执行目标程序中)

调用的。在操作系统内部,由系统

调用处理程序通过系统调用分支表

(OS的一个数据结构)将功能号转

换为相应的指令地址

OS的系统调用分支表

OS代码

用户程序

OS

系统调用返回指令中不包括返回地址,

通过栈保存和弹出返回地址。

系统调用返回地址不固定,因为用户

程序在不同的地方调用OS。

安全接口:

INT指令和IRET指令的执行过程中,

要处理程序状态字PSW,INT指令中

要保存用户程序的老PSW,并根据中

断向量表设置新PSW;IRET指令中要

在返回用户程序前恢复用户程序的

老PSW

其目的:目态、管态的管理

系统态与用户态的转换,是由系统在

INT指令与IRET指令内部自动完成的,

而没有用一条单独的专门指令。这

样可以有效地防止在系统态下执行

用户程序

CALL调用方式是静态调用,被调用代

码与调用代码在同一程序之内

有两种可能性:

被调用代码是专门为该软件编制,

即基于模块划分或仅限于本软件范

围内的公用或重复使用(没有问题)

被调用代码来自公用软件(函数,¥)

CALL调用方式,其调用地址是固定

的,包含在调用语句中;返回地址

是不固定的,在程序执行过程中通

过栈的实现来保存和弹出返回地址

CALL指令的内部实现过程:

私返回地址压栈(即该CALL指令所在

的地址)司将该CALL指令孑所含的

地址(即被调用代码所在地址)送

入PC

RET指令的内部实现过程:

W从栈顶弹出返回地址送入程序计数

器PC

其它如jump,jnc,LOOP指令也如此

3.5操作系统的安装与启动

操作系统怎样开始运行

怎样形成一种系统操作环境

怎样从程序的顺序执行转换到支持程

序的并发执行

3.5.1操作系统的引导和装入

两种方式:

独立引导(bootup)

辅助下装(download)

独立引导方式:大多数系统采用,操

作系统的核心文件存储在系统本身

的存储设备中,由系统自己将操作

系统核心程序读入内存并运行,最

后建立一个操作环境

步骤:

1.系统加电,执行系统初启程序

2.执行初启程序,对系统硬件和配置

进行自检,保证系统没有硬件错误

3从硬盘中读入操作系统初启文件,并

将控制权交给该程序模块

(4)执行操作系统初启程序,完成系统

环境配置和操作系统初始化工作

⑸继续读入其余的操作系统文件,逐

个执行相应的系统程序,完成操作

系统各种功能模块的装入,完善操

作系统的操作环境,做好程序并发

执行的准备

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论