计算机操作系统 第四版 汤小丹 课件 第9章_第1页
计算机操作系统 第四版 汤小丹 课件 第9章_第2页
计算机操作系统 第四版 汤小丹 课件 第9章_第3页
计算机操作系统 第四版 汤小丹 课件 第9章_第4页
计算机操作系统 第四版 汤小丹 课件 第9章_第5页
已阅读5页,还剩80页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第9章操作系统界面,9.1用户界面9.2外壳命令语言9.3在线命令界面的实现9.4系统调用的概念和类型9.5 UNIX系统调用9.6系统调用的实现练习,9.1用户界面9.1.1字符显示在线用户界面不同的操作系统有不同的在线用户界面。也就是说,它们的命令形式和用法是不同的。即使在同一个系统中,不同形式的命令构成不同的用户界面,通常可分为两种类型:字符显示在线用户界面和图形在线用户界面。命令行模式此模式用于以行为单位输入和显示不同的命令。每行的长度通常少于256个字符。通常,回车被用作命令的结束标记。通常,命令的执行采用间歇串行执行模式,即后一个命令的输入通常需要等到前一个命令的执行完成。如果系统

2、在用户键入的命令处理完成后发送新的命令输入提示,用户可以继续输入下一个命令。批处理命令模式在操作命令的实际使用中,经常需要连续使用多个命令、重用多个命令或有选择地使用不同的命令。如果用户每次都使用命令行模式通过键盘输入命令,既浪费时间又容易出错。因此,操作系统都支持一种称为批处理命令的特殊命令模式,这种模式允许用户预先将一系列命令组织在一个称为批处理命令文件的文件中,该文件可以建立一次并执行多次。这样,可以减少用户输入的命令数量,不仅节省了时间,降低了出错概率,而且给用户带来了方便。9.1.2图形在线用户界面1。图形用户界面图形用户界面的介绍虽然用户可以通过命令行和批处理命令获得操作系统的服务

3、并控制自己的操作,但他们应该记住各种命令的动词和参数,并严格按照规定的格式输入命令。此外,不同操作系统提供的命令语言的词汇、语法、语义和表达形式不同,这是不方便和昂贵的。因此,图形用户界面(GUI)应运而生。使用WIMP技术的图形用户界面采用图形操作界面,使用WIMP技术,集成了窗口、图标、菜单、指针设备和面向对象技术,引入各种图标,直观、逼真地表达系统的各种功能、应用和文件,形成一个带有图文的窗口操作。9.1.3在线命令的类型1。系统访问类在多用户系统中,为了确保系统的安全性,注册命令登录被设置为无例外。所有想使用多用户系统终端的用户必须首先从系统管理员处获得合法的注册名称和密码。今后,用户

4、每次打开自己使用的终端电源,系统都会直接调用,屏幕上会显示以下注册命令:登录:/提示用户输入注册名称。当用户输入正确的注册名称并按回车键时,屏幕将再次出现:密码3360/提示用户输入密码,2。文件操作命令(1)显示文件命令类型,用于指定文件。(2)复制文件命令,用于复制文件。(3)文件比较命令comp,用于比较两个指定的文件,这两个文件可以在相同或不同的驱动器上。(4)重命名命令,用于将第一个参数命名的文件更改为第二个参数命名的文件。(5)删除文件命令擦除,用于删除一个或一组文件。例如,当参数路径名为*。BAK,意思是删除所有扩展名的文件。指定目录中的Bak。目录操作命令(1)创建子目录命令m

5、kdir,用于创建具有指定名称的新目录。(2)显示目录命令dir,并显示指定磁盘中的目录项目。(3)删除子目录命令rmdir,用于删除指定的子目录文件,但不能删除普通文件,一次只能删除一个空目录(只包括“.”和“.”文件),但不能删除根目录和当前目录。(4)显示目录结构命令树,显示指定磁盘上的所有目录路径及其层次关系。(5)将当前目录命令chdir更改为由路径名参数给出的目录。当.用作参数,这意味着它应该返回到更高级别的目录。其他命令(1)输入和输出重定向命令。(2)管道连接。(3)过滤命令。(4)批量订单。9.2外壳命令语言9.2.1简单命令简介外壳命令语言中提供了许多不同形式的命令,并且一

6、个命令行中允许多个命令。如果一个命令行中只有一个命令,则称之为简单命令。事实上,一个简单的命令是一个可以完成某个功能的目标程序的名字。简单命令的格式很简单。命令的格式相对自由,包括命令名中的字符数以及用于分隔命令名、选项和参数的空格数。在UNIX和Linux系统中,命令都是由小写字母组成的,并且可以为命令提供参数表,参数表用于在执行命令时提供附加信息,每个参数都是一个单词。一个名为option的独立变量也可以用在命令名和参数表之间,以减号开始,后跟一个或多个字母和数字。一个命令可以有多个选项来更改命令执行操作的类型。简单命令的分类在Linux或UNIX系统中,简单命令通常分为两类:(1)系统提

7、供的标准命令,包括调用各种语言处理程序和实用程序,其数量因系统版本不同而异,系统管理员可以添加新的系统标准命令。(2)用户定义的命令。系统管理员和用户定义的命令的执行方式与系统标准命令相同。根据命令是否包含在外壳中,即它们是否驻留在内存中,简单命令也可以分为内部命令和外部命令:(1)内部命令。外壳中的一些标准命令,如更改工作目录命令cd,作为内部命令内存驻留在外壳中。(2)外部命令。Shell中的大多数命令,如复制命令cp和移动命令rm,都存储在外部存储器(磁盘)中,也就是说,每个命令都是一个单独的程序,存在于文件系统的某个目录中。这样做的优点是可以在很大程度上节省内存空间。贝壳的类型有许多流

8、行的贝壳类型。这里有一些流行的贝壳:(1)伯恩贝壳。(2)碳壳.C外壳比B外壳更适合编程,它是标准的BSD(伯克利系统分布)命令解释。(3)科恩壳牌公司.科恩壳牌公司结合了壳牌公司和壳牌公司的优势,与壳牌公司完全兼容。它的名字叫K Sh。根据简单命令的不同功能,它们可以分为以下五类:1。进入和退出系统;1.进入系统,也称为注册。(2)退出系统。2。文件操作命令(1)显示文件内容命令cat。(2)复制文件副本的命令cp。(3)用于重命名现有文件的命令mv。(4)命令rm撤销文件。(5)命令文件确定文件类型。3。目录操作命令(1)创建目录mkdir的命令(简称md)。(2)命令rmdir(简称rd

9、)撤销目录。(3)改变工作目录的命令光盘。4.系统查询命令(1)访问当前日期和时间命令日期。(2)询问系统当前用户的命令。(3)命令pwd显示当前目录路径名。9.2.3重定向和管道命令1。在Linux系统中,系统定义了三个文件。有两个文件被称为标准输入和标准输出,它们对应于终端键盘输入和终端屏幕输出。当用户注册时,它们由登录程序打开。因此,当执行用户程序时,隐式标准输入是键盘输入,标准输出是屏幕(输出)显示。但是,用户程序可能不需要从键盘输入,而是从指定文件中读取信息供程序使用;类似地,用户可能希望将程序执行时生成的结果数据写入指定文件而不是屏幕。管道命令人们通过用符号“|”连接两个命令,进一

10、步扩展了重定向的概念,这样前一个命令的输出可以用作后一个命令的输入。9.2.4通信命令1。邮箱通信命令邮箱通信是UNIX用户之间进行非交互式通信的工具。发件人把要发送的信息写成一封信,然后“邮寄”到对方的邮箱。对话通信命令编写此命令使用户能够直接与系统中的其他用户在线通信。3。允许或拒绝接收消息的mesg命令的格式为:mesg-n-y、9.2.5后台命令。有些命令需要长时间执行。这样,当用户键入此命令时,他们会发现他们无事可做。此时,用户自然会认为他们应该利用这段时间做些别的事情。UNIX系统提供了这种机制,用户可以在这个命令后添加 来告诉Shell在后台执行这个命令,这样用户就可以在前台继续

11、键入其他命令并完成其他任务。9.3在线命令接口的实现9.3.1键盘终端处理器在微机或终端上配置的键盘终端处理器应具有以下功能:从终端接收用户键入的字符;字符缓冲器,用于临时存储接收的字符;回声显示;屏幕编辑;特殊字符处理。字符接收功能为了实现人机交互,键盘终端处理程序必须能够接收从终端输入的字符并将它们传送给用户程序。实现文字接收功能有两种方式:(1)面向文字的方式。(2)线导向模式。字符缓冲功能为了临时存储从终端键入的字符并降低中断处理程序的频率,终端处理程序还必须具有字符缓冲功能。字符缓冲可以采用以下两种方式之一:(1)特殊缓冲。(2)公共缓冲模式。图9-1两种缓冲模式,3。回声显示回声显

12、示(Echo display)是指每次用户从键盘输入字符时,终端处理程序都会将该字符发送到屏幕上进行显示。一些终端的回声是通过硬件实现的,速度很快,但经常会引起麻烦。例如,当用户键入密码时,显然不应该有回声来防止密码被窃取。另外,用硬件实现回声缺乏灵活性,所以近年来经常使用软件来实现回声,这样用户只有在需要的时候才能实现回声。屏幕编辑用户通常希望修改从键盘键入的数据(字符),例如删除(插入)一个或多个字符。因此,在终端处理程序中,还应该实现屏幕编辑功能,包括提供几个编辑键。常用的编辑键有:(1)删除字符键。(2)删除一行键。(3)插入钥匙。(4)移动光标键。(5)在屏幕上滚动或向下移动等。特殊

13、字符处理终端处理程序必须能够及时处理一些特殊字符,这些字符是:(1)中断字符。(2)停止滚动字符。(3)恢复卷起的字符。9.3.2 MS-DOS解释器1。命令解释器的功能在线操作模式下,终端处理器将用户键入的信息发送到键盘缓冲区保存。一旦用户进入回车,他立即将控制权交给命令解释器。显然,对于不同的命令,应该有相应的命令处理程序来完成特定的功能。可以看出,命令解释器的主要功能是在屏幕上给出提示,要求用户键入命令,然后读入命令,识别命令,然后转到相应命令处理程序的入口地址,将控制权交给处理程序执行,并将处理结果发送到屏幕上显示。如果用户键入的命令是错误的,但是命令解释器无法识别它,或者在执行过程中

14、出现问题,应该显示一条错误消息。命令解释器的组成是微软公司于1981年开发的一个操作系统,配置在一台微型计算机上。随着微型计算机的发展,操作系统的版本不断升级,从最初的1.0升级到6.0。x 1994年。在此期间,它实际上已经成为16位微机操作系统的标准。我们以操作系统中的COMMAND.COM处理程序为例来说明命令解释器的组成。它包括以下三个部分:(1)常驻部分。(2)初始化。(3)临时储存。命令解释器的工作流程系统通电或复位后,初始化部分获得控制,完成整个系统的初始化,自动执行自动执行。BAT文件,然后将控制权交给临时存储部分。临时存储部分首先读取键盘缓冲区中的命令,并判断文件名、扩展名和

15、驱动器名是否正确。如果发现错误,在给出错误消息后返回;如果没有错误,请再次识别该命令。图9-2命令。工作流9.3.3外壳解释器1。Shell命令的特点我们之前介绍过MS-DOS命令解释器,它非常简单。然而,外壳命令解释器要复杂得多,这主要是由于外壳命令的多样性和复杂性。主要性能如下:(1)一个命令行包含多个命令。(2)它们有不同的分离器。2。具有二叉树结构的命令行树1)命令表格节点外壳命令解释器根据命令行语句的结构顺序进行检查。每当“;”,并且使用 分隔符,命令表型节点被建立,分隔符的左边部分形成节点的左子树,右边部分形成右子树。例如,由以下命令行组成的命令树如图9-3所示:命令1;命令2;命

16、令3,图9-3命令表节点及其左右子树,以及2)管道文件节点。当外壳命令解释器遇到管道操作符,首先为其建立一个管道文件节点,然后使分隔符的左边部分构成节点的左子树,而右边部分构成右子树。例如,由以下命令行形成的命令树如图9-4所示:命令1命令2命令3,图9-4管道文件节点及其左右子树,3)简单命令节点对于简单命令,命令行中只有一个命令,属于可以立即执行的命令,因此系统不需要为其构建具有二叉树结构的命令树。在命令解释器读取键盘缓冲器中的命令之后,如果确定它是简单命令,则进一步确定它是否是内部命令。Linux命令解释器的工作流在Linux系统中,系统启动后,内核为每个终端用户建立一个执行外壳解释器的过程。图9-5外壳的基本执行过程和父子过程之间的关系,9.4系统调用的概念和类型9.4.1系统调用的基本概念在计算机系统中,通常有两种程序在运行:系统程序和应用程序。为了防止应

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论