180 likes | 257 Views
第十章 操作系统用户界面. 教学目的与要求: 1. 掌握操作系统的几种接口方式 2. 了解 OS/2,UNIX 操作系统的界面及操作 重点与难点: 操作系统的三种接口方式. 主要内容: 10.1 联机命令接口 10.2 程序接口 10.3 图形用户接口元素 10.4 UNIX 用户界面 10.5 作业. 1 .操作系统为用户提供三个接口界面: (1) 系统为用户提供的各种命令接口界面 (2)程序接口,编程人员使用系统调用来请求操作系统提供服务。 (3) 图形用户接口
E N D
第十章 操作系统用户界面 教学目的与要求: 1. 掌握操作系统的几种接口方式 2. 了解OS/2,UNIX操作系统的界面及操作 重点与难点: 操作系统的三种接口方式
主要内容: 10.1 联机命令接口 10.2 程序接口 10.3 图形用户接口元素 10.4 UNIX用户界面 10.5 作业
1.操作系统为用户提供三个接口界面: (1)系统为用户提供的各种命令接口界面 (2)程序接口,编程人员使用系统调用来请求操作系统提供服务。 (3)图形用户接口 2.联机控制方式下,系统只为用户提供一组键盘或其他操作方式的命令。用户使用系统提供的操作命令和系统会话,交互地控制程序执行和管理计算机系统。其工作过程是,用户在系统给出的提示符下敲入特定 10.1 联机命令接口
的命令,系统在执行完该命令后向用户报告执行结果;然后,用户决定下一步的操作。如此反复,直到作业执行结束。联机控制方式的命令种类丰富。这些命令可大致分为以下几类:的命令,系统在执行完该命令后向用户报告执行结果;然后,用户决定下一步的操作。如此反复,直到作业执行结束。联机控制方式的命令种类丰富。这些命令可大致分为以下几类: (1) 环境设置。 (2) 执行权限管理。 (3) 系统管理。 (4) 文件管理。 (5) 编辑、编译、链接装配和执行。 (6) 通信。 (7) 资源要求。
1.系统调用是操作系统提供给编程人员的唯一接口。编程人员利用系统调用,在源程序一级动态请求和释放系统资源,调用系统中已有的系统功能来完成那些与机器硬件部分相关的工作以及控制程序的执行速度等。因此,系统调用像一个黑箱子那样,对用户屏蔽了操作系统的具体动作而只提供有关的功能。事实上,命令控制界面也是在系统调用的基础上开发而成的。1.系统调用是操作系统提供给编程人员的唯一接口。编程人员利用系统调用,在源程序一级动态请求和释放系统资源,调用系统中已有的系统功能来完成那些与机器硬件部分相关的工作以及控制程序的执行速度等。因此,系统调用像一个黑箱子那样,对用户屏蔽了操作系统的具体动作而只提供有关的功能。事实上,命令控制界面也是在系统调用的基础上开发而成的。 10.2 程序接口
2.系统调用大致可分为如下几类: (1) 设备管理。该类系统调用被用来请求和释放有关设备、以及启动设备操作等。 (2) 文件管理。对文件的读、写、创建和删除等。 (3) 进程控制。进程是一个在功能上独立的程序的一次执行过程。进程控制的有关系统调用包括进程创建、进程执行、进程撤消、执行等待和执行优先级控制等。 (4) 进程通信。该类系统调用被用在进程之间传递消息或信号。 (5) 存储管理。包括调查作业占据内存区的大小、获取作业占据内存区的始址等。
(6) 线程管理。包括线程的创建、调度、执行、撤销等。 3.不同的系统提供有不同的系统调用 (1)为了提供系统调用功能,操作系统内必须有事先编制好的实现这些功能的子程序或过程。 (2)为了实现系统调用,系统设计人员还必须为实现各种系统调用功能的子程序编造入口地址表,每个入口地址都与相应的系统子程序名对应起来。然后,由陷阱处理程序把陷阱指令中所包含的功能号与该入口地址表中的有关项对应起来,从而由系统调用功能号驱动有关系统子程序执行。
(3)由于在系统调用处理结束之后,用户程序还需利用系统调用的返回结果继续执行,因此,在进入系统调用处理之前,陷阱处理机构还需保存处理机现场。再者,在系统调用处理结束之后,陷阱处理机构还要恢复处理机现场。在操作系统中,处理机的现场一般被保护在特定的内存区或寄存器中。(3)由于在系统调用处理结束之后,用户程序还需利用系统调用的返回结果继续执行,因此,在进入系统调用处理之前,陷阱处理机构还需保存处理机现场。再者,在系统调用处理结束之后,陷阱处理机构还要恢复处理机现场。在操作系统中,处理机的现场一般被保护在特定的内存区或寄存器中。 (4)有关系统调用的另一个问题是参数传递问题。一种方法是由陷阱指令自带参数;另一种办法是通过使用有关通用寄存器来传递参数。由于寄存器长度也是较短的。从而无法传递较多的参数。因此,在系统调用较多的系统中,大多在内存中开辟专用堆栈区来传递参数。
(5)另外,在系统发生访管中断或陷阱中断时,为了不让用户程序不直接访问系统程序,反映处理机硬件状态的处理机状态字PSW中的相应位要从用户执行模式转换为系统执行模式。这一转换在发生访管中断时由硬件自动实现。(5)另外,在系统发生访管中断或陷阱中断时,为了不让用户程序不直接访问系统程序,反映处理机硬件状态的处理机状态字PSW中的相应位要从用户执行模式转换为系统执行模式。这一转换在发生访管中断时由硬件自动实现。
联机控制方式大大地方便了用户。但在某些情况下,用户反复输入众多的命令也会浪费不必要的时间。因此,在现代操作系统中,命令已被开发成一条条能用鼠标点击而执行的简单的菜单或小巧的图标,这就是图形用户接口。而且,用户也可以在提示符的提示下用普通字符方式输入各种命令。 联机控制方式大大地方便了用户。但在某些情况下,用户反复输入众多的命令也会浪费不必要的时间。因此,在现代操作系统中,命令已被开发成一条条能用鼠标点击而执行的简单的菜单或小巧的图标,这就是图形用户接口。而且,用户也可以在提示符的提示下用普通字符方式输入各种命令。 10.3 图形用户接口
UNIX的命令控制界面 Shell是UNIX系统为用户提供的键盘命令解释程序的集合。Shell 向用户提供300个以上的命令。 基本类包括: (1) 系统访问命令,例如login,logout等。 (2) 编辑和文件管理命令,例如vi,emacs,cp,rm和ls等。 (3) 编译、链接命令,例如cc,link等。 (4) 维护、管理命令,例如adduser,chown等。 10.4 UNIX用户界面
(5) 调试命令,例如dbx等。 (6) 记帐、日期等的命令,例如date等。 (7) 网络通信用命令,例如mailx等。 特殊类命令包括: (1) 后台命令“&”。 后台命令不要求系统马上执行。例如 cc pgm.c& 要求系统在空闲时编译程序pgm.c。 (2) 文件名生成符号“*”和“?” 其中“*”和从该字符开始的文件名的字符串匹配,而“?”则和该字符位所
对应的一个字符匹配。例如,a*.c代表所有以字母a打头的.c文件,而a?.c则只代表以字母a打头、且文件名长为2个字符的.c文件。对应的一个字符匹配。例如,a*.c代表所有以字母a打头的.c文件,而a?.c则只代表以字母a打头、且文件名长为2个字符的.c文件。 (3) 输入输出重定向符号“<”、“>”和“>>” 在UNIX系统中,进程在对文件进行操作时,要用到文件描述符。在通过进程执行一个命令时,系统自动地将键盘输入定义为标识符为0 的文件且称为标准输入。另外,系统终端显示器定义为文件标识符为1的标准输出,把输出到终端显示器的错误信息定义为文件描述符为2的标准错误信息输出。
在执行某个命令时,如果要改变输入输出文件,则使用输入输出重定向符号“>”、“<”和“>>”。其中,a>b表示把文件a的内容输出到文件b,a<b表示把文件b的内容输出到文件a;而a>>b 则表示把文件a 的内容顺序追加到文件b的后面。例如,ls>a 表示把当前目录下的文件名信息输出到文件a中。如果文件a不存在,则系统自动创建文件a。 (4) 管道命令“|” 在其他操作系统中,如果有多个程序顺序对一个数据集进行操作的话,一般都是采用中间文件方式,即把上一个程序的处理结果输出到中间文件之后,再把该中间文件作为下一个程序的输入使用。事实上,由于设置中间文件以及对中间文件的输入输出都要用到一
系列命令,从而既加强系统负担又增加了用户难度。UNIX Shell则不然.除了上面(3)中所述的文件输入输出重新定向法之外,还有一种称为管道的不通过中间文件的数据直接输入方法,即一个命令的执行结果存放在系统缓冲区内直接作为下一个命令的输入。管道命令的使用格式是: 命令1| 命令 2|命令3 ... (5) 滤波器功能 UNIX Shell具有对数据进行选取和加工的滤波功能,其中几个比较主要的命令是:
grep——从指定文件中搜索特定的字符串或包含特定字符串的行等。grep——从指定文件中搜索特定的字符串或包含特定字符串的行等。 sort——对文件内的各行或词组按某种规定的方式分类。 tail——表示文件末尾的指定数行。 使用UNIX Shell的滤波功能,用户可以方便地对大规模数据集进行分类和查找,并能大大简化不必要的输入输出工作。 另外,UNIX系统的Shell命令还允许用户使用Shell程序语言,把UNIX命令编制成程序后批处理执行。
10.5 作业 • 1. 什么是系统调用? 系统调用与一般用户程序有什么区别? 与库函数和实用程序又有什么区别? • 2. 简述系统调用的实现过程。 • 3. 试述UNIX的主要特点。 • 4. UNIX操作系统为用户提供哪些接口? 试举例说明。