操作系统第九章操作系统接口1§9.1操作系统的界面§9.2联机用户界面§9.3系统功能调用第九章操作系统接口操作系统第九章操作系统接口2§9.1操作系统的界面操作系统的界面:是操作系统与用户的接口。是操作系统提供的计算机系统与用户之间进行交互作用和通信的通路。用户使用计算机解决问题时,首先要编制程序,其次是要让程序在计算机上运行,两者都需要操作系统的支持。操作系统针对上述两个步骤,提供了相应的两类接口,所有计算机用户都是通过这两个不同层次的接口与操作系统发生联系的。操作系统第九章操作系统接口3一、操作系统的界面(接口)操作系统为用户提供两种类型的接口:1)用户级(操作员)接口:是操作系统为用户提供的各种操作命令,用户可利用这些操作命令来组织作业的工作流程和控制作业的运行或者管理计算机系统。因此,又可称为作业控制接口。2)程序级(程序员)接口:是操体系统为用户提供的一组系统调用命令,编程人员可以在源程序一级使用这些系统调用命令请求操作系统提供服务(如请求使用各种外部设备、向系统申请资源、申请主存以及控制程序的执行速度等)。因此,又可称为系统调用接口。操作系统第九章操作系统接口4操作系统、人、机之间的关系源程序:系统调用命令计算机操作命令作业控制语言键盘命令图形界面作业控制接口又可以根据作业类型的不同分为:※脱机用户接口。它由一组作业控制命令(或称作业控制语言)组成。用于脱机(批处理)作业的控制。※联机用户接口。它由一组键盘命令组成,用于联机(交互式或终端型)作业的控制。菜单驱动方式命令驱动方式方式命令文件方式操作系统第九章操作系统接口5菜单驱动方式命令驱动方式OS的界面程序接口命令接口脱机用户接口(作业控制语言)联机用户接口命令文件方式(键盘命令)(系统调用命令)(调用OS功能)(作业控制)操作系统第九章操作系统接口6§9.2联机用户界面对于联机用户,系统提供一组称为命令语言的键盘操作命令。它的主要优点是简洁、适合于有经验的用户使用。操作系统第九章操作系统接口7命令行方式(一般形式)commandarg1,arg2,…,[option1,…,optionm]MS-DOS操作系统中的命令格式1、dir[驱动器名][/p][/w]2、typefile13、copysourcetarget4、mkdir[驱动器名][\路径名\新目录名]批命令方式允许用户预先把一系列命令组织在一种称为批命令文件的文件中,一次建立,多次执行。如MS-DOS系统的.BAT文件。操作系统第九章操作系统接口8另一种是面向屏幕的命令接口(如菜单系统)。它提供一种交互作用的方式,从系统提供的一组选择中确定所需的操作。FileEditRunCompileProjectOptionsDebugBreak/watch主菜单=================================Edit=================================Line1Col1InsertIndentTabFillUnindentNONAME.C主屏幕编辑区-------------------------------Message---------------------------信息窗口F1-HelpF5-ZoomF6-SwitchF7-TraceF8-StepF9-MakeF10-Menu快捷键栏操作系统第九章操作系统接口9简单命令的类型:系统访问命令这类命令通常有两条。一条是注册命令,例如,LOGIN或HELLO等。例如,系统在终端接通后,随即显示:LOG1N:(打入你的注册名)如果注册名正确,则系统进一步要求提供口令。PASSWORD:(打入你的口令)如果口令核准无误,显示系统确认信息,并显示系统提示符。另一条系统访问命令是撤离(注销)命令.例如,LOGOUT或GOODBYE等。此命令用于作业结束时退出系统。操作系统第九章操作系统接口10文件管理命令这类命令包括显承示文件目录、删除某个或某些磁盘文件、更改文件名、存储文件列磁盘、打印磁盘文件等。1、文件操作类:type:将指定文件内容显示在屏幕上。copy:实现文件的拷贝。comp:对两个指定文件进行比较。Rename:重新命名。erase:删除一个或一组文件。操作系统第九章操作系统接口112、目录操作类:mkdir:建立指定名字的新目录。dir:显示指定磁盘中的目录项。rmdir:删除子目录命令tree:显示指定盘上的所有目录路径及其层次关系。chdir:改变当前目录。操作系统第九章操作系统接口12磁盘操作类:Format:磁盘格式化命令。Diskcopy:复制整个软盘命令。Diskcomp:软盘比较命令。Backup:备份命令。硬盘上的文件复制到软盘上,RESTORE命令则完成相反的操作。操作系统第九章操作系统接口13其它命令:包括:输出重定向,输入重定向,批命令,管道连接“|”,常用于微机OS中。(1)输入输出重定向命令。OS中定义了两个标准I/O设备。命令的输入取自键盘;而命令的输出送往显示终端。在命令中设置输出重定向“”符,其后接文件名或设备名,表示将命令的输出改向,送到指定文件或设备上。(2)管道连接。指把第一条命令的输出信息作为第二条命令的输入信息;与此类推;格式为:Command1|Command2|…|Commandn;(3)过滤命令。例如,MS-DOS中用命令:find/N“erase”(路径名)操作系统第九章操作系统接口14终端处理程序负责接收用户键入的终端命令,并将它显示在终端屏幕上,主要具有以下功能:接收字符:接收用户从终端键入的字符,并将它传送给命令解释程序或用户进程,有两种方式来实现此功能。面向字符方式:驱动程序只接收从终端打入的字符,并且不加修改地将它传送给用户程序。面向行方式:终端处理程序将所接收的字符暂存在行缓冲中,并可对行内字符进行编辑。仅在收到行结束符后,才将一行正确的信息送命令解释程序。操作系统第九章操作系统接口15字符缓冲:暂存用户键入的字符,该功能可采用两种方式。专用缓冲区方式:系统为每个终端设置一个缓冲区,长度200字符左右。适合单用户微机或终端很少的多用户机,但利用率低。公用缓冲池方式:设置一个由多个缓冲区构成的公用缓冲池,缓冲区大小相同,利用率高。所有的空缓冲区链接成一个空缓冲区链(从终端输入数据),装有输入数据的缓冲区链接成一条输入链(向用户程序传送数据)。操作系统第九章操作系统接口16回送显示:将用户每键入的一个字符送屏幕显示,此功能可由硬件实现,但多用软件更灵活。屏幕编辑:方便用户对键入的字符进行编辑,提供了若干编辑键,如:backspace,insert,,Pgup,Pgdn…。特殊字符处理:提供了对中断字符,停止上卷字符,恢复上卷字符等特殊字符的识别和处理。操作系统第九章操作系统接口17命令解释程序主要负责对用户输入的命令进行识别,然后去调用相应命令的处理程序,以完成请求的任务,位于OS的最高层。如:MS-DOS(COMMAND.COM),UNIX(shell)MS-DOS(COMMAND.COM)命令解释程序的组成:常驻部分:中断服务子程序;如:int20正常退出。初始化部分:跟随常驻内存部分之后,还包括AUTOEXEC.BAT。暂存部分:主要是命令解释程序。包括:内部命令处理程序、批文件处理程序,以及装入和执行外部命令的程序。操作系统第九章操作系统接口18命令解释程序的作用等待用户输入命令。命令解释程序获CPU控制权后,在屏幕上产生提示符,等待用户输入命令。接收并识别命令。当用户输入完一条命令并以回车结束,终端处理程序就将该命令提交命令解释程序,并对此命令进行分析。若命令非法,则产生错误信息。否则转相应的命令处理程序。执行相应的命令处理程序。转到相应的命令处理程序入口地址,再把控制权交给该处理程序去执行。(对内部命令,其命令处理程序就含在解释程序内,所以由解释程序直接执行)。处理结果送屏幕上显示。并将处理结果送屏幕上显示,或显示某些出错信息。操作系统第九章操作系统接口19§9.3系统功能调用系统调用:是用户在程序中调用操作系统所提供的一组功能子程序。系统调用是操作系统提供给编程人员的惟一接口。系统调用通过系统调用命令(或访管指令)中断现行程序的执行,转去执行相应的系统子程序来完成某种系统功能。完成后,控制又将返回到被中断的程序继续执行。一、访管指令为了实现用户请求系统为其服务的愿望,在指令系统中要增设一条访管指令(SVCn)产生访管中断。其中:SVC是操作码(或助记符)n为地址码(或功能号)操作系统第九章操作系统接口20用户态:用户程序执行时中央处理机所处的状态。当中央处理机处于目态时不允许执行特权指令。二、处理机的工作状态根据对资源和机器指令的使用权限,把处理机执行时的工作状态分为系统态(管态)和用户态(目态)。系统态:操作系统程序执行时中央处理机所处的状态。当中央处理机处于管态时可执行包括特权指令在内的一切机器指令,实现对资源的分配和管理并为用户使用外部设备进行服务。操作系统第九章操作系统接口21在系统运行的过程中,中央处理机的状态处于动态变化之中。当系统启动时,硬件置中央处理机的初始状态为管态,然后装入操作系统程序。如果操作系统选择了用户程序占用处理机,则把管态转换成目态。如果中断装置发现了一个事件,则又将其置为管态,让操作系统去处理出现的事件。操作系统第九章操作系统接口22程序状态字(PSW):是用来控制指令执行顺序并且保留和指示与程序有关的系统状态的信息单元。程序状态字(PSW)的内容:指令地址程序基本状态条件码(结果特征)中断码管态/目态中断屏蔽位等待/计算例如:IBM360/370系列计算机的程序状态字为:071415163134364063中断屏蔽位中断码指令地址等待/计算管态/目态条件码操作系统第九章操作系统接口23(a)系统调用与返回(b)程序之间的嵌套调用操作系统第九章操作系统接口24三、系统调用的类型1)与进程控制有关的系统调用。如;创建进程、删除进程、封锁进程、唤配进程等。2)与存贮管理有关的系统调用。如:申请或释放存贮空间、申请或释放缓冲区等。3)与设备管理有关的系统调用。如:申请设备、释放设备、输入/输出操作等。4)与文件管理有关的系统调用。如:打开文件、关闭文件、读文件、写文件、建立文件、删除文件等。5)与系统状态管理有关的系统调用。如:显示当前时间、日期,显示系统某些资源的情况等。操作系统第九章操作系统接口25四、系统调用的实现1)为了提供系统调用,操作系统必须事先编制好实现这些功能的例行子程序或过程。2)然后为实现各种系统调用功能的子程序编造入口地址表,每个入口地址都与相应的系统子程序对应起来。3)其后由陷阱处理程序把陷阱指令中所包含的功能号与该入口地址表中的有关项对应起来,从而由系统调用功能号驱动有关系统子程序执行。操作系统第九章操作系统接口26四、系统调用的执行过程当用户使用系统调用时,首先将所需要的参数和参数的首地址送入指定的通用寄存器,接着设置一条系统调用命令。当用户程序执行到系统调用命令时发生访管中断。系统响应中断就转到访管中断处理程序执行,访管中断处理程序首先将用户程序的现场保留起来,并把系统调用命令的编号等参数放入指定的存储单元,接着根据系统调用命令号访问系统调用入口地址表.找到相应系统调用功能子程序的入口地址,然后转去执行相应的系统调用功能子程序。系统调用命令执行完后,恢复现场,并把系统调用命令的返回参数送入指定存储单元以供用户使用。操作系统第九章操作系统接口27入口地址例行子程序例行子程序入口表地址访管中断处理程序用户程序保护现场取n值取n值散转恢复现场首址A系统调用的执行过程A+mSVCn操作系统第九章操作系统接口28总结:运行一个用户程序(作业)的过程(作业步):编辑、编译、连接、运行。操作系统的用户界面:是用户与操作系统的接口。菜单驱动方式命令驱动方式用户界面程序接口命令接口脱机用户接口(作业控制语言)联机用户接口命令文件方式(键