第7章接口.ppt
《第7章接口.ppt》由会员分享,可在线阅读,更多相关《第7章接口.ppt(82页珍藏版)》请在三一办公上搜索。
1、7.1 操作系统接口,程序启动方式,程序结束时系统所做的工作 用户与操作系统的接口 系统调用:用户程序提出服务请求的手段,基本思想,实现方法 操作系统安装与启动,7.1.1 程序的启动和结束 1.程序的启动五种启动方式,程序开始执行时必须满足两个前提条件:程序已装入内存 程序计数器PC中已置入该程序在内存的入口地址,第一种方式:命令方式,命令提示符下打入程序名和参数,回车 如DOS:c UNIX:$命令解释程序 DOS:(在所设路径中)UNIX:SHELL Windows:窗口菜单显示和鼠标操作,命令方式的程序启动,开机,显示命令提示符,输入命令,从外存调入外部命令执行,执行命令解释程序中的该
2、命令,合法否?,N,内部命令?,Y,N,Y,第二种方式:批处理方式,.BAT 文件(DOS系统)例子:启动中文环境需要多条命令:装入字库 启动主程序 装入汉字输入法 AUTOEXEC.BAT(开机时的自动批处理),批方式下的装 入执行过程,第三种方式:EXEC方式,EXEC方式的过程,在一个程序中运行另一个程序返回原来的程序,第四种方式:第五种方式:自启程序,由硬件装入程序和启动程序执行,自己装入自己,并启动自己开始执行的程序 自启程序由两部分组成 引导程序和程序主体,自启程序装入与启动的过程,引导程序,2.程序的结束,正常结束:程序按自身的逻辑有效地完成预定功能后结束(a)返回父程序并回送结
3、果信息。(b)释放所用资源(空间.设备),记录使用情况,记帐等 异常结束:发生了某些错误而导致程序在没有完成预定功能时提前结束,7.1.2 用户与操作系统的接口,1.作业级接口,作业级接口 程序级接口,操作系统为用户对作业运行全过程控制提供的功能(1)联机接口(交互式)(2)脱机接口,脱机作业是指用户不能直接与计算机系统交互,中间通过操作员干预的作业。通常是在批处理系统中使用,所以也成为批量型作业联机作业是指用户和计算机系统直接交互,用户通过终端或控制台键盘上的操作命令或菜单图表等方式控制器作业的运行,也成交互型作业或终端型作业,脱机用户接口:由一组作业控制命令,或称作业控制语言组成脱机用户接
4、口:使用作业控制卡和作业说明书两种形式,作业控制卡:就是使用作业控制语言将用户对作业的控制意图、程序、数据等卡片一起送入系统,由系统解释执行作业说明书:是使用某种作业控制命令将用户对作业控制的意图写成作业说明书,从而实现对作业的控制。作业说明书主要包括作业情况和作业资源要求两方面的内容;前者主要指用户名、作业名、使用语言、作业控制方式、优先级等;后者包括内存核外村的空间要求量、设备的类型、台数、估计的计算时间等。作业说明书中常用命令的主要类型如下:输入/输出命令编译命令操作命令条件命令,全称:Simultaneous Peripheral Operations On-Line含义:联机情况下的
5、同时外围操作(假脱机技术)包括:输入程序模块 输出程序模块 作业调度程序工作过程:利用磁盘作缓冲,将输入、计算、输出分 别组织成独立的任务流,使I/O和计算真正并行。,(3)SPOOLing(假脱机),用慢速设备将作业预先输入到输入井(后援存储器 如:磁盘、磁鼓)中,称为预输入。运行时,按某种调度策略选择几种搭配得当的作业,从输入井调入内存,使用数据时,从输入井中取出。作业运行中输出数据不必直接启动外设,只需将这些数据写入输出井中。作业全部运行完毕,再由外设输出全部数据和信息,称为缓输出。实现了对作业输入、组织调度和输出的统一管理使外设在CPU控制下,与CPU并行工作(称为假脱机)。,SPOO
6、Ling系统,典型的作业步,2.程序级接口,系统为用户在程序一级提供有关服务而设置由一组系统调用命令组成。负责管理和控制运行的程序并在这些程序与系统控制的资源和提供的服务间实现交互作用用汇编语言:在程序中直接用系统调用命令用高级语言:可在编程时使用过程调用语句,7.1.3.交互式系统接口,1.联机命令接口,在操作系统与计算机用户之间提供易于理解的双向通信机制。基本任务:解释命令,传送命令以便执行 接受系统信息,以响应语言的形式提交给用户,交互式命令的接口复杂 含功能结构,问题的处理,如各种约定,前端处理,命令日志,注解,宏命令及命令组等。交互式控制灵活方便:可以随时进行各种处理,排除问题,方便
7、调试;系统利用率低。接口包括:联机命令,终端处理程序,命令解释程序。联机命令(p221):系统访问命令、磁盘操作命令、文件管理命令、目录操作命令、其它命令。,2.终端处理程序,交互式命令接口用户同操作系统的通信是通过一个I/O装置来实现的。I/O装置一般是显示终端。输入通过键盘,或通过指示装置(鼠标)输入。某些系统中,提供图形显示功能。不管哪种I/O方式,这个终端装置是由一个终端处理程序来管理和控制的。终端处理程序提供的输入输出方式对整个用户命令接口有重大影响。也确定了用户与其应用程序间的通信方式。,(1)字符接收功能 接收键盘打入的字符,并将键码转换为ASCII码,面向字符方式(将字符传送给
8、程序)和面向行方式。(2)回送显示(Echoing)通常,每从键盘打入一个字符,终端处理序回送响应的字符到显示屏上。有时用户要求其显示一个不同的字符或不显示(例如,用户键入口令时)。对于通过远程通信线路访问的终端,回送显示委托给远程终端来实现。,键盘终端处理程序的功能,(3)字符缓冲 打入的字符在送到程序前,由终端处理程序保存。提供编辑,甚至取消命令的机会;如行缓冲的行编辑。有专用缓冲方式(每个终端专用)和公用缓冲方式。(4)提前打入(Type ahead)输入字符在程序处理它们之前由“提前打入进程”把它们保存在缓冲区中(可以保存多行)。当缓冲区存满后,再打入的字符会漏掉或覆盖缓冲区原有内容。
9、(5)字符变换 有些情况下,需要对打入的字符进行代码变换。如:把小写字母转换成大写字母,或者反之。,(5)屏幕编辑 对输入字符进行屏幕编辑,插入、删除或改写。(6)特殊字符处理(热键)中断字符:当前执行的程序可接受中断字符立即终止运行。如:CTRL+C、CTRL+Break。停止上卷字符CTRL+S 恢复上卷字符CTRL+Q,3.命令解释程序,如:DOS、UNIX shell(P227)(a)由终端命令解释程序直接处理 在无创建子进程功能的系统中,终端命令由对应的命令解释程序处理;仅有一个进程对应一个终端用户。(b)由子进程代为处理 在具有创建子进程功能的系统中,对于较为单纯的命令,如列目录,
10、拷贝文件等,命令解释程序本身便能完成,此时由命令解释程序直接处理。对较复杂命令,如对于 Pascal 源程序进行编译,命令解释程序本身不能处理,此时创建一个子进程,并由该子进程运行 Pascal 编译程序。,MS-DOS Execution,UNIX System Structure,4.命令接口的结构,命令接口由命令处理器来实现,它的实现方式:(a)作为OS的一个部分 如:OS/MVT或VAX/VMS(b)作为OS的一个独特模块,能方便地修改或替换 如:RT-11或CP/M(c)作为一易于被替换的普通程序 如:UNIX 操作系统(d)在某些系统中,可能用专门设计的命令接口替代标准的命令接口
11、如:多用户UNIX,用户可有不同命令接口,5.命令语言,命令语言规定由OS执行的一系列操作 在一般的命令语言中,用户通过打入称为命令行的一行指令(语句)来规定每一个动作。命令行以命令开始,它标识所要执行的操作。命令是用运行一段程序来执行所请求的操作。多数命令行中要给出一些参数,每一命令语句实际上是带有参数的一个过程调用。,命令语言通常提供下列几组命令:(p228)(1)系统访问命令登录命令,如:login等撤离命令,如:logout等(2)文件操作命令(3)编辑、编译和执行命令(4)询问命令(5)操作员专用命令,典型命令实例:(1)UNIX系统:whols-l(2)DOS系统dir c:(3)
12、VAX/VMSrun mypro,命令的附加功能 命令的附加功能用以扩大命令的功能性、选择性、适应性。包括:(1)参数表 用参数表示位置、操作对象等附加信息 用“”或“/”加关键字表示子功能(2)命令通配符:“*”和“?”(3)重定向命令(p230):用“”将标准输入或输出重新定向到其它文件上。(4)管道命令:用“|”来连接两条命令,第1条命令的输出作为第2条命令的输入,管道作缓冲。(5)通信命令、后台命令,针对脱机用户操作和大量顺序操作功能而设计。批处理命令可以是专门的命令,也可是系统的基本命令;还有有关的语法结构,循环、分支、转移、判别等,枸成一套特殊的命令语言。,6.批处理命令,7.图形
13、用户接口,以Windows为代表,许多现代OS都提供了图形用户接口,使用起来非常方便,不需要用户记忆大量的命令名称、功能、格式和参数。图形界面,以窗口(windows)、图标(icon)、菜单(menu)、指点装置(pointing device)为基础的交互式系统,形成WIMP标准,以实际动作代替复杂语法。(见P243249),8.交互式系统的历史与展望,六十年代中期:问答式对话、文本菜单或命令语言,基于命令行界面的交互式系统。八十年代:图形界面,形成WIMP标准,以指点装置的实际动作代替复杂语法。多媒体界面是WIMP另一种风格,是单通道的。未来的交互式系统必将是多通道的 通过各种不同的人体
14、通道,如:语音、手势、思维语言等交互,大大提高交互的自然性和高效性。遵循以人为中心的自然交互特点,实现人与系统的无障碍自然交互。,7.1.4 交互式系统实例分时系统,分时系统中的用户控制作业的执行大致有四个阶段:终端的连接 用户登录 控制作业执行 用户退出,1.终端的连接,必须使终端设备与计算机系统线路接通 近程终端是直接与计算机系统连接的,当终端设备加电后,终端就与计算机系统线路接通。远程终端通过租用专线或交换线接到计算机系统,在终端加电后用户还需通过电话拨号进行呼叫,直到接通。当终端与计算机系统在线路上接通后,计算机系统会在终端上显示信息告诉用户。,2.用户登录,用户必须向系统登录 用户首
15、先输入“登录”命令(login)命令 系统会向询问用户名、作业名、口令和资源需求等,经过识别用户、核对口令,系统在终端上显示“已登录”和进入系统的时间等信息。若口令不对或资源暂时不能满足时,则系统在终端上显示“登录不成功”并给出登录失败的原因。用户的登录过程可看作是对终端作业的作业调度,3.控制作业执行,登录成功的终端用户 可从终端上输入作业的程序和数据 用系统提供的命令语言或会话语句控制作业执行 每输入一命令或一会话语句后,由系统解释执行且在终端上显示执行成功或问题,由用户决定下一步命令或会话,直到作业完成,4.用户退出,用户输入“退出”命令(logout)请求退出系统,系统接收命令后就收回
16、该用户所占的资源让其退出,同时在终端上显示“退出时间”或“使用系统时间。时间片轮转:在OS控制下,采用“时间片轮转”方法使每个终端作业都能在一个“时间片”内去占用处理器。当时间片用完后,让出处理器给另一终端作业。这样,保证从终端用户输入命令到计算机系统给出应答只是几秒钟的时间,使端用户感到满意。,7.2 系统调用,7.2.1.系统调用简介,为了保证OS不被用户程序破坏,不允许用户程序直接访问OS的系统程序和数据,只能用系统调用访问。1.系统调用 用户在程序中调用操作系统提供的子功能 是特殊的过程调用,由特殊的机器指令实现。几百种 系统调用指令还将系统转入管态 系统调用程序是一个低级过程,只能由
17、汇编语言直接访问(许多高级语言也增加了此项功能)。系统调用是操作系统提供给编程人员的唯一接口,利用系统调用,动态请求和释放系统资源,完成与硬件相关的工作以及控制程序的执行等。,Passing of Parameters As A Table,A System Call is the main way a user program interacts with the Operating System.,Figure 3.1,Figure 2.8,System Calls,2.处理器的状态,根据运行程序对资源和机器指令的使用权限将处理器设置为不同状态 多数系统将处理器工作状态划分为管态和目态 管
18、态:操作系统管理程序运行的状态,较高的特权级别,又称为特权态(特态)、系统态 目态:用户程序运行时的状态,较低的特权级别,又称为普通态(普态)、用户态,管态和目态的差别,处理器处于管态时:全部指令(包括特权指令)可以执行 可使用所有资源 并具有改变处理器状态的能力处理器处于目态时:只有非特权指令能执行特权级别不同可运行指令集合也不同 特权级别越高,可以运行指令集合越大 高特权级别对应的可运行指令集合包含低特权级的,3.系统调用的实例,汇编程序例子:在屏幕上显示一字符串 查系统调用表得知,调用号为09H,出口参数无,入口参数:DS:DX输出字串所在缓冲区首址:MOV AH,09H MOV DX,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 接口

链接地址:https://www.31ppt.com/p-5286270.html