1、1,第七章 操作系统接口,7.1 作业的基本概念,一、作业、作业步,(1)作业:是用户一次请求计算机系统为它完成任务所进 行的工作总和。,(2)作业步:作业加工工作中的一个相对独立的步骤称为作业步。对作业的处理一般有这样几个作业步:编辑(修改)、编译、连接、运行 。,2,作业步之间的关系: 每个作业步运行的结果产生下一个作业步所需要的文件。 一个作业步能否正确地执行,依赖于前一个作业步是否成功的完成。 例如: user.c user.obj user.exe编辑 编译 连接 运行作业步之间的关系,二、作业的类型 根据计算机系统的作业处理方式不同,可以把作业分成两类:脱机作业(批处理作业)联机作
2、业(交互式作业或终端型作业)。,3,三、作业的组织 程序 作业由三部分组成 数据作业说明书 (说明用户的控制意图),作业控制块(JCB):为了管理和调度已进入系统的各个作业,系统设置的用于记录作业的基本情况的数据结构。,作业控制块(JCB)的主要内容: (1)作业的基本情况用户名、作业名、作业的状态和使用的语言等。 (2)作业的控制要求控制方式、类型、优先数、操作顺序和出错处理等。 (3)作业的资源要求作业建立的时间、要求运行的时间、最迟完成的时间、需要的主存容量、外设的种类及数量和资源使用情况。,4,作业的输入 作业的建立包括两个子过程作业控制块(JCB)的建立,作业的输入方式:1.联机输入
3、方式2.脱机输入方式(预输入方式)3.直接耦合方式4.SPOOLING系统5.网络输入方式,JCB(作业控制块)的建立:系统在作业输入到外存,进入后备状态时为作业建立 JCB ,它是作业存在的惟一标志.,7.2 作业的建立,5,7.3 操作系统的用户界面,操作系统的用户界面:是操作系统与用户的接口。是操作系统提供的计算机系统与用户之间进行交互作用和通信的通路。,用户使用计算机解决问题时,首先要编制程序,其次是要让程序在计算机上运行,两者都需要操作系统的支持。操作系统针对上述两个步骤,提供了相应的两类接口,所有计算机用户都是通过这两个不同层次的接口与操作系统发生联系的。,6,一、操作系统的界面(
4、接口),操作系统为用户提供两种类型的接口: 1)用户级 (操作员)接口:是操作系统为用户提供的各种操作命令,用户可利用这些操作命令来组织作业的工作流程和控制作业的运行或者管理计算机系统。因此,又可称为作业控制接口。,2)程序级(程序员)接口:是操体系统为用户提供的一组系统调用命令,编程人员可以在源程序一级使用这些系统调用命令请求操作系统提供服务(如请求使用各种外部设备、向系统申请资源、申请主存以及控制程序的执行速度等) 。因此,又可称为系统调用接口。,7,作业控制接口又可以根据作业类型的不同分为: 脱机用户接口。它由一组作业控制命令(或称作业控制语言)组成。用于脱机(批处理)作业的控制。 联机
5、用户接口。它由一组操作命令组成,用于联机(交互式或终端型)作业的控制。,8,9,(一)操作命令 键盘命令,对于联机用户,系统提供一组称为命令语言的键盘操作命令。它的主要优点是简洁、适合于有经验的用户使用。,10,另一种是面向屏幕的命令接口(如菜单系统)。它提供一种交互作用的方式,从系统提供的一组选择中确定所需的操作。,11,一种命令语言通常提供下列几组命令: 1. 系统访问命令 这类命令通常有两条。一条是注册命令,例如,LOGIN或HELLO等。,例如,系统在终端接通后,随即显示系统标题信息。即显示:LOG1N:打人你的注册名) 如果注册名正确,则系统进一步要求提供口令。PASSWORD: (
6、打入你的口令) 如果口令核准无误,显示系统确认信息,并显示系统提示符。,另一条系统访问命令是撤离(注销)命令例如,LOGOUT或GOODBYE等。此命令用于作业结束时退出系统。,12,2文件管理命令 这类命令包括显承文件目录、删除某个或某些磁盘文件、更改文件名、存储文件列磁盘、打印磁盘文件等。例如,MSDOS的一些文件命令如下:,DIR 显示所有在约定驱动器盘上的目录。DIR B: 列出驱动器B上的所有目录。DELETE Filename 删除一个文件。RENAME Oldname Newname 更改文件名。COPY d: Filename Filename 把一个盘上的某个文件复制另一个盘
7、上,名可以相同,也可以不同。,13,3. 编辑命令。包括插入、删除、修改、更新、替换、显示、打印、拷贝、存储、取出等。,4. 编译和执行命令:包括编译源程序,连接模块,装配目标程序,执行目标程序等。,5. 询问命令。用户可以利用这些命令显示系统的当前状态,如运行时间、当前时间所占内存量、磁盘块数、剩余外存容量等。,6. 操作员专用命令。由系统管理员专用,用来了解系统内的情况,修改系统内部的某些状态,如:为用户建立帐户,规定特权等。,对于这些命令,系统配置了一个命令解释程序,负责解释执行用户当前发出的各种终端命令包括:判断命令的合法性,识别命令的功能,完成命令指定的动作,并在终端上给用户提示。,
8、14,(二)作业控制命令(作业控制语言),例如:IBM 360/370系统的作业控制命令的格式:/ 参数,/GO EXEC PGM=FORTGO /PRINT2 DD SYSOUT=A /GOIN DD */* /,例如: /HAROLD JOB /COMP EXEC PGM=FORT /PRINT1 DD SYSOUT=A /IN DD */*,15,7.4 系统功能调用,系统调用:是用户在程序中调用操作系统所提供的一组功能子程序。系统调用是操作系统提供给编程人员的惟一接口。 系统调用通过系统调用命令(或访管指令)中断现行程序的执行,转去执行相应的系统子程序来完成某种系统功能。完成后,控制又
9、将返回到被中断的程序继续执行。,一、访管指令为了实现用户请求系统为其服务的愿望,在指令系统中要增设一条访管指令(SVC n)产生访管中断。,其中: SVC是操作码(或助记符)n为地址码(或功能号),16,(a)系统调用与返回 (b)程序之间的嵌套调用,17,二、系统调用的类型 1)与进程控制有关的系统调用。如;创建进程、删除进程、封锁进程、唤配进程等。 2)与存贮管理有关的系统调用。如:申请或释放存贮空间、申请或释放缓冲区等。 3)与设备管理有关的系统调用。如:申请设备、释放设备、输入输出操作等。 4)与文件管理有关的系统调用。如:打开文件、关闭文件、读文件、写文件、建立文件、删除文件等。 5
10、)与系统状态管理有关的系统调用。如:显示当前时间、日期,显示系统某些资源的情况等。,18,三、系统调用的实现,1)为了提供系统调用,操作系统必须事先编制好实现这些功能的例行子程序或过程。2)然后为实现各种系统调用功能的子程序编造入口地址表,每个入口地址都与相应的系统子程序对应起来。3)其后由陷阱处理程序把陷阱指令中所包含的功能号与该入口地址表中的有关项对应起来,从而由系统调用功能号驱动有关系统子程序执行。,19,四、系统调用的执行过程,当用户使用系统调用时,首先将所需要的参数和参数的首地址送入指定的通用寄存器,接着设置一条系统调用命令。当用户程序执行到系统调用命令时发生访管中断。系统响应中断就
11、转到访管中断处理程序执行,访管中断处理程序首先将用户程序的现场保留起来,并把系统调用命令的编号等参数放入指定的存储单元,接着根据系统调用命令号访问系统调用入口地址表.找到相应系统调用功能子程序的入口地址,然后转去执行相应的系统调用功能子程序。系统调用命令执行完后,恢复现场,并把系统调用命令的返回参数送入指定存储单元以供用户使用。,20,21,操作系统的结构设计应使操作系统容易设计、实现和维护;它应灵活、可靠、正确、高效、并易于验证其正确性。,操作系统结构的设计方法有:无序模块法、层次结构法、内核扩充法及管程设计法等。,7.5 操作系统的结构,一、整体结构(无序模块法)整个操作系统就是许多模块的
12、集合,其中每个过程都可以调用其他过程。优点:运行效率很高,存储占用相对较小。缺点:可维护性可读性较差,系统难以扩充。,22,23,二、层次结构层次结构法的最大特点是把整体问题局部化。一个大型复杂的操作系统被划分为若干层,每一层有若干模块,每个模块提供一组可被其它模块调用的功能,各层之间只能是单向依赖或单向调用的关系。,层次划分的一般原则: 直接负责硬件资源驱动、分配和管理的模块应放在内层。例如:处理机调度、设备驱动、中断处理等功能模块。 直接与用户程序、库程序及各种外部程序接口提供系统服务的模块应放在外层。 既非资源分配策略,又与硬件特性无关的模块放在中间层。 把各种资源管理模块都要用到的公共
13、模块放在内层。,24,优点:结构清晰,便于设计和调试,有利于操作系统功能的增加、修改和删除。因而,系统的正确性容易得到保证,也提高了系统的可维护性和可移植性。,25,三、客户/服务器结构,基本思想:尽量把一些非基本的操作移到内核外,把更多的代码移到高层,由用户进程来实现。而操作系统的核心只保留一些最基本的功能,把内核变得小巧精悍。,操作系统划分为若干进程,每个进程只完成某一方面的功能,如文件服务、进程服务、存储服务等,这些进程叫做服务器。请求服务器服务的进程称作客户进程。客户进程利用消息向服务器发送服务请求,服务器完成之后将回答消息送回给客户进程。核心的全部工作就是处理可户与服务器之间的通信。,优点:增加了操作系统的稳定性和可靠性,更易于操作系统的扩充和移植。,26,用户态,核心态,客户/服务器结构,27,总结:,运行一个用户程序(作业)的过程(作业步):编辑、编译、连接、运行。程序作业的组成 数据作业说明书,操作系统的用户界面:是操作系统与用户的接口。,系统调用及其系统调用的实现与执行过程,