您好,欢迎访问三七文档
2019/12/181第十章操作系统接口教学目的:OS向用户提供“用户与操作系统的接口”,该接口支持用户与OS之间进行交互,该接口分为命令接口和程序接口两类。掌握用户与OS接口可使用户更全面掌握OS使用。教学要求:熟悉用户与操作系统的两类接口:命令接口和程序接口。了解MS-DOS、WINDOWS98和UNIX的接口。2019/12/182(一)用户与操作系统的接口用户接口用户接口是计算机系统与用户之间进行交互作用和通信的通路。对绝大多数用户而言,一个计算机系统的可接受性在很大程度上取决于这个用户接口。用户接口分为命令接口和程序接口两类。1。命令接口命令接口是籍助于在用户和操作系统之间提供高级通信来控制一组程序的处理。这个接口之所以称命令接口,是因为用户可以通过打入或在作业中发出一系列命令,告诉OS执行那些功能。这一类接口是用于作业控制的,其中又分联机用户接口和脱机用户接口。2019/12/183联机用户接口:联机用户接口也叫交互式用户接口,它用于联机作业控制,它是由一组键盘操作命令组成。交互式用户接口交互方式又分成二类,一类是字符方式终端命令,提供面向流的通信,如MS-DOS。另一类是图形方式,提供“对话框”、“图标”、“菜单”等图形用户接口(GUI)如Windows。脱机用户接口也称批处理用户接口,它用于脱机作业控制。脱机作业控制又分为作业控制卡和作业说明书两种方式。2019/12/184用户接口-1作业控制卡方式是指用户将其操作意图,用控制语言提供的有关作业控制命令穿孔在若干卡片上,以控制作业的运行的一种形式。用户按照要求将作业控制卡插入到作业卡片叠的适当位置上。系统分批读入这些卡片后开始运行,并按照这些控制卡的信息,指挥和控制作业的运行,这些作业控制卡是早期的一种作业控制方式。作业说明书也是用作业控制语言来表达用户对作业控制意识的,在形式上同用高级编程语言编制的程序相似。相对于作业控制卡分散的缺点它具有集中、便于修改、灵活等优点。美国1905机GEOGE语言是典型的高级算法的作业控制语言。2019/12/185用户接口-22。程序接口程序接口是OS为正要运行的程序提供服务并与之通信的一个设施,它供所有的用户程序使用,也供OS的其它组成部分,特别是命令处理程序使用。当一个程序正在执行时,程序接口接受对系统服务及资源申请,并与OS的资源管理程序进行通信。这个程序接口主要由系统调用组成。2019/12/186系统调用是用户在程序中调用OS所提供的一些子功能模块,它是一种特殊的过程调用。用户程序运行在用户态下,它通过软件中断进入核心,调用系统过程(子模块),运行在核心态,返回后仍在用户态下运行。用户程序系统调用从功能上分可包括进程管理、文件管理、信息维护、设备I/O管理等几方面。系统调用过程大体上分成以下三步:设置系统调用号和参数;系统调用命令的一般处理;系统调用命令处理程序做具体处理。2019/12/187(2)MS-DOS的接口1.MS-DOS层次模块结构MS-DOS采用层次模块结构,它有三个层次模块和一个引导程序组成。这三个模块是命令处理程序(COMMAND.COM)、文件系统(MS-DOS.SYS)和输入输出系统。其中基本输入输出系统又由驻在ROM中的基本输入输出系统BIOS和系统盘上的BIOS接口模块(IO.SYS)两部分组成。引导程序在盘引导区中。三个模块的层次关系如图所示。(返1)INT10-INT1AINT21用户程序键盘命令命令处理程序文件系统输入输出系统2019/12/188(二)、命令接口1)命令接口在操作系统与计算机用户之间提供易于理解的双向通信机制基本任务:解释命令,传送命令以便执行接收系统信息,提交给用户(以响应语言的形式)包括:一组联机命令,终端处理程序,命令解释程序交互式命令的接口复杂含功能结构,可能问题的处理,如各种约定、前端处理、命令日志、命令注解、宏命令及命令组等2019/12/189命令接口-1命令接口由命令处理器来实现命令处理器的实现方式:(a)作为OS的一个部分如,OS/MVT或VAX/VMS(b)作为OS的一个独特模块,能方便地修改或替换如,RT-11或CP/M(c)作为一易于被替换的普通程序如,UNIX操作系统(d)在某些系统中,可能用专门设计的命令接口替代标准的命令接口如,多用户UNIX,用户可有不同命令接口2019/12/18102)终端处理程序用户与操作系统的通信通过一个输入/输出装置来实现I/O装置是显示终端和键盘输入通过键盘:在有的系统中,可通过指示装置(例如鼠标)输入系统输入呈现在显示屏幕上,一次显示若干正文行(某些系统中,提供图形显示功能)不管哪种I/O方式,终端装置是由终端处理程序管理和控制2019/12/1811终端处理程序-1终端处理程序提供的输入输出方式对整个用户命令接口有重大影响,也确定了用户与其应用程序之间的通信方式终端处理程序必须作为用户接口的一个组成部分来考虑即,直接影响命令接口的一些问题须由终端处理程序解决2019/12/1812终端处理程序-2直接影响命令接口的一些问题a)回送显示(Echoing)通常,每从键盘打入一个字符,终端处理程序回送响应的字符到显示屏上有时用户要求其显示一个不同的字符或不显示(例如,用户键入口令时)对于通过远程通信线路访问的终端,可能需要抑制这种回送委托给远程终端实现回送显示2019/12/1813终端处理程序-3(b)提前打入(Typeahead)假定输入字符在一程序准备处理它们之前打入,则由“提前打入进程”把它们保存在缓冲区中缓冲区容量是有限,当其存满后,再有输入时,或者漏掉,或者将破坏缓冲区原有的内容(c)字符变换有些情况下,需要对打入的字符进行代码变换如,把小写字母转换成大写字母,或者反之2019/12/1814终端处理程序-3d)行缓冲打入的字符在送到程序前,由终端接口保存,直到整个命令行打入为止为用户提供了校验、编辑,甚至取消命令的机会(e)中断字符(BreakCharacters)多数交互式命令接口可以接受一些称为中断字符的特殊字符,并立即采取相应的行动如,在许多系统中,同时打入CTRL-C键,立即终止当前程序执行,并使命令处理程序重新初始化2019/12/18153)命令解释程序对命令有两种处理方法:(a)由命令解释程序直接处理在没有创建子进程功能的系统中终端命令通常由对应的命令解释程序处理在这种系统中,只有一个进程对应一个终端用户(b)由子进程代为处理在具有创建子进程功能的系统中,对于较为单纯的命令,如列目录,拷贝文件等,命令解释程序本身便能完成,此时由命令解释程序直接处理对较复杂命令,如对于C源程序进行编译,命令解释程序本身不能处理,此时创建一个子进程,并由该子进程运行C编译程序2019/12/18164)命令语言命令语言规定由OS执行的一系列操作在一般的命令语言中,用户通过打入称为命令行的一行指令来规定每一个动作每一命令行以命令开始,它标识所要执行的操作大多数命令是用运行一个程序来执行所请求的操作多数命令行中要给出一些参数,每一命令语句实际上是带有参数的一个过程调用2019/12/1817命令语言-1一种命令语言通常提供几类命令:(1)系统访问命令登录命令,如,login等撤离命令,如,logout等(2)文件管理命令(3)编辑、编译和执行命令(4)询问命令(5)操作员专用命令2019/12/1818命令语言-2命令行:规定由操作系统执行的一系列操作命令行:一行可有一个或多个命令,每次一行,包含一个或多个命令。shell给出提示符时可输入,以回车键提交。如:“ls-a-l”列出当前目录文件列表;gunzipmp1.tar.gz;tar-xvfmp1.tar;\rm-r-fmp1.tar为解压缩后再展开。命令格式:一个命令可有命令参数,格式包括选项/开关(option/switch)或参数(argument)。如UNIX系统:cp-rdoc/tmp--argv[0],argv[1],...(含子目录的文件复制:/tmp为目标地址)2019/12/1819命令语言-3命令分类:内部命令和外部命令内部命令:直接由shell本身完成,功能简单、使用频繁;如:DOS的copy命令。外部命令:运行相应的可执行文件,在使用时加载。如:DOS的xcopy命令命令简化:利用参数替换可简化命令输入,通配符(?,*)用于匹配一组文件名如:UNIX的cp命令:当前目录上有两个1.tar和2.tar时,cp*.tar/tmp等同于cp1.tar/tmp;cp2.tar/tmp2019/12/1820命令语言-4命令的附加功能命令的附加功能用以扩大命令的功能性、选择性、适应性。包括:(1)参数与变量位置变量关键字变量(2)命令通配符(3)重定向(4)管道与过滤器2019/12/1821(三)图形用户接口GUI命令行方式:要求用户记忆命令格式图形用户接口方式:用户可利用鼠标对屏幕上的图标进行操作,完成与操作系统的交互,从而减少记忆内容,方便用户使用。图形用户接口的技术基础:高分辩显示器和鼠标2019/12/18221)窗口系统(windowsystem)的特点利用图形元素表示功能:将各种图形元素显示在屏幕上,用户可以通过操纵图形元素(如菜单、图标)来执行相应的功能同屏多窗口与并发进程相对应:屏幕上同时显示多个窗口;一个进程可以对应一个或多个窗口;窗口动态创建、改变、撤销交互的并发性好、传递信息量大输入方式:鼠标指针点击(或其他定位设备)和键盘输入;通常是即时交互一致的图形元素风格可方便用户学习和使用:如按钮、滚动条2019/12/18232)窗口系统的图形元素及其状态窗口:屏幕上的矩形区域包括:标题条、边框、窗口角、系统菜单框、最大化/最小化按钮、滚动条等状态:当前/非当前窗口--接受输入,最大化/最小化/恢复原大小,窗口的前后遮盖--Z轴,焦点--接受键盘输入(而非鼠标)桌面和墙纸图标:一个小图象(如32x32或64x64pixel),供鼠标指针点击。不同的图标可以标识不同的对象。如:可执行程序、最小化的窗口、文件--动画图标2019/12/1824窗口系统的图形元素及其状态-1鼠标指针:鼠标指针通常对应屏幕上的光标光标在屏幕上只有一个,在不同屏幕位置(上下文)可以呈现不同形状,可以独立于鼠标来直接操纵光标鼠标点击:左键/右键/中键,单击/双击,拖曳/拖放按钮:鼠标点击或按回车键/空格键时执行相应功能,如menubutton;提供单项或多项选择,如radiobutton和checkbutton;当前按钮及其切换菜单:临时窗口,菜单条、弹出式菜单、下拉式菜单(上下文相关菜单)对话框:临时窗口,显示提示信息(message)或填写用户设置2019/12/18253)窗口管理器(windowmanager):形成统一的使用风格处理窗口的普遍特性,如:窗口的大小、位置(窗口的标题条、边框、控制菜单框)--窗口中由应用程序管理的部分称为客户区(clientarea)协调各窗口间的相互关系,如:窗口之间的前后遮盖关系,桌面2019/12/1826(四)系统调用系统调用:用户在程序中调用操作系统所提供的一些子功能这是特殊的过程调用,由特殊的机器指令实现(每种机器的机器指令集中都有一条系统调用指令——访管指令)这条指令将系统转入管态系统调用是一个低级过程,只能由汇编语言直接访问系统调用是操作系统提供给编程人员的唯一接口利用系统调用,动态请求和释放系统资源完成与硬件相关的工作以及控制程序的执行等每个操作系统都提供几百种系统调用2019/12/18271)系统调用简介系统调用的例子-1汇编程序例子:打印5个字符方法1:调用DOS功能MOVEA,PARA1MOVEB,PARA2INT21H2019/12/1828系统调用简介-1系统调用的例子-2方法2:用OUT语句直接打印L1:MOVEA,IINADDR1
本文标题:第十章操作系统接口
链接地址:https://www.777doc.com/doc-2091394 .html