《第二章 操作系统用户界面.ppt》由会员分享,可在线阅读,更多相关《第二章 操作系统用户界面.ppt(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计计 算算 机机 操操 作作 系系 统统2.1简介简介2.2 命令控制接口及界面命令控制接口及界面 2.3 系统调用系统调用2.1简介用户接口是操作系统的五大功能之一,是操作系统的重要组成部分,负责用户和操作系统之间的交互。用户用户操作系统操作系统提交服务请求提交服务请求提供用户所需提供用户所需的服务的服务计算机用户的分类使用和管理计算机应用程序的用户使用和管理计算机应用程序的用户普通用户:使用计算机的应用服务普通用户:使用计算机的应用服务管理员用户:负责计算机和操作系统的正常和管理员用户:负责计算机和操作系统的正常和安全运行安全运行程序开发人员:使用操作系统所提供的编程序开发人员:使用操作系
2、统所提供的编程功能开发新的应用程序,完成用户所要程功能开发新的应用程序,完成用户所要求的服务。求的服务。不同的用户接口及界面命令控制界面:为普通用户、管理员用户命令控制界面:为普通用户、管理员用户提供的界面由一组以不同形式表现的操作提供的界面由一组以不同形式表现的操作命令组成;对两者提供的命令集也不一样命令组成;对两者提供的命令集也不一样图形界面图形界面命令行方式命令行方式系统调用:为编程人员提供的界面系统调用:为编程人员提供的界面使用使用“系统调用系统调用”就可获得操作系统的底层服就可获得操作系统的底层服务,使用或访问系统的各种软硬件资源。务,使用或访问系统的各种软硬件资源。操作系统提供的用
3、户接口操作系统提供的用户接口 用户和操作系统间的两种接口 系统调用系统调用命令控制界面命令控制界面 操操 作作 系系 统统 裸裸 机机2.2一般用户的输入输出界面一般用户的输入输出界面要了解计算机是怎样和用户交互的,就要了解计算机是怎样和用户交互的,就必须了解用户怎样使用计算机提供的必须了解用户怎样使用计算机提供的各种命令以及学会怎样把编制的应用各种命令以及学会怎样把编制的应用程序变成普通用户可以使用的命令。程序变成普通用户可以使用的命令。一般用户的输入输出方式一般用户的输入输出方式命令控制界面命令控制界面举例举例基本概念基本概念作业的定义作业的定义作业组织作业组织一般编程过程作业定义用户角度
4、:在一次应用业务处理过程中,从输入开始到输出结束,用户要求计算机所做的有关该次业务处理的全部工作称为一个作业。系统角度:作业则是一个比程序更广的概念。它由程序、数据和作业说明书组成。系统通过作业说明书控制文件形式的程序和数据,使之执行和操作。作业组织作业由三部分组成,即程序、数据和作业说明书。作业控制块(作业控制块(JCB)的表格。该表格的表格。该表格登记该作业所要求登记该作业所要求的资源情况、预计的资源情况、预计执行时间和执行优执行时间和执行优先级等。先级等。作业输入输出方式作业输入输出方式联机输入输出方式联机输入输出方式脱机输入输出方式脱机输入输出方式直接耦合方式直接耦合方式SPOOLIN
5、G(SimultaneousPeripheralOperationsOn-Line)系统,外围设备同时系统,外围设备同时联机操作联机操作网络联机方式网络联机方式联机输入方式联机输入方式外围设备直接和主机相连接,一台主机可以外围设备直接和主机相连接,一台主机可以连接一台或多台外围设备。这些设备可以连接一台或多台外围设备。这些设备可以是键盘、鼠标、显示器或打印机等。是键盘、鼠标、显示器或打印机等。脱机输入方式脱机输入方式l在个人机上,用户通过联机方式把数据或程序首在个人机上,用户通过联机方式把数据或程序首先输入到后援存储器,例如磁盘或磁带上;然后,先输入到后援存储器,例如磁盘或磁带上;然后,用户把
6、装有输入数据的后援存储器拿到主机的高用户把装有输入数据的后援存储器拿到主机的高速外围设备上和主机连接,从而在较短的时间内速外围设备上和主机连接,从而在较短的时间内完成作业的输入工作。完成作业的输入工作。l脱机输入解决了快速输入输出问题,提高了主机脱机输入解决了快速输入输出问题,提高了主机的资源利用率,而且脱机输入需要用户进行干预的资源利用率,而且脱机输入需要用户进行干预或进行一定的操作,例如移动存储介质和连接后或进行一定的操作,例如移动存储介质和连接后援存储器等。另外,脱机输入输出方式存在灵活援存储器等。另外,脱机输入输出方式存在灵活性差的缺点,即遇到紧急任务需要处理时,无法性差的缺点,即遇到
7、紧急任务需要处理时,无法直接交给主机以便优先处理。直接交给主机以便优先处理。直接耦合方式直接耦合方式保留脱机输入方式的快速输入的优点保留脱机输入方式的快速输入的优点,又没有脱机又没有脱机输入方式的人工干预的缺点和具有较强灵活性的输入方式的人工干预的缺点和具有较强灵活性的输入方式是直接耦合方式。输入方式是直接耦合方式。直接耦合方式把主机和外围低档机通过一个公用直接耦合方式把主机和外围低档机通过一个公用的大容量外存直接耦合起来,从而省去了在脱机的大容量外存直接耦合起来,从而省去了在脱机输入中那种依靠人工干预来传递后援存储器的过输入中那种依靠人工干预来传递后援存储器的过程。在直接耦合方式中,慢速的输
8、入输出过程仍程。在直接耦合方式中,慢速的输入输出过程仍由外围低档机自己管理,而对公用存储器中的大由外围低档机自己管理,而对公用存储器中的大量数据的高速读写则由主机完成。量数据的高速读写则由主机完成。SPOOLING系统系统SPOOLing是SimultaneousPeripheralOperationOn-Line(即外部设备联机并行操作)的缩写,它是关于慢速字符设备如何与计算机主机交换信息的一种技术,通常称为“假脱机技术”。SPOOLing系统既不同于脱机方式,也不同于直接藕合方式,SPOOLing技术实际上是一种外围设备同时联机操作技术,又称为排队转儲技术。它在输入和输出之间增加了“输入井
9、”和“输出井”的排队转儲环节,以消除用户的“联机”等待时间。SPOOLING系统系统在系统输入模块收到作业输入请求信号后,输入管理模块中的读过程负责将信息从输入装置中读入输入井缓冲区。当缓冲区满时,由写过程将信息从缓冲区写到外存的输入井中,读过程和写过程反复循环,直到一个作业输入完毕。当读过程读到一个硬件结束标志之后,系统再次驱动写过程把最后一批信息写入外存输入井并调用中断处理程序结束该次输入。然后,系统为该作业建立作业控制块,从而使输入井中的作业进入作业等待队列,等待作业调度程序选中后进入内存运行。将一台独享打印机改造为可供多个用户共享的打印机,是应用SPOOLing技术的典型实例。具体做法
10、是:系统对于用户的打印输出,但并不真正把打印机分配给该用户进程,而是先在输出井中申请一个空闲盘块区,并将要打印的数据送入其中;然后为用户申请并填写请求打印表,将该表挂到请求打印队列上。若打印机空闲,输出程序从请求打印队首取表,将要打印的数据从输出井传送到内存缓冲区,再进行打印,直到打印队列为空。SPOOLing技术的特点:提高了I/O速度.从对低速I/O设备进行的I/O操作变为对输入井或输出井的操作,如同脱机操作一样,提高了I/O速度,缓和了CPU与低速I/O设备速度不匹配的矛盾.设备并没有分配给任何进程.在输入井或输出井中,分配给进程的是一存储区和建立一张I/O请求表.实现了虚拟设备功能.多
11、个进程同时使用一独享设备,而对每一进程而言,都认为自己独占这一设备。网络联机方式网络联机方式当用户需要把在计算机网络中某一台主机当用户需要把在计算机网络中某一台主机上输入的信息传送到同一网中另一台主机上输入的信息传送到同一网中另一台主机上进行操作或执行时,就构成了网络联机上进行操作或执行时,就构成了网络联机方式。方式。命令控制界面命令控制界面操作系统的命令控制界面就是用来组织和控制作业运行的。操作系统的命令控制界面就是用来组织和控制作业运行的。使用操作命令进行作业控制的方式有:使用操作命令进行作业控制的方式有:脱机方式脱机方式:用户将作业的执行顺序和出错处理方法一并以:用户将作业的执行顺序和出
12、错处理方法一并以作业控制说明书的方式或命令文件方式提交给系统,由系作业控制说明书的方式或命令文件方式提交给系统,由系统按照作业说明书或命令文件中所规定的顺序控制作业执统按照作业说明书或命令文件中所规定的顺序控制作业执行。执行过程中,用户无法干涉,只能等待作业正常执行行。执行过程中,用户无法干涉,只能等待作业正常执行结束或出错停止之后查看执行结果或出错信息,以便修改结束或出错停止之后查看执行结果或出错信息,以便修改作业内容或控制过程。作业内容或控制过程。联机方式联机方式:不要求用户填写作业说明书,系统只为用户提:不要求用户填写作业说明书,系统只为用户提供一组键盘或其他操作方式的命令。供一组键盘或
13、其他操作方式的命令。与脱机控制方式相比,联机控制方式的命令与脱机控制方式相比,联机控制方式的命令种类要丰富得多。这些命令可大致分为以种类要丰富得多。这些命令可大致分为以下几类下几类:(1)环境设置。环境设置。(2)执行权限管理。执行权限管理。(3)系统管理。系统管理。(4)文件管理。文件管理。(5)编辑、编译、链接装配和执行。编辑、编译、链接装配和执行。(6)通信。通信。(7)资源要求。资源要求。联机控制方式大大地方便了用户。但在某些联机控制方式大大地方便了用户。但在某些情况下,用户反复输入众多的命令也会浪情况下,用户反复输入众多的命令也会浪费不必要的时间。因此,在现代操作系统费不必要的时间。
14、因此,在现代操作系统中,大都提供批处理方式和联机控制方式。中,大都提供批处理方式和联机控制方式。这里,批处理方式既指传统的作业控制语这里,批处理方式既指传统的作业控制语言编写的作业说明书方式,也指那些把不言编写的作业说明书方式,也指那些把不同的交互命令按一定格式组合后的命令文同的交互命令按一定格式组合后的命令文件方式。件方式。举例:举例:Linux命令控制界面命令控制界面主要有主要有9类命令:类命令:系统维护及管理命令:系统维护及管理命令:date文件操作及管理命令:文件操作及管理命令:ls,find进程管理命令:进程管理命令:kill,at磁盘及设备管理命令:磁盘及设备管理命令:df,du,
15、mount用户管理命令:用户管理命令:adduser,userdel文档操作命令:文档操作命令:csplit,sort网络通信命令:网络通信命令:netstat,ifconfig程序开发命令:程序开发命令:cc,linkXwindows管理命令,管理命令,startX举例:Linux命令控制界面批处理方式(批处理方式(shell脚本)脚本)#!/bin/shechoNowinstallOURS-PXA270-EPLinuxdevelopenvironment!.#findoutthecurrentpathexportFIND_OUT_CURRENT_PATH=pwdSRC_DIR=$FIND_
16、OUT_CURRENT_PATHechocopyarm-linuxcp$SRC_DIR/arm-linux.tar.gz/usr/localcp$SRC_DIR/pxa270_linux.tar.bz2/cd/usr/localtarxzfarm-linux.tar.gzcd/tarxjfpxa270_linux.tar.bz2举例:Windows命令控制界面系统信息命令:time,date,systeminfo系统操作命令:shutdown,taskkill文件系统命令:copy,del,mkdir网络通信命令:ping,netstat,route举例:Windows命令控制界面使用批处理m
17、kdirtestechohellopause2.3系统调用系统调用系统调用是操作系统提供给编程人员的唯一接口。编程人员利用系统调用,在源程序一级动态请求和释放系统资源,调用系统中已有的系统功能来完成那些与机器硬件部分相关的工作以及控制程序的执行速度等。因此,系统调用像一个黑箱子那样,对用户屏蔽了操作系统的具体动作而只提供有关的功能。事实上,命令控制界面也是在系统调用的基础上开发而成的。为了保证操作系统程序不被用户程序破坏,一般为了保证操作系统程序不被用户程序破坏,一般操作系统都不允许用户程序访问操作系统的系统操作系统都不允许用户程序访问操作系统的系统程序和数据。程序和数据。编程人员给定了系统调
18、用名和参数之后是怎样得编程人员给定了系统调用名和参数之后是怎样得到系统服务的呢到系统服务的呢?这需要有一个类似于硬件中断处理的中断处理机这需要有一个类似于硬件中断处理的中断处理机构。当用户使用系统调用时,产生一条相应的指构。当用户使用系统调用时,产生一条相应的指令,处理机在执行到该指令时发生相应的中断,令,处理机在执行到该指令时发生相应的中断,并发出有关信号给该处理机构。该处理机构在收并发出有关信号给该处理机构。该处理机构在收到了处理机发来的信号后,启动相关的处理程序到了处理机发来的信号后,启动相关的处理程序去完成该系统调用所要求的功能。去完成该系统调用所要求的功能。Linux内核结构图2.3
19、系统调用1.系统调用的分类系统调用的分类(1)设备管理(2)文件管理(3)进程控制(4)进程通信(5)存储管理(6)线程管理系统调用(2)2.系统调用的实现要点系统调用的实现要点一.是编写系统调用处理程序;二.是设计一张系统调用入口地址表,每个入口地址都指向一个系统调用的处理程序;三.陷入处理机制需开辟现场保护区,以保存发生系统调用时的处理器现场。系统调用系统调用(3)(3)系统调用的处理过程系统调用(4)Linux系统调用Linux系统调用由两部分组成:核心函数核心函数是实现系统调用功能的(内核)代码。接口函数接口函数是提供给应用程序的API,以库函数形式存在Linux的lib.a中。系统调
20、用(5)Linux系统调用入口程序entry.sENTRY(sys-call-table).longSYMBOL-NAME(sys-ni-syscall)0.longSYMBOL-NAME(sys-exit)1.longSYMBOL-NAME(sys-fork)2.longSYMBOL-NAME(sys-read)3.longSYMBOL-NAME(sys-write)4.longSYMBOL-NAME(sys-open)5.longSYMBOL-NAME(sys-close)6.longSYMBOL-NAME(sys-vfork)190系统调用(6)Linux系统调用号就是系统调用入口表中位置序号,系统调用通过接口函数将调用号传给内核,内核转入系统调用控制程序再通过调用号位置来定位核心函数,Linux内核的陷入由0 x80(int0X80)中断实现。操作系统提供的用户接口(7)Windows支持API的的三个组件:Kernel包含了多数操作系统函数,如内存管理、进程管理;User集中了窗口管理函数,如窗口创建、撤销、移动、对话等相关函数;GDI提供画图函数、打印函数。Windows将三个组件置于动态链接库DLL中。小结操作系统为用户提供了哪些接口?它们的区别是什么?什么是系统调用?系统调用与一般用户程序有什么区别?与库函数和实用程序又有什么区别?