|
3.2.1 什么是用户界面
当今,计算机的应用越来越广泛,科学计算、数据处理、人们的生产、事务活动等都可借助计算机来帮助解决。计算机应用可以是编辑书稿,形成新闻节目,编制人事档案资料;也可以是对某一企业的人事、工资、生产、物质等管理。
用户要把某一任务交给计算机去完成,他最关心的问题是:系统提供什么手段使用户能方便地描述和解决自己的问题。比如,一个排序算法要在计算机上解决,对于这样一个任务,用户先要干什么,然后进行怎样的处理,如何得到结果,系统能提供什么手段和方法,让用户方便地描述,并能在计算机上一步一步去处理。在现代计算机系统中,用户是通过操作系统使用计算机的,或者是通过操作系统提供的用户界面(接口)来使用计算机的。
操作系统的用户界面分为两个方面,一个是操作界面,用户使用这个操作界面来组织自己的工作流程和控制程序的运行;二是操作系统的功能调用(或称系统功能服务)界面,任何一个用户程序在其运行过程中,可以使用操作系统提供的功能调用来请求操作系统的服务(如申请主存、作用各种外设、创建进程或线程等)。
操作系统的用户界面形式与操作系统的类型和用户上机方式有关。说要表现在操作界面的形式上的不同。不论哪一类操作系统都必须提供操作系统的系统功能调用这一界面,而操作界面则有不同的形式。比如,批处理系统提供的操作界面称为作业控制语言,因为这类操作系统采用的是脱机处理方大,而分时系统或个人计算机提供的操作界面是键盘命令,因为这类操作系统采用的是联机处理方式。
操作系统的用户界面在近年来发生了巨大的变化,在图形界面( GDI )技术、面向对象技术的推动下,现代个人计算机操作系统提供图形化的用户界面和 API (用户程序编程接口),这是传统操作界面和系统功能服务界面在现代操作系统的体现,这样的界面,用户使用更为直观、方便、有效。
下面,先给出操作系统提供的界面,包括操作命令和系统功能服务两个方面。然后讨论系统功能调用的实现技术,最后简介图形化的用户界面。
3.2.2 操作系统提供的用户界面
操作系统提供的界面如图 3.2 所示:一是操作系统为用户提供的操作命令,用户可利用这些操作命令来组织作业的工作流程和控制作业的运行;二是操作系统为用户提供的一组系统功能调用,用户可以在源程序一级使用这些系统功能调用请求操作系统服务(如请求使用各种外部设备进行信息传输、向系统申请资源等)。
对于操作命令而言,其形式较大程序上取决于相应操作系统的类型和用户上机方式。一般而言,具有交互操作方式的系统提供键盘命令或图形化用户界面。而具有脱机操作方式的系统则提供作业控制语言。这是因为,前者的交互性允许用户能够人为地安排工作过程,并对系统发生的动作作出响应,而在批处理系统中,用户一旦提交了他的作业,就无法对作业运行作更多的控制。因此,用户必须事先给出一系列明确的指令,指出动作的过程,还可能需要对事先无法预测的若干事件进行周密和思考,指出当这样的事件一旦发生时应作出什么样的处理。
在视窗操作系统(如 Windows 系统)出现之前,在分时系统和具有交互作用的系统中,操作命令最通常、最基本的形式为键盘命令。在这样的系统中,用户以联机方式上机。用户直接在控制台或终端设备上输入键盘命令,向系统提出要求,控制自己的作业有步骤地运行。现代微机操作系统一般都提供使用非常方便的图形化用户界面。在这样的操作界面中,用户可以方便地借助鼠标等标记性设备选择所需要的图标,采用点击或拖曳等方式实现自己的操作意图。
(一)操作命令
1 .键盘命令
分时系统或单用户系统提供键盘命令。虽在不同的系统所提供的键盘命令的多少有差异,但其功能基本上是相同的。一般终端与主机通信的过程可以分为注册、通信、注销几步。
( 1 )注册
使用分时系统第一件事是注册。注册的目的有两个;一是让系统验证你有无使用该系统的权限,二是让系统为你设置必要的环境。
分时系统的功能之一是要管理计算机资源,以便若干人共享一台计算机。为此,系统为每个用户维持一个独立的环境。它要记住每一个用户的名字、注册时间,还要记住每个用户已经用了多少计算机时间,占用了多少文件,正在使用什么型号的终端等。
在大多数单用户计算机系统中,不存在注册过程,因为实际地访问这个硬件就证实了你使用这个系统的权力。在批处理系统中,不存在外表上的注册过程,但为了记账和调度目的,每一个提交的作业都要加以标识。
在第一次注册之前,系统管理员必须为用户建立一个账号。从用户角度来看,设置一个账户的主要目的是注册名字,注册名是用户与系统交互时需要使用的名字。 UNIX 系统正是采用了这种方式。 UNIX 在终端接通之后,用户可以按下回车键,系统会显示“ login: ”字样。此时系统要用户输入注册名。当用户输入注册名并按回车键后,系统即核对该系统是否记录了这个用户,并在核对正确后显示“ passwod: ”,即系统要求用户输入口令(口令是为了证实你的身份而输入的一个保密字)。这时你可输入口令并回车。一旦输入口令,系统就检验它,如果口令错,系统会再要求你输入注册名和口令。否则,系统显示一个提示符,表明系统已经准备好,接受你的命令了。
( 2 )通信
当终端用户注册后,就可以通过丰富的键盘命令控制程序的运行、申请系统资源、从终端输入程序和数据等。
属于通信这一步键盘命令是比较丰富的。一般有以下几类:
①文件管理;这类命令用来控制终端用户的文件。例如,删去某个文件,将某个文件由显示器(或打印机)输出,改变文件的名字、使用权限等。
②编辑修改。这类命令用来编辑和修改终端用户的文件。例如,删去几行、插入几行、修改几行等。这类命令是重要的,因为当终端用户发现由于某种原因需要修改他的文件时,他可以直接从终端输入命令来修改,而不需要脱机修改,然后再重新输入。
③编译、连接装配和运行。这类命令用来调出编译或连接装配程序进行编译或装配工作,以及将生成的主存是映像文件装入主存启动运行。
④输入数据。终端用户通过输入命令要求系统接受从终端输入的一批数据。这一批数据一般以文件形式放到后缓存储器上。
⑤操作方式转换。这类命令主要用来转换作业的控制方式,例如,从联机工作方式转为脱机工作方式。
⑥申请资源。这类命令主要用来让终端用户申请使用系统资源。例如,申请使用某类外部设备若干台等。
( 3 )注销
当用户使用完了或暂时不使用系统时,应输入注销命令。注销就是通知系统,打算退出系统。比如,当你要退出 UNIX 系统时,应在 shell 命令提示符下输入注销命令。注销命令随系统而异,如 logout 或 controd d 等。当用户注销后,系统将再次显示:“ login : ”,即准备接受新用户。
2 .作业控制语言
在脱机方式下系统提供作业控制语言( JCL )。它既可以写成操作说明书的形式,也可穿孔成为作业控制卡的形式(前者为较多批处理系统所采用)。
采用脱机方式时,用户上机前必须准备好作业申请表、操作说明书(或作业控制卡)以及程序和数据。其中,作业申请表是用户向系统提出的执行作业的请求,其内容应包含:作业名、需用 CPU 时间,最迟完成时间、资源请求(包括主存容量、外部设备台数、后援存储器容量、输出量(打印行数)等),以及指出使用何种语言的编译程序。表明用户对作业控制意图的操作说明书则是由一条条对作业处理的命令组成的,如:编辑命令、编译命令、连接命令、运行命令等。还有一些干预命令,它说明了在作业运行过程中,发生意外事件时的处理方式。
操作系统根据作业申请表来分配作业所需的资源并注册该和业,通过作业说明书(或作业控制卡)对作业实施运行控制。一般在批处理系统中提供 JCL 语言。
(二)系统功能调用
操作系统和用户的手续二个接口是系统功能调用。它是管理程序提供的服务界面,或更确切地说是操作系统中支持程序设计语言正常工作的支撑系统所提供的界面。在源程序一级,用户利用程序设计语言可以描述算题任务所需要的逻辑功能。但还有一些语句,例如读、写语句,建立文件、打开文件、关闭文件、删除文件的语句,请求工作区、缓冲区等语句就和系统功能相关。为了支持程序的正常运转,操作系统必须提供这些功能以及方便调用的手段。
|