1第2章操作系统用户界面2.1简介2.2一般用户的输入输出界面2.3命令控制界面2.4Linux与Windows的命令控制界面2.5系统调用2.6Linux和Windows的系统调用22.1简介用户界面是负责用户与操作系统之间的交互用户通过界面向计算机系统提供服务需求计算机通过用户界面向用户提供用户所需要的服务计算机系统用户分类使用和管理计算机应用程序的用户程序开发人员用户界面的类别命令接口系统调用32.2一般用户的输入输出界面2.2.1作业的定义一般编程过程概念功能设计结构设计建档详细设计编辑输入输出执行链接编译调试需求分析分析一般编程过程编辑输入人工完成计算机完成4作业的概念作业:一个作业是指在一次应用业务处理过程中,从输入开始到输出结束,用户要求计算机所做的有关该次业务处理的全部工作。作业是用户向计算机提交一项工作的基本单位作业步:通常一个作业又可分为若干个顺序处理的步骤。作业步就是在一个作业处理的过程中计算机所做的相对独立的工作5典型的作业控制过程:“编译”、“连接装配”、“运行”6作业步之间有一定的关联的,其关联关系:一个作业中的各作业步必须是顺序执行的前一个作业步的输出是下一个作业步的输入一个作业步能否正确执行,依赖于前一个作业步是否成功地完成72.2.2作业组织从系统角度看(作业的组织形式)作业:作业由程序、数据和作业说明书组成。程序和数据:完成用户所要求的业务处理工作,作业说明书:则体现用户的控制意图。作业说明书在系统中生成一个作业控制块(JCB)作业说明书内容包括作业基本情况描述作业控制描述作业资源要求描述8作业说明书内容9作业说明书方式主要用在批处理系统中并且各个计算机厂家都对自己的系统定义有自己的作业在作业说明书的格式和内容在微机和工作站中人们常常用批处理命令文件或SHELL程序方式编写作业说明书。102.2.3一般用户的输入输出方式输入输出方式有:1.联机输入输出方式2.脱机输入输出方式3.直接耦合方式4.SPOOLING系统5.网络联机方式111.联机输入输出方式用户和系统通过交互会话来输入作业外围设备直接和主机连接例如:键盘、鼠标…122.脱机输入输出方式脱机输入方式(预输入方式)利用低档个人计算机作为外围处理机进行处理。脱机输入解决了快速输入输出的问题,提高了资源利用率,但是要以牺牲低档机为代价。还需要用户干预脱机输入输出方式是为了解决单台设备联机输入时的CPU浪费问题133.直接耦合方式把主机和外围机通过一个公用的大容量的外存直接耦合起来慢速的输入输出过程由外围低档机管理公用存储器中的大量数据的高速读写由主机完成省去了在脱机输入中的那种依靠人工干预来传递后援存储器的过程144.SPOOLING系统SPOOLING系统(假脱机操作)SimultaneousPeripheralOperationOnLine它使用直接存取的大容量磁盘作为缓冲,将一个可共享的磁盘空间改造成若干个输入设备和输出设备,并使得I/O设备和CPU并行操作。(在联机情况下实现的同时外围操作)SPOOLING系统的组成输入井和输出井输入缓冲区和输出缓冲区输入进程和输出进程(输入管理模块、输出管理模块)15输入管理模块输入装置输入装置通道输入井输出井通道输出装置输出装置通道输出管理模块主机系统外存SPOOLING系统16SPOOLING系统输入过程:系统的输入程序包含两个独立的过程,一个过程负责从外部设备把信息读入缓冲区;另一个过程是写过程,负责把缓冲区中的信息送到外存输入井中。在系统输入模块收到作业输入请求后,输入管理模块中的读过程负责将信息从输入装置读入缓冲区。当缓冲区满时,由写过程将信息从缓冲区写到外存的输入井中17SPOOLING系统的工作原理当用户提交一批作业后,操作员键入“预输入命令”启动预输入程序工作,预输入程序启动输入机读出作业信息,并把它们存放到输入井中。当主存储器可以装入作业时就从输入井中选择若干作业装入主存储器。被装入主存储器中的作业在执行中可请求井管理程序从输出井读需处理的信息或把处理结果写到输出井中。缓输出程序利用处理器空闲时间把作业执行结果在打印机上输出18SPOOLING系统的特点提高了I/O速度将独占设备改造为共享设备实现了虚拟设备功能195.网络联机方式用户需要把在计算机网络中某一台主机上输入的信息传送到同一网中另一台主机上就行操作执行,构成了网络输入方式202.3命令控制界面操作系统的命令控制界面就是用来组织和控制作业运行的用户使用操作命令进行作业控制的方式有脱机作业控制方式:也称为作业自动控制方式联机作业控制方式:也称为作业直接控制方式21脱机控制脱机控制:就是用户把他对作业执行的意图,连同程序和数据,甚至包括发生故障时的处理措施也一起输入到计算机系统中,由系统根据该意图来控制作业执行的全过程在执行过程中用户无法干涉,只能等待作业正常执行结束或出错停止后查看执行结果或出错信息,以便修改作业内容或控制过程。脱机控制方式利用作业控制语言来编写表示用户控制意图的作业控制程序,也就是作业说明书。分类作业控制卡方式作业说明书方式22联机作业控制联机作业控制:通过人-机会话方式控制作业运行。用户登录(控制台登录或远程登录),由系统自动执行一些命令脚本后,并进入shell(字符或GUI界面),接受用户的命令和操作,最后退出系统。分类联机命令语言会话程序设计语言23联机命令语言命令语言:用户从控制台终端设备向计算机发出的命令集合称为命令语言是一种人-机会话的语言格式一般为形式:Commandarg1arg2…CR命令类型系统访问命令编辑和文件管理命令编译和执行命令询问命令:显示系统时间、当前时间、所站用时间..系统管理员命令操作方式转换命令:系统允许联机操作和脱机操作相互转换资源申请命令24会话程序设计语言会话程序设计语言:是为用户在终端上编写的一种程序设计语言也称为会话语言:用户与系统相互作用会话程序设计语言特点:通俗易懂,结构简单。252.4Linux与Windows的命令控制界面现代操作系统的命令控制界面都在朝着多媒体的拟人化方向发展Linux与Windows就是典型代表262.4.1Linux的命令控制界面图2.5RedhatLinux9.0的窗口界面示例272.4.2Windows的命令控制界面282.5系统调用系统功能调用简称系统调用,是用户与操作系统在程序级上的接口系统调用:用户所需要的功能,有些是比较复杂的,硬件不能直接提供,只能通过软件的程序来实现。而有些功能可由硬件完成,并设有相应的指令,如启动外设工作,就有用于输入/输出的硬指令。但配置了操作系统后,对系统资源的分配、控制不能由用户干预,而必须由操作系统统一管理。所以,对于这样一类功能,也需有相应的控制程序来实现29系统调用功能分类1.设备管理:这类系统调用被用来请求和释放设备,以及启动设备操作等。2.文件管理:这类系统调用包括创建、删除文件,读、写文件操作以及移动文件指针等。3.进程控制:当多个用户程序在系统内执行时引出了一个新的概念,称为进程。4.进程通信:进程间传递消息或信号的系统调用。5.存储管理:内存块的申请、释放,获取作业占用内存块的首址、大小等。6.线程管理:包括线程的创建、调度、执行、撤销等30管态和算态管态和算态在计算机系统中存在两类不同的程序:一类是用户程序,一类是系统程序。用户工作的状态称为算态或用户态。系统程序工作的状态称为管态或系统态。31特权指令与访管指令特权指令与访管指令只允许管态下使用的指令,称之为特权指令。常用的特权指令有:有关对外设使用的指令。启动外设指令、测试外设工作的状态和控制外设动作的指令。有关访问程序状态的指令存取特殊寄存器指令其它指令32特权指令与访管指令用户程序在算态下运行,只能使用算态指令,而操作系统是系统程序,在管态下运行,它既可使用算态指令,也能使用特权指令,而用户要使用外设,必须在管态下完成,所以就引入了访管指令,其主要功能为:实现从算态到管态的改变在管态下由操作系统代替用户完成其请求操作系统工作完成后由管态返回到算态。访管指令本身不是特权指令,而是管态指令,执行访管指令后就产生访管中断,使微处理机转入管态工作方式,在管态下由中断处理程序完成用户的请求,中断完成后再返回至用户态工作。33系统调用的处理过程图2.7系统调用的处理过程34本章小结2.1简介2.2一般用户的输入输出界面2.3命令控制界面2.4Linux与Windows的命令控制界面2.5系统调用2.6Linux和Windows的系统调用35课堂练习1.在一个以批处理为主系统中,为了保证系统的吞吐率,总是要力争缩短用户作业的()A.周转时间B.运行时间C.提交时间D.完成时间2.作业在系统中存在与否的唯一标志是()A.源程序B.作业说明书C.作业控制块D.目的程序3.在批处理系统中,周转时间是()A.作业运行程序B.作业等待时间和运行时间之和C.作业的相对等待时间D.作业被调度进入内存到运行完毕的时间ACB36课后练习P36:1、4、7、8