计算机操作系统课件 汤小丹

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第七章操作系统接口7.1联机命令接口7.2Shell命令语言7.3系统调用7.4UNIX系统调用7.5图形用户接口第七章操作系统接口第七章操作系统接口程序级作业控制级os与用户的接口系统调用命令联机作业控制接口脱机作业控制接口键盘命令菜单命令窗口命令图形命令通过访管指令进入房管中断处理程序,再调用系统调用程序实现功能通过命令解释程序,进入命令处理程序或系统调用程序,实现功能。用作业控制语言执行作业控制说明书的程序实现功能操作系统与用户接口的实现方法第七章操作系统接口7.1.1操作系统与用户的接口形式程序级作业控制级os与用户的接口由一组系统调用命令组成1、联机作业控制接口2、脱机作业控制接口键盘命令由一组控制命令以不同形式表现出来的由一组作业控制语言组成菜单命令窗口命令图形命令概念链7.1联机命令接口第七章操作系统接口7.1.2程序级接口程序接口主要由系统调用组成,通过系统调用程序实现程序与操作系统的通信。1、系统调用及执行过程访管指令系统调用的入口系统调用命令OS系统的服务功能系统调用命令也叫广义指令1.将访管指令的“操作数”存于主存中约定单元2.产生访管中断,引出操作系统中断处理系统处理访管要求访管指令的工作第七章操作系统接口7.1.3联机命令的类型为了能向用户提供多方面的服务,通常,OS都向用户提供了几十条甚至上百条的联机命令。根据这些命令所完成功能的不同,可把它们分成以下几类:①系统访问类;②磁盘操作类;③文件操作类;④目录操作类;⑤通信类;⑥其他命令。第七章操作系统接口1.系统访问类在单用户微型机中,一般没有设置系统访问命令;然而在多用户系统中,为了保证系统的安全性,都毫无例外地设置了系统访问命令,即注册命令Login。凡要在多用户系统的终端上上机的用户,都必须先在系统管理员处获得一合法的注册名和口令。以后,每当用户在接通其所用终端的电源后,Login:/当用户键入正确的注册名,并按下回车键后,屏幕上又会出现:Password:/第七章操作系统接口2.键盘操作命令(1)磁盘格式化命令Format。(2)复制整个软盘命令Diskcopy。3.文件操作命令:例如显示、拷贝、文件比较重新命名、删除文件、显示目录结构、改变当前目录等。第七章操作系统接口4.目录操作命令包括建立子目录命令、显示目录命令、删除子目录命令、显示目录结构命令、改变当前目录命令chdir等等。5.其它命令(1)输入输出重定向命令(2)管道连接。(3)过滤命令。(4)批命令:为了能连续地使用多条键盘命令,或多次反复地执行指定的若干条命令,而又免去每次重敲这些命令的麻烦,可以提供一特定文件。在MS-DOS中提供了一种特殊文件,其后缀名用“.BAT”;在UNIX系统中称为命令文件。它们都是利用一些键盘命令构成一个程序,一次建立供多次使用。第七章操作系统接口7.1.4键盘终端处理程序为了实现人机交互,还须在微机或终端上配置相应的键盘终端处理程序,(1)接收用户从终端上打入的字符。(2)字符缓冲,用于暂存所接收的字符。(3)回送显示。(4)屏幕编辑。(5)特殊字符处理。第七章操作系统接口4.屏幕编辑(1)删除字符键。(2)删除一行键。(3)插入键。(4)移动光标键。(5)屏幕上卷或下移键,等等。……第七章操作系统接口5.(1)中断字符。当程序在运行中出现异常情况时,用户可通过键入中断字符的办法来中止当前程序的运行。在许多系统中是利用Break或Delete或Ctrl+C键作为中断字符。(2)停止上卷字符。(3)恢复上卷字符。第七章操作系统接口7.1.5命令解释程序1.在联机操作方式下,终端处理程序把用户键入的信息送键盘缓冲区中保存。一旦用户键入回车符,便立即把控制权交给命令处理程序。显然,对于不同的命令,应有能完成特定功能的命令处理程序与之对应。可见,命令解释程序的主要作用,是在屏幕上给出提示符,请用户键入命令,然后读入该命令,识别命令,再转到相应命令处理程序的入口地址,把控制权交给该处理程序去执行,并将处理结果送屏幕上显示。若用户键入的命令有错,而命令解释程序未能予以识别,或在执行中间出现问题时,则应显示出某一出错信息。第七章操作系统接口2.命令解释程序的组成(1)常驻部分。这部分包括一些中断服务子程序。例如,正常退出中断INT20,它用于在用户程序执行完毕后,退回操作系统;驻留退出中断INT27,用这种方式,退出程序可驻留在内存中;还有用于处理和显示标准错误信息的INT24等。常驻部分还包括这样的程序:当用户程序终止后,它检查暂存部分是否已被用户程序覆盖,若已被覆盖,便重新将暂存部分调入内存。第七章操作系统接口(2)初始化部分。它跟随在常驻内存部分之后,在启动时获得控制权。这部分还包括对AUTOEXEC.BAT文件的处理程序,并决定应用程序装入的基地址。每当系统接电或重新启动后,由处理程序找到并执行AUTOEXEC.BAT文件。由于该文件在用完后不再被需要,因而它将被第一个由COMMAND.COM装入的文件所覆盖。第七章操作系统接口(3)暂存部分。这部分主要是命令解释程序,并包含了所有的内部命令处理程序、批文件处理程序,以及装入和执行外部命令的程序。它们都驻留在内存中,但用户程序可以使用并覆盖这部分内存,在用户程序结束时,常驻程序又会将它们重新从磁盘第七章操作系统接口3.系统在接通电源或复位后,初始化部分获得控制权,对整个系统完成初始化工作,并自动执行批命令文件AUTOEXEC.BAT文件,之后便把控制权交给暂存部分。暂存部分首先读入键盘缓冲区中的命令,判别其文件名、扩展名及驱动器名是否正确。若发现有错,在给出出错信息后返回;若无错,再识别该命令。一种简单的识别命令的方法是基于一张表格,其中的每一表目都是由命令名及其处理程序的入口地址两项所组成。如果暂存部分在该表中能找到键入的命令,且是内部命令,便可以直接从对应表项中获得该命令处理程序的入口地址,然后把控制权交给该处理程序去执行该命令。第七章操作系统接口是内部命令?DIR命令处理程序Type命令处理程序Copy命令处理程序Date命令处理程序命令合法否?输入命令行从外存调入外部命令执行显示提示符图7-2COMMAND.COM的工作流程第七章操作系统接口7.2Shell命令语言7.2.1所谓简单命令,实际上是一个能完成某种功能的目标程序的名字。UNIX系统规定的命令由小写字母构成(但仅前8个字母有效)。命令可带有参数表,用于给出执行命令时的附加信息。命令名与参数表之间还可使用一种称为选项的自变量,用破折号开始,后跟一个或多个字母、数字。$Command-optionargumentlist例如:$LSfile1file2第七章操作系统接口1.(1)进入系统,也称为注册。(2)退出系统。每当用户用完系统后,应向系统报告自己不再往系统装入任何处理要求。系统得知后,便马上为用户记账,清除用户的使用环境。第七章操作系统接口2.文件操作命令(1)显示文件内容命令cat。(2)复制文件副本的命令cp(3)对已有文件改名的命令mv(4)撤消文件的命令rm(5)确定文件类型的命令file第七章操作系统接口3.(1)建立目录的命令mkdir(简称md)。(2)撤消目录的命令rmdir(简称rd)。(3)改变工作目录的命令cd。(4)改变对文件的存取方式的命令chmod第七章操作系统接口4.(1)访问当前日期和时间命令date(2)询问系统当前用户的命令who(3)显示当前目录路径名的命令pwd此外还有重定向和管道命令第七章操作系统接口7.3系统调用7.3.1系统调用的基本概念(1)运行在不同的系统状态。(2)通过软中断进入。(3)返回问题。(4)嵌套调用。第七章操作系统接口图7-3系统功能的调用系统调用命令调用返回系统功能用户程序(a)系统调用与返回系统调用命令调用系统功能系统调用命令返回系统子功能(b)程序之间的嵌套调用第七章操作系统接口7.3.2系统调用的类型1.进程控制类系统调用(1)创建和终止进程的系统调用。(2)获得和设置进程属性的系统调用。(3)等待某事件出现的系统调用。第七章操作系统接口2.文件操纵类系统调用(1)创建和删除文件。(2)打开和关闭文件。(3)读和写文件。第七章操作系统接口3.进程通信类系统调用在OS中经常采用两种进程通信方式,即消息传递方式和共享存储区方式。当系统中采用消息传递方式时,在通信前,必须先打开一个连接。为此,应由源进程发出一条打开连接的系统调用openconnection,而目标进程则应利用接受连接的系统调用acceptconnection表示同意进行通信;然后,在源和目标进程之间便可开始通信。可以利用发送消息的系统调用sendmessage或者用接收消息的系统调用receivemessage来交换信息。通信结束后,还须再利用关闭连接的系统调用closeconnection结束通信。第七章操作系统接口7.3.3一.(1)什么是中断和陷入。中断是指CPU对系统发生某事件时的这样一种响应:CPU暂停正在执行的程序,在保留现场后自动地转去执行该事件的中断处理程序;执行完后,再返回到原程序的断点处继续执行。第七章操作系统接口图7-4中断时的CPU轨迹被中断程序中断处理程序中断处理开始中断处理结束中断点第七章操作系统接口(2)中断和陷入向量。第七章操作系统接口二.系统调用号和参数的设置(1)直接将参数送入相应的寄存器中。(2)参数表方式。图7-6系统调用的参数形式第七章操作系统接口三.系统调用的处理步骤首先,将处理机状态由用户态转为系统态;之后,由硬件和内核程序进行系统调用的一般性处理,即首先保护被中断进程的CPU环境,将处理机状态字PSW、程序计数器PC、系统调用号、用户栈指针以及通用寄存器内容等,压入堆栈;然后,将用户定义的参数传送到指定的地方保存起来。其次,是分析系统调用类型,转入相应的系统调用处理子程序。最后,在系统调用处理子程序执行完后,应恢复被中断的或设置新进程的CPU现场,然后返回被中断进程或新进程,继续往下执行。第七章操作系统接口四.系统调用处理子程序的处理过程进入Creat的处理子程序后,核心将根据用户给定的文件路径名Path,利用目录检索过程,去查找指定文件的目录项。查找目录的方式可以用顺序查找法,也可用Hash查找法。如果在文件目录中找到了指定文件的目录项,表示用户要利用一个已有文件来建立一个新文件。但如果在该已有(存)文件的属性中有不允许写属性,或者创建者不具有对该文件进行修改的权限,便认为是出错而做出错处理;若不存在访问权限问题,便将已存文件的数据盘块释放掉,准备写入新的数据文件。如未找到指名文件,则表示要创建一个新文件,核心便从其目录文件中找出一个空目录项,并初始化该目录项,包括填写文件名、文件属性、文件建立日期等,然后将新建文件打开。第七章操作系统接口五.系统调用综述程序级接口主要由系统调用组成,通过系统调用程序实现程序与操作系统的通信。1、系统调用及执行过程访管指令系统调用的入口系统调用命令OS系统的服务功能系统调用命令也叫广义指令1.将访管指令的“操作数”存于主存中约定单元2.产生访管中断,引出操作系统中断处理系统处理访管要求访管指令的工作第七章操作系统接口2、保护现场1、执行访管指令3、将访管指令中的参数地址存于某通用寄存器6、恢复现场并将系统调用命令返回参数区地址存入指定的寄存器供用户使用4、在内存中约定好的地址找到访管操作数,调出相应系统调用命令处理程序段5、执行系统调用命令,将返回参数存入参数区系统调用的执行过程系统调用命令也叫广义指令第七章操作系统接口2、系统调用命令类别对每个操作系统而言,系统调用的类别数量各不相同,格式和执行功能也因系统而异。(4)调试用类型(3)调用控制类型(2)磁盘的I/O及磁盘文件管理(1)一般设备的I/O广义指令系统调用命令也叫广义指令用户用此类广义指令请求系统实现数据的I/O。这类广义指令主要涉及文件及磁盘的使用和管理,大多数操作系统对此类广义指令可利用键盘来实现调用,以便用户的使用。这类广义指令主要涉及

1 / 56
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功