第2章操作系统用户界面_第1页
第2章操作系统用户界面_第2页
第2章操作系统用户界面_第3页
第2章操作系统用户界面_第4页
第2章操作系统用户界面_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

第2章操作系统用户界面2.1简介用户界面负责用户和操作系统之间的交互用户通过用户界面向计算机系统提交服务需求计算机通过用户界面向用户提供其所需要的服务用户的分类使用和管理计算机应用程序的用户普通用户:只是使用计算机的应用服务管理员用户:负责计算机和操作系统的正常与安全运行程序开发人员:利用操作系统提供的编程功能开发新的应用程序,完成用户所要求的服务2.1简介对不同用户,操作系统提供不同的用户界面操作命令:对普通用户和管理员,这些命令可以实现用户所要求的不同功能(例如,上网、在线处理、办公处理等),为用户提供相应的服务系统调用:对编程人员,这些系统调用允许编程人员使用操作系统和程序,开发能够满足用户服务需求的新的控制命令不同操作系统为用户提供不同的操作命令、不同的系统调用2.2一般用户的输入输出界面2.2.1作业的定义当用户要求处理问题时,应首先用某种程序设计语言对要处理的问题编制源程序,再准备好初始数据,然后把编制好的源程序和准备好的数据输入到计算机系统中,在操作系统的控制下,经过编译、装配、运行等加工步骤,就能得到处理结果图2.1一般编程过程

2.2.1作业的定义作业:是用户在一次解题或一个事务处理过程中要求计算机系统所做工作的集合,包括用户程序、所需数据和命令等。作业步:是作业中计算机所做的相对独立的工作或加工步骤。例如,编辑是一个作业步作业管理:一个作业从输入到输出的一个过程作业提交作业调度作业控制作业退出

对于被调度的作业,OS要对它在系统中整个运行过程实行控制,作业的控制过程如图所示2.2.2作业组成作业是一个比程序更广的概念。它由程序、数据和作业说明书组成。系统通过作业说明书控制文件形式的程序和数据,使之执行和操作。作业由程序、数据和作业说明书三部分组成:程序:是问题求解的算法描述数据:是程序加工的对象作业说明书:是告诉操作系统本作业的程序和数据按照什么样的要求使之执行2.2.2作业组成作业说明书体现用户的控制意图,在系统中生成一个作业控制块JCB(JobControlBlock)的表格作业控制块是作业管理中最主要的数据结构,是作业存在系统的唯一标志。作业控制块保存了系统对作业进行管理的全部信息操作系统是根据JCB来对作业进行控制和管理的。例如,当OS进行作业调度的时候,它要访问作业控制块的信息,从中找出作业标识、作业状态等信息;在作业输出时,要从JCB中找到输出井的地址等信息。JCB要包括如下信息:图2.2作业说明书的主要内容2.2.2作业组成通常,作业说明书主要用于批处理系统中,且各计算机厂家对自己的系统定义有各自的作业说明书的格式和内容在微机系统和工作站系统中,常用批处理文件或shell程序方式编写作业说明书2.2.3一般用户的输入输出方式联机输入输出方式:通过交互会话方式,实现作业输入输出脱机输入输出方式:解决设备速度太慢的问题直接耦合方式:将主机和外围机通过一个公用的大容量外存直接耦合起来,从而省去了在脱机输入中依靠人工干预来传递后援存储器的过程。其中,公用存储器中大量数据的高速读写由主机完成,慢速的输入输出过程仍又外围机自己管理图2.3直接耦合方式2.2.3一般用户的输入输出方式SPOOLING系统:称为外围设备同时联机操作

图2.4SPOOLING系统2.2.3一般用户的输入输出方式SPOOLING系统:该系统中,多台外围设备通过通道或DMA器件和主机与外存连接起来。作业的输入输出过程由主机中的操作系统控制。操作系统中的输入程序包含两个独立的过程:读过程:负责从外设把信息读入缓冲区写过程:负责把缓冲区的信息送到外存输入井中网络联机方式

:以上述几种输入输出方式为基础2.3命令控制界面操作系统提供两个用户接口界面:系统调用:程序级编程人员使用系统调用来请求操作系统提供服务,如申请和释放外设等资源、控制程序的执行速度等。操作命令:作业级用户利用这些操作命令来组织和控制作业的执行或管理计算机系统

作业控制语言(早期批处理操作系统)键盘命令(交互式OS,分时OS)图形用户接口(UNIX、WINDOWS)2.3命令控制界面命令控制界面:用来组织和控制作业运行使用操作命令进行作业控制主要有两种方式:脱机方式联机方式2.3命令控制界面脱机控制方式用户将作业的执行顺序和出错处理方法一并以作业控制说明书的方式或命令文件方式提交给系统,由系统按照作业说明书或命令文件中所规定的顺序控制作业执行。作业控制说明书:由一组具有编程语言特征的作业控制命令,或称作业控制语言组成。其主要包括作业情况、作业资源要求、出错处理等内容执行过程中,用户无法干涉UNIX/Linux中的Shell语言也可作为JCL使用效率较高,但缺乏交互能力,不适合初学者2.3命令控制界面联机控制方式采用人机对话方式来控制作业运行,及时交互由一组命令及命令解释程序组成,也称命令接口一般可提供如下的一种或几种方式:命令行方式菜单方式命令文件方式联机控制方式命令行方式通过控制台终端,打入操作系统提供的命令来控制自己的作业的运行各操作系统命令从格式到功能都不尽相同

通常的命令格式:

COMMANDargl,arg2,…,argn<CR>命令类型:环境设置、权限管理、系统管理、文件管理等该方式繁琐,难记,但用起来快捷便利、十分灵活联机控制方式批命令方式把所需执行的一系列命令组装成文件,然后用文件名作为命令名执行所需命令序列,从而自动控制作业的运行例如,MS的BAT文件Unix的Shell文件或Shell过程对一些重复运行的作业非常有用联机控制方式命令解释程序接收用户输入的命令行,作出相应的解释并执行该命令提出的对作业的处理要求。通常会保存一张命令名字(动词)表记录所有操作命令及其处理程序的人口地址或相关信息

图形用户接口图形用户接口(GraphicsUserInterface,GUI):通过出现在屏幕上的对象直接进行操作,以控制和操纵程序运行将各种图形元素显示在屏幕上,对屏幕上的对象直接进行操作部件构成:窗口、菜单、列表框、消息框、对话框、按钮、滚动条等特点:人机交互的并发性好、传递信息量大例如,MSWindows、UNIX的X-Window等

图形用户接口采用事件驱动的控制方式,工作过程:用户按键或点击鼠标产生一个事件,通过中断系统激发事件驱动控制程序由事件驱动控制程序负责接收、分析和处理事件最后清除处理过的事件最新进展:触摸屏、话音、用户表情和肢体动作等

2.5系统调用——程序级接口在计算机系统中有两类程序运行:用户程序、系统程序用户程序必须在系统程序的控制和管理下运行用户程序、系统程序执行时有不同的权限1.用户态与系统态根据对系统资源和机器指令的使用权限,把处理机执行时的工作状态分为系统态和用户态,系统态(管态):将处理机在系统程序中执行称为系统态用户态(算态):将处理机在用户程序中执行称为系统态其权限次序是:系统态、用户态2.特权指令与访管指令特权指令

系统态(管态):CPU执行操作系统程序时所处的状态在此状态下允许CPU使用全部资源和全部指令,其中包括一组特权指令,实现对系统资源的分配与管理,为用户提供使用外部设备的服务。特权指令:只允许系统态下使用的指令。包括:使用外设的指令访问程序状态的指令:改变处理机状态、切换处理机存取特殊寄存器指令:如存取中断寄存器允许和禁止中断其它指令2.特权指令与访管指令用户态:用户程序执行时CPU所处的状态。

在此状态下禁止使用特权指令,不能直接使用系统资源与改变CPU状态,并且只能访问用户程序所在的存储空间。

问题:用户提出使用外设的请求,如何完成?访管指令(或称陷阱指令)实现从用户态到系统态的改变;在系统态下由操作系统代替用户完成其请求;操作系统工作完成后,由系统态到用户态。访管指令本身并不是特权指令,而是系统态指令处理机状态转换

当CPU执行用户程序时,CPU机处于用户态,在执行的过程中出现了中断时,系统转去处理与中断有关的事件,这时CPU由用户态转换成系统态,处理完中断后,返回断点继续执行用户程序,这时CPU由系统态转换成用户态。右图是UNIX系统环境下处理机状态转换图,在UNIX系统中,把系统态称为核心态用户态转向系统态在下列情况下,由用户态转向系统态:用户程序要求操作系统的服务,系统调用;发生一次中断;在用户程序中产生了一个错误的状态;在用户程序中企图执行一条特权指令;从系统态转回用户态用一条指令实现,这条指令就是访管指令(或称陷阱指令)。3.系统调用系统调用(SYSTEMCALL),也称程序接口是操作系统提供给编程人员的唯一接口,用户在程序中使用系统调用请求操作系统的服务。例如,在程序中要求显示某个子目录,这时就不能让正在运行的程序退出,然后发出“DIR”命令。这就要求在程序中能直接使用“DIR”命令,这种直接使用操作系统命令的功能称为系统调用。3.系统调用编程人员利用系统调用,在源程序一级动态请求和释放系统资源,调用系统中已有的系统功能来完成那些与机器硬件部分相关的工作以及控制程序的执行速度等。因此,系统调用像一个黑箱子那样,对用户屏蔽了操作系统的具体动作而只提供有关的功能。3.系统调用系统调用的定义允许用户在程序中调用操作系统所提供的一些子功能是特殊的功能调用,由特殊的机器指令实现通过访管指令或软中断方式中断现行程序,转去执行相应的子程序,完成特定的系统功能系统调用程序是一个低级过程,只能由汇编语言直接访问,直接调用。系统调用就是由操作系统代替用户完成某些特定任务的子过程。因此,扩充了机器指令,增加了系统功能,方便了用户使用。系统调用举例程序中:open打开文件

creat创建文件

exit进程终止(程序序结束)

close关闭文件3.系统调用系统调用是通过访管指令实现的在程序中,如果希望请求操作系统的服务(例,打开一个文件,显示某个目录的内容等),就要执行一条访管指令(trap、int),系统处理这个中断,即为用户提供相应的服务(或者称响应用户的请求)。PDP-11系统计算机的UNIX系统:TRAPN微机windows95/98/NT,MS-DOS:INTNN:为地址码注意:在汇编程序中是显式地使用访管中断命令,trap、INT。而在高级语言中(C语言)是隐式使用访管指令。系统调用的类型凡是涉及操作系统核心管理资源的操作必须由系统调用实现。系统调用的类型有:设备管理类文件管理类:如open()、close()进程控制类:如fork()、wait()进程通信类存储管理类维护管理类不同的操作系统提供不同的系统调用。通常,每个系统都有几十到几百条系统调用系统调用越多,功能就越强,使用更加灵活系统调用的实现不同的操作系统,系统调用实现的具体方法有所不同,但其实质的特点是相同的:每个系统调用对应一个系统调用号;每个系统调用有一个对应的执行程序段;每个系统调用要求一定数量的输入参数和返回值;整个系统有一个系统调用执行程序入口地址表;系统调用的实现在陷入中断发生时,从用户态->核心态。这一转换在发生访管中断时由硬件自动实现。系统调用语句本身是硬件提供的(机器指令),但其所调用的功能是操作系统提供的。每种机器的机器指令集中都有一条系统调用指令系统调用的实现图2.7系统调用的处理过程系统调用的实现使用步骤系统调用所需参数及其首地址送到规定的通用寄存器设置一条调用指令(访管指令或软中断指令)执行过程保护用户程序的现场执行相应功能:根据系统调用提供的功能号,访问系统功能入口地址表,得到相应功能的人口地址,然后转去执行返回处理:在系统调用处理结束之后,还要恢复处理器现场。在操作系统中,处理器的现场一般被保护在特定的内存区或寄存器中系统调用的实现参数传递目的:实现用户程序和系统程序间的参数传递常用实现方法:由陷入指令自带参数:陷入指令的长度有限的,且还要携带系统调用功能号,只能自带有限的参数通过有关通用寄存器来传递参数:这些寄存器应是系统程序和用户程序都能访问,由于寄存器长度较短,无法传递较多的参数更为常见的是在内存中开辟专用堆栈区来传递参数UNIX系统调用实现UNIX系统调用的使用

在UNIX系统中系统调用是自陷的一种。例如,某用户程序要求打开一个文件:汇编语言程序中:trap5C语言程序中:open(“文件路径名,mode)UNIX系统调用实现自陷指令(trap)trap处理程序是UNIX系统的自陷处理程序,负责处理所有的自陷(来自处理机内部的中断),其中包括系统调用的处理。系统调用的处理过程:把要求的参数传送到指

温馨提示

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

评论

0/150

提交评论