资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第,2,章 操作系统用户界面,作业的基本概念,批处理操作系统的作业管理,交互式系统的命令控制界面,系统调用,思考,什么是作业?,什么是命令控制界面?,什么是系统调用?,3.1,作业的基本概念,1.,作业,用户在一次计算过程中,或者一次事务处理过程中,要求计算机系统所做工作的总称,2.,作业步,一个作业可划分成若干部分,称为一个作业步,3.,作业流,由多个作业组成的工作流程,典型的作业步,编译,连接装配,运行,目标,程序,段,可执,行程,序,源程序,输入数据,子程序,库函数,动态库函数,计算结果,编辑(输入,修改)源程序,编译,连接,运行,成功,编辑(输入,修改)另一源程序,是,否,典型的作业流,一个作业,另一个作业,3.2,批处理系统的作业管理,在批处理系统中,作业是抢占内存的基本单位。也就是说,批处理系统以作业为单位把程序和数据调入内存以便执行。,从系统的角度看,作业则是一个比程序更广的概念。它由,程序,、,数据,和,作业说明书,组成。系统通过作业说明书控制文件形式的程序和数据,使之执行和操作。,3.2.1,作业说明书,1,作业说明书,:,表达用户对作业的控制意图,内容:,作业的基本描述,作业控制描述,资源要求描述,3.2.2,作业控制块,1,作业控制块(,JCB,:,Job Control Block,),作业控制块是批处理作业存在的标志,其中保存有系统对于作业进行管理所需要的全部信息,它们被保存于磁盘区域中,(,1,)作业控制块的内容,作业控制块中所包含的信息数量及内容因系统而异,作业标知,用户名称,用户帐号,调度信息,资源需求,作业状态,作业类别,输入井地址,输出井地址,进入系统时间,开始处理时间,作业完成时间,作业退出时间,资源使用情况,(,2,)作业控制块的建立,当作业开始由输入设备向磁盘传输时,系统输入程序为其建立一个作业控制块,并进行初始化,初始化的大部分信息取自作业说明书,(,3,)作业控制块的使用,需要访问作业控制块的程序,系统输入程序,作业调度程序,作业控制程序,系统输出程序等,(,4,)作业控制块的撤消,作业完成后,其作业控制块由系统输出程序撤消,作业控制块被撤消后其作业也不复存在,作业在系统中存在与否的唯一标志是(,C,)。,A,、源程序,B,、作业说明书,C,、作业控制块,D,、目的程序,当作业进入完成状态,操作系统(B,)。,A,将删除该作业并收回其所占资源,同时输出结果,B,将该作业的控制块从当前作业队列中删除,收回其所占资源,并输出结果,C,将收回该作业所占资源并输出结果,D,将输出结果并删除内存中的作业,3.2.3,作业的输入,作业的输入将作业程序、数据和作业说明书从输入设备(例如键盘)输入到外存,并形成初始信息,1,作业输入方式,联机输入方式,脱机输入方式,直接耦合方式,SPOOLing,系统,思考:这几种方式有何区别与联系?,(,1,)联机输入方式,用户和系统通过交互会话来输入作业,外围设备直接和主机连接,(,2,)脱机输入方式,为了解决单台设备联机输入时的,CPU,浪费问题,(,3,)直接耦合方式,把主机和外围低档机通过一个公用的大容量外存直接耦合起来,主 机,公用存储器,低档,PC,机,低档,PC,机,(,4,),SPOOLing,系统,SPOOLing,系统工作原理,全称:,Simultaneous Peripheral Operations On-Line,含义:,同时的外围设备联机操作(假脱机技术),包括:,输入程序模块,输出程序模块,作业调度程序,SPOOLing,系统工作原理(续,1,),作业执行前用慢速设备将作业预先输入到后援存储器(如磁盘、磁鼓,称为输入井)中,称为预输入,作业运行后,使用数据时,从输入井中取出,作业执行不必直接启动外设输出数据,只需将这些数据写入输出井中,作业全部运行完毕,再由外设输出全部数据和信息,称为缓输出,实现了对作业输入、组织调度和输出的统一管理,使外设在,CPU,直接控制下,与,CPU,并行工作(称为假脱机),输入装置,输出装置,通,道,通,道,输出装置,输出装置,通 道,主机系统,输入管 输出管,理模块 理模块,外 设,输入井 输出井,SPOOLing,系统,批处理作业进入计算机系统时必须提交(BCE),A,可执行文件,B,作业控制控制说明书,C,源程序,D,作业所需资源,E,运行时的数据,3.3,交互式系统的命令控制界面,3.3.1,概述,1.,命令控制界面,在操作系统与计算机用户之间提供易于理解的双向通信机制,基本任务:,解释命令,传送命令以便执行,接受系统信息,提交给用户,2,命令语言,命令语言规定由,OS,执行的一系列操作,在一般的命令语言中,用户通过打入称为命令行的一行指令来规定每一个动作,每一命令行以命令开始,它标识所要执行的操作,多数命令行中要给出一些参数,每一命令语句实际上是带有参数的一个过程调用,一个命令语言通常提供下列几组命令:,(,1,)系统访问命令,登录命令,如,,login,等,撤离命令,如,,logout,等,(,2,)文件管理命令,(,3,)编辑、编译和执行命令,(,4,)询问命令,(,5,)操作员专用命令,命令语言,(续,1,),典型命令实例:,(,1,),UNIX,系统:,ls l,(,2,),DOS,系统,dir c:,(,3,),VAX/VMS,run mypro,命令语言,(续,2,),3,交互式系统的历史与展望,六十年代中期:问答式对话、文本菜单或命令语言,基于命令行界面的交互式系统,七十、八十年代:图形用户界面时代,形成,WIMP,标准,以窗口(,windows,)、图标(,icon,)、菜单(,menu,)、指点装置(,pointing device,)为基础的交互式系统,实际行动代替复杂语法,未来的交互式系统必将是多通道的,通过各种不同的人体通道,如语音、手势、身体语言等交互,大大提高交互的自然性和高效性,遵循以人为中心的自然交互特点,实现人与系统的无障碍自然交互,交互式系统的特点是(BCE),A,成批处理,B,采用人机对话方式,C,多道处理,D,自动控制,E,交互性,用户在自己的用户终端上连续键入组成作业的若干命令,无需等待一条命令是否执行完毕。所键入的命令形成了一道命令串,存储在一个系统缓冲区中,由操作系统自动地对这些命令逐步提取并解释进行,最后向用户提供处理结果。在这样的多用户、多作业、多命令串的系统中,前后台作业的执行调度(,A)。,A,、完全由操作系统自动完成,无需用户干预,B,、全由用户完成,C,、由系统和用户干预结合完成,3.4,系统调用,3.4.1,系统调用简介,系统调用,是用户在程序中调用操作系统所提供的一些子功能,这是特殊的过程调用,由特殊的机器指令实现,这个指令还将系统转入核心态(管态),系统调用程序是一个低级过程,只能由汇编语言直接访问,系统调用是操作系统提供给编程人员的唯一接口,利用系统调用,动态请求和释放系统资源,完成与硬件相关的工作以及控制程序的执行等,每个操作系统都提供几百种系统调用,包括:外存文件与目录的读写,各种,I/O,设备的使用,在程序中启动另一个程序,查询和统计系统资源使用情况等等,实际上系统调用语句本身是硬件提供的(机器指令),但其所调用的功能是操作系统提供的,每种机器的机器指令集中都有一条系统调用指令(访管指令),例如:,INT,指令,例子:打印,5,个字符,char buff4=“abcde”;,for(i=4;i=0;i-),printf(buffi);,系统调用的例子,INT,.,.,.,.,.,.,printf,的目标代码,INT,i=4,i+,.,.,.,.,.,.,.,.,.,.,.,.,IN,OUT,.,.,.,程序段编译链接,产生的可执行代码,操作系统,内部代码,嵌入后,该系统调用的操作系统内部实现代码,.,.,.,功能号 地址,显 示,打 印,读文件,.,.,.,.,.,.,.,.,.,OS,的系统调用分支表,OS,代码,显示,打印,读文件,OS,INT,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,用户程序,3.4.2,系统调用的处理过程,为了保证,OS,不被用户程序破坏,不允许用户程序访问,OS,的系统程序和数据,那么,怎样得到系统服务的呢?,需要有一个类似于硬件中断处理的处理机构,当用户使用操作系统调用时,产生一条相应的指令,处理机在执行到该指令时发生相应的中断,并发出有关的信号给该处理机构,该处理机构在收到了处理机发来的信号后,启动相关的处理程序去完成该系统调用所要求的功能,system call,入口地址表,(1),保护处理现场,(2),取系统调用功能号并寻找子程序入口,(3),返回,A0,A1,Ai,An,A0,A1,Ai,An,Sub0,Sub1,Subi,Subn,用户程序 陷入处理机构 系统子程序,系统调用的处理过程,3.4.3 Win32,应用程序接口,在,Windows,中,定义了一系列程序,(,应用程序接口,Win32 API),,提供,OS,服务,这个接口(部分)支持,Win95,以后的,Windows,版本,Win32 API,调用的种类非常多,以千计算,在,Windows,中不可能分辨出哪些是系统调用(被内核执行),哪些是用户空间的库调用(不涉及硬件),下列,C,语言库函数哪些涉及系统调用(),A sin,(),B printf,(),C abs,(),D sqrt,(),E getch(),总结,什么是作业?,作业的组成和标识?,作业的输入方式及各自特点?,命令控制界面的类别?,系统调用的原理?,
展开阅读全文