首页 理论教育 计算机操作系统:用户接口和系统程序

计算机操作系统:用户接口和系统程序

时间:2023-11-06 理论教育 版权反馈
【摘要】:当用户在键盘上每键入一条命令后,系统便立即转入命令解释程序,对该命令进行处理和执行。GUI是近年来最为流行的联机用户接口形式,并已制定了国际GUI标准。

计算机操作系统:用户接口和系统程序

2.1.1 用户接口

操作系统一般都提供了联机作业控制方式和脱机作业控制方式两个作业级的接口,这两个接口使用的手段为操作控制命令和作业控制语言(命令)。

1.联机用户接口——操作控制命令

这是为联机用户提供的调用操作系统功能,请求操作系统为其服务的手段,它由一组命令及命令解释程序组成,所以也称为命令接口。当用户在键盘上每键入一条命令后,系统便立即转入命令解释程序,对该命令进行处理和执行。用户可先后键入不同命令,来实现对其作业的控制,直至作业完成。不同操作系统的命令接口有所不同,这不仅指命令的种类、数量及功能方面,也可能体现在命令的形式、用法等方面。不同的用法和形式组成了不同的用户界面,可分成以下几种:

1)字符显示式用户界面

主要通过命令语言来实现,又可分成命令行和批命令两种方式。

(1)命令行方式。命令语言具有规定的词法、语法和语义,它以命令为基本单位来完成预定的工作任务,完整的命令集构成了命令语言,反映了系统提供给用户可使用的全部功能。每个命令以命令行的形式输入并提交给系统,一个命令行由命令动词和一组参数构成,它指示操作系统完成规定的功能。对新手用户来说,命令行方式十分烦琐,难以记忆,但对有经验的用户而言,命令行方式用起来快捷便当、十分灵活,所以,至今许多操作员仍喜欢并使用这种命令形式。

简单命令的一般形式为:Command arg1 arg2…argn其中,Command是命令名,又称命令动词,其余为该命令所带的执行参数,有些命令可以没有参数。

(2)批命令方式。在使用操作命令过程中,有时需要连续使用多条命令,有时需要多次重复使用若干条命令;有时还需要有选择地使用不同命令,用户每次都将这一条条命令由键盘输入,既浪费时间,又容易出错。现代操作系统都支持一种特别的命令,称为批命令,其实现思想如下:规定一种特别的文件(称批命令文件),通常该文件有特殊的文件扩展名。例如,MS-DOS约定为BAT。用户可预先把一系列命令组织在该BAT文件中,一次建立,多次执行。从而减少输入次数,方便用户操作,节省时间、减少出错。更进一步,操作系统还支持命令文件使用一套控制子命令,从而可以写出带形式参数的批命令文件。当带形式参数的批命令文件执行时,可用不同的实际参数去替换,这样的一个批命令文件可以执行不同的命令序列,大大增强了命令接口的处理能力。

UNIX和Linux的Shell不但是一种交互型命令解释程序,也是一种命令级程序设计语言解释系统,它允许用户使用Shell简单命令、位置参数和控制流语句编制带形式参数的批命令文件,称为Shell文件或Shell过程,Shell可以自动解释和执行该文件或过程中的命令。

2)图形化用户界面

用户虽然可以通过命令行方式和批命令方式来获得操作系统的服务,并控制自己的作业运行,但要牢记各种命令的动词和参数,必须严格按规定的格式输入命令,而且不同操作系统所提供的命令语言的词法、语法、语义及表达形式是不一样的,这样既不方便又花费时间。于是,图形化用户界面(graphics user interface,GUI)应运而生。

GUI采用了图形化的操作界面,使用WIMP技术(即窗口window、图符icon、菜单menu和鼠标pointing device),引入形象的各种图符将系统的各项功能、各种应用程系统调用序和文件,直观、逼真地表示出来。用户可以通过选择窗口、菜单、对话框和滚动条完成对他们作业和文件的各种控制和操作。此时,用户不必死记硬背操作命令,而能轻松自如地完成各项工作,使计算机系统成为一种非常有效且生动有趣的工具。

GUI是近年来最为流行的联机用户接口形式,并已制定了国际GUI标准。20世纪90年代推出的主流操作系统都提供了GUI。1981年,Xerox公司在Star 8010工作站操作系统中,首次推出了GUI。1983年,Apple公司又在Apple Lisa机和Macintosh机的操作系统中成功使用了GUI。之后,还有Microsoft公司的Windows,IBM公司的OS/2,UNIX和Linux使用的X-Window都使用了GUI。

图形化操作界面又称多窗口系统,采用事件驱动的控制方式,用户通过动作来产生事件以驱动程序工作,事件实质上是发送给应用程序的一个消息。用户按键或点击鼠标等动作都会产生一个事件,通过中断系统引出事件驱动控制程序工作,它的任务是:接收事件、分析和处理事件,最后,还要清除处理过的事件。系统和用户都可以把各个命令定义为一个菜单、一个按钮或一个图标,当用户用键盘或鼠标进行选择之后,系统会自动执行命令。

3)新一代用户界面

随着个人计算机的广泛流行,缺乏计算机专业知识的用户随之增多,如何不断更新技术,为用户提供形象直观、功能强大、使用简便、掌握容易的用户接口,便成为操作系统领域的一个热门研究课题。例如,具有沉浸式和临场感的虚拟现实应用环境已走向实用,把用户界面的发展推向新的阶段。目前,多感知通道用户接口、自然化用户接口,甚至智能化用户接口的研究都取得了一定的进展。

2.脱机用户接口——作业控制语言(命令)(www.xing528.com)

脱机用户接口是专为批处理作业的用户提供的,所以也称批处理用户接口。操作系统提供了一个作业控制语言(job control language,JCL),它由一组作业控制卡、作业控制语句或作业控制操作命令组成。

脱机用户接口源于早期批处理系统,其主要特征是用户事先使用JCL描述对作业的控制步骤,由计算机上运行的内存驻留程序(执行程序、管理程序、作业控制程序、命令解释程序)根据用户的预设要求自动控制作业的执行。

用户使用JCL语句,把他的运行意图即需要对作业进行的控制和干预,事先写在作业说明书上,然后,将作业连同作业说明书一起提交给系统。当调度到该批处理作业运行时,系统调用JCL语句处理程序或命令解释程序,对作业说明书上的语句或命令,逐条地解释执行。如果作业在执行过程中出现异常情况,系统会根据用户在作业说明书上的指示进行干预。这样,作业一直在作业说明书的控制下运行,直至作业运行结束。可见JCL为用户的批作业提供了一种作业一级的接口。

2.1.2 命令解释程序

操作系统提供的最重要的系统程序是命令解释程序(command interpreter),在所有的OS中,都是把命令解释程序放在OS的最高层,以便能直接与用户交互。该程序的主要功能是先对用户输入的命令进行解释,然后转入相应命令的处理程序去执行。在MS-DOS中的命令解释程序是COMMAND.COM,在UNIX中是Shell。

1)命令解释程序的作用

在联机操作方式下,终端处理程序把用户键入的信息送键盘缓冲区中保存。一旦用户键入回车符,便立即把控制权交给命令处理程序。显然,对不同的命令,应有能完成特定功能的命令处理程序与之对应。可见,命令解释程序的主要作用是在屏幕上给出提示符,请用户键入命令,然后读入该命令,识别命令,再转到相应命令处理程序的入口地址,把控制权交给该处理程序去执行,并将处理结果送屏幕上显示。若用户键入的命令有错,而命令解释程序未能予以识别,或在执行中出现问题时,则应显示出某一出错信息。

2)命令解释程序的工作流程

系统在接通电源或复位后,初始化部分获得控制权,对整个系统完成初始化工作,并自动执行AUTOEXEC.BAT文件,之后便把控制权交给暂存部分。暂存部分首先读入键盘缓冲区中的命令,判别其文件名、扩展名及驱动器名是否正确。若发现有错,在给出出错信息后返回;若无错,再识别该命令。一种简单的识别命令的方法是基于一张表格,其中的每一表目都由命令名及其处理程序的入口地址两项所组成。如果暂存部分在该表中能找到键入的命令,且是内部命令,便可以直接从对应表项中获得该命令处理程序的入口地址,然后把控制权交给该处理程序去执行该命令。如果发现键入的命令不属于内部命令而是外部命令,则暂存部分还须为之建立命令行;再通过执行系统调用exec来装入该命令的处理程序,并得到其基地址;然后把控制权交给该程序去执行相应的命令。

2.1.3 系统程序

系统程序又称标准程序或实用程序(utilities),大多数用户只要求计算机解决自己的应用问题,对操作系统的特性、结构和实现不感兴趣。实用程序虽非操作系统的核心,却是必不可少的,它们为用户程序的开发、调试、执行和维护解决带有共性的问题或执行公共操作,于是操作系统常以外部操作命令形式向用户提供了许多系统程序。常用的有汇编程序、编辑程序、编译系统、调试和排错程序、分类和合并程序等。用户看待操作系统,不是看系统调用怎么样,而是看系统程序怎么样,所以系统程序功能和性能很大程度上反映了一个操作系统的功能和性能。作为操作系统的高层功能,系统程序功能的实现从根本上来说要借助系统调用的实现。系统程序大致可分成以下几类:

(1)文件管理。这些系统程序用来对文件和目录进行建立、删除、复制、改名、打印、列表、转储和各种管理工作。

(2)状态信息。这些系统程序提供给用户向操作系统提问,以获得日期、时间、可用内存和盘空间数量、用户数或其他状态信息,然后把这些信息格式化并打印到终端或其他输出设备或保存到文件中。

(3)程序设计语言支持。操作系统以系统程序方式提供给用户通用程序设计语言的编译程序、汇编程序和解释程序,如FORTRAN、Cobol、Pascal、Basic、C和Lisp等。这反映了操作系统对程序设计环境的支持能力,这些系统程序随硬件和操作系统一起出售,有一些则独立提供和另外收费。

(4)程序的装入和执行支持。每当一个程序被编译或汇编后,必须被装入内存才能运行,于是,又提供了如绝对装入工具、重定位装入工具、连接编辑程序等系统工具。对高级语言或机器语言来说,调试工具(debugging)也是必不可少的。

(5)通信。操作系统提供一类系统程序,它们为建立多个进程、多个用户及不同系统之间的逻辑连接提供了机制。这些机制允许用户发送消息到其他用户的屏幕上;或以电子邮件发送出一批信息;或从一台机器传送文件到另一台机器;甚至可以通过通信进行远程登录,使用远程的计算机。

(6)其他软件工具。操作系统提供这类系统软件为用户解决共性问题,如Web浏览器、字处理工具、正文格式化工具、电子表格数据库系统、编译程序的编译程序(YACC)、画图软件包、统计分析包及游戏程序。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈