第二章 操作系统的用户界面1

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第二章操作系统用户接口2.1作业的基本概念2.2作业的建立2.3用户接口学习目标:1.掌握:作业的定义、组成、建立;系统调用的实现过程。2.理解:作业的输入方式,控制方式,OS为用户提供的接口。3.了解:系统调用与一般用户程序、库函数、实用程序的区别。学习要点:OS为用户提供了三种接口:命令接口、程序接口和图形接口。从操作命令控制接口出发,弄清楚什么是作业和作业的建立;接着掌握系统调用的实现过程。2.1作业的基本概念返回1.作业的定义2.作业的组成1.作业的定义作业:是要求计算机系统按指定步骤对应用程序进行处理并得到计算结果的加工工作。在一次应用业务处理过程中,从输入开始到输出结束,用户要求计算机所做的有关该次业务处理的全部工作。(用户的观点)作业步:对应用程序进行处理的步骤。作业由不同的顺序相连的作业步组成作业步是在一个作业的处理过程中,计算机所做的相对独立的工作编辑2.作业的组成程序和数据:完成用户所要求的业务处理工作。每个作业至少包含一个程序作业说明书:体现用户的控制意图。系统通过作业说明书控制文件形式的程序和数据,使之执行和操作。作业基本情况:用户名、作业名、编程语言、最大处理时间等作业控制描述:作业控制方式、作业步的操作顺序、作业执行出错处理作业资源要求描述:处理时间、优先级、内存空间、外设类型和数量等作业由程序、数据和作业说明书三部分组成。(系统的观点)2.2作业的建立1.作业的建立过程2.作业控制块JCB(JCB,JobControlBlock)3.作业输入输出方式4.作业控制方式返回1.作业的建立过程(批处理系统)(1)作业的输入指将作业的程序、数据和作业说明书从输入设备输入到外存。(2)作业控制块的建立作业控制块是作业说明书在系统中生成的一张表格。操作系统通过该表了解到作业的要求,并分配资源和控制作业中程序和数据的编译、链接、装入和执行等。当一个作业的全部程序和数据输入到外存并且在系统中建立了相应的作业控制块之后,一个作业就建立了。2.作业控制块JCB(JobControlBlock)作业名估计执行时间优先数(用于调度)作业说明书文件名程序语言类型(表明需调用的程序)资源要求:如内存、外设要求(静态/动态申请)作业状态:提交/后备/执行/就绪/等待/完成作业在外存中的存储地址(以便迅速调入内存)作业控制块和作业之间是一一对应关系包含运行过程中系统对作业进行管理的必要信息:这里所介绍的是批处理系统的作业建立过程,严格来说,在分时系统中,从系统角度来看甚至没有作业的概念。(2版的P23,3版的课后练习)“作业”的补充说明:批处理系统中,作业是抢占内存的基本单位。也就是说,批处理系统以作业为单位进行调度。作业的概念一般用于早期批处理系统和现在的大型机、巨型机系统中,对于广为流行的微机和工作站系统,一般不太使用作业的概念。问答题为什么分时系统没有作业的概念?内存内存程序数据分时系统CPU作业1作业2...外存CPU批处理系统因为在分时系统中,每个用户得到的时间片有限,用户的程序和数据信息直接输入到内存工作区中和其他程序一起抢占系统资源投入执行,而不必进入外存输入井等待作业调度程序选择。因此,分时系统没有作业控制表,也没有作业调度程序,从而没有作业的概念。3.一般用户的输入输出方式联机:通过交互会话来输入输出作业。由主机直接控制I/O;作业处理与I/O不能并行(CPU利用率低)。脱机(又称为预输入方式):通过后援存储器(磁带/磁盘)在外围处理机与主机之间交换作业。提高了主机的利用率,但需人工干预。直接耦合:保留脱机输入输出快速输入的优点,又没有脱机输入输出方式的人工干预的缺点。SPOOLING(SimultaneouslyPeripheralOperationOnLine,外围设备同时联机操作):多台外围设备通过通道/DMA器件和主机与外存连接起来。网络联机:用户把在计算机网络中某一台主机上输入的信息传送到网中另一台主机上进行操作或执行。脱机(预输入方式):利用低档个人计算机作为外围处理机进行输入处理。脱机输入输出方式解决了联机输入输出时速度太慢的问题,提高了主机的资源利用率,但以牺牲低档机为代价的。而且,脱机输入需要用户进行干预或进行一定的操作,例如移动存储介质和连接后援存储器等。外围处理机存储器高速外设主机拿到作业人工干预联机方式返回直接耦合:通过共享外存在外围处理机与主机之间交换作业。既提高了主机的利用率,又无需人工干预。直接耦合方式中,慢速的输入输出过程仍由外围低档机自己管理,而对公用存储器中的大量数据的高速读写则由主机完成。直接耦合方式需要一个大容量的公用存储器,而且需要把多台低档机和主机、公用存储器固定连接起来。这种输入方式的成本较高,一般只适用于大型机或巨型机系统。返回外围设备同时联机操作(SPOOLING,SimultaneouslyPeripheralOperationOnLine):多台外围设备通过通道或DMA器件和主机与外存连接起来。作业的输入输出过程由主机中的操作系统控制。操作系统的输入程序包含两个独立的过程:读过程:负责从外部设备把信息读入缓冲区;写过程:负责把缓冲区的信息送到外存输入井中。SPOOLING系统工作原理1.在系统输入模块收到作业输入请求信号后,输入管理模块中的读过程负责将信息从输入装置读入缓冲区。2.当缓冲区满时,由写过程将信息从缓冲区写到外存输入井中。3.读过程和写过程反复循环,直到一个作业输入完毕。当读过程读到一个硬件结束标志之后,系统再次驱动写过程把最后一批信息写入外存,并调用中断处理程序结束该次输入。4.系统为该作业建立作业控制块JCB,从而使输入井中的作业进入作业等待队列,等待作业调度程序选中后进入内存。网络:网络输入方式以上述几种输入方式为基础。在网络上一台机器进行作业输入/输出,在另一台主机上运行。当用户需要把在计算机网络中某一台主机上输入的信息传送到同一网中另一台主机上进行操作或执行时,就构成了网络输入方式。4.作业控制方式脱机作业控制:用户输入作业说明书,整个作业的运行由系统控制。联机作业控制:通过人-机会话方式控制作业运行。用户登录(控制台登录或远程登录),由系统自动执行一些命令脚本后,并进入shell(字符或GUI界面),接受用户的命令和操作,最后退出系统。2.3用户接口1.用户接口的定义2.操作系统提供的用户接口3.系统调用返回1.用户接口的定义什么是用户接口(界面):是操作系统提供给用户与计算机打交道的外部机制。用户通过用户接口向计算机提交服务请求计算机通过用户接口向用户提供所需要的服务计算机系统的三类用户普通用户:只是使用计算机的应用服务管理员用户:负责计算机系统的正常与安全运行程序员用户:编程、开发新的应用程序针对不同的用户,操作系统提供不同的用户接口2.操作系统提供的用户接口(1)命令控制接口(操作接口——一般用户)组织工作流程、控制程序的运行。操作命令图形界面(2)系统功能调用(程序接口——程序员)用户程序在其运行过程中,使用系统功能调用来请求操作系统的服务。命令控制接口:用户利用这些操作命令来组织和控制作业的执行或管理计算机系统使用操作命令进行作业控制的主要方式有两种。脱机方式:用户将作业的执行顺序和出错处理方法一并以作业控制说明书的方式或命令文件方式提交给系统,由系统按照作业说明书或命令文件中所规定的顺序控制作业执行。执行过程中,用户无法干涉,只能等待作业正常执行结束或出错停止之后查看执行结果或出错信息,以便修改作业内容或控制过程联机方式:用户使用系统提供的操作命令和系统会话,交互地控制程序执行和管理计算机系统。工作过程:用户在系统给出的提示符下敲入特定的命令,系统在执行完该命令后向用户报告执行结果;然后,用户决定下一步的操作。如此反复,直到作业执行结束。联机控制方式的命令可大致分为以下几类:(1)环境设置。(2)执行权限管理。(3)系统管理(一般为系统管理员使用)。(4)文件管理。(5)编辑、编译、链接装配和执行。(6)通信。(7)资源要求。3.系统调用(SYSTEMCALL)(1)系统调用及其功能(2)系统调用的实现过程(3)系统调用与普通过程调用的异同点系统调用是操作系统提供给软件开发人员的唯一接口。系统调用像一个黑箱子那样,对用户屏蔽了操作系统的具体动作而只提供有关的系统功能供开发人员使用。OS核心中都有一组实现系统功能的过程(子程序),系统调用就是对上述过程的调用。(1)系统调用及其功能每个操作系统提供几十到上百种系统调用,包括:外存文件与目录的读写,各种I/O设备的使用,在程序中启动另一个程序,查询和统计系统资源使用情况等等。系统调用的功能1)设备管理:请求和释放设备,启动设备操作等2)文件管理:创建、删除文件,读、写文件操作,移动文件指针等3)进程控制:创建、执行、撤销进程等控制4)进程通信:进程间传递消息或信号的系统调用5)存储管理:内存块的申请、释放,获取作业占用内存块的首址、大小等6)系统管理:设置和读取时间、读取用户和主机标识等(2)系统调用的实现过程为了提供系统调用功能,操作系统事先编制好的实现这些功能的子程序或过程。由于这些程序或过程是操作系统程序模块的一部分,不能直接被用户程序调用。陷阱指令(或称陷入指令,访管指令):指由于系统调用引起处理机中断的指令。陷阱(trap)处理机构:是控制系统调用服务的中断处理机构,以保证系统调用时操作系统程序不被用户程序破坏。系统调用的处理过程在进入系统调用处理之前,陷阱处理机构需保存处理机现场在系统调用处理结束之后,陷阱处理机构还要恢复处理机现场在操作系统中,处理机的现场一般被保护在特定的内存区或寄存器中。处理机的执行状态用户态(目态、普态):处理机在用户程序中执行称为用户态。此状态只能执行非特权指令,如果在目态下用户执行了特态指令,则产生中断,由操作系统得到控制权,而特权指令被停止。系统态(管态、特态):处理机在系统程序中执行称为系统态。此状态下能执行指令全集(包括特权,非特权指令),具有改变CPU状态的能力,操作系统在管态下运行。在系统发生访管中断(陷阱中断)时,为了不让用户程序直接访问系统程序,反映处理机硬件状态的处理机状态字PSW中的相应位要从目态转换为管态。这一转换在发生访管中断时由硬件自动实现。CPU状态的转换:目态管态:其转换的唯一途径是通过中断。管态目态:可用设置PSW(修改程序状态字)可实现。(3)系统调用与普通过程调用的异同点相同点改变指令流程重复执行和公用改变指令流程后需要返回原处不同点系统调用是动态调用,而CALL调用方式是静态调用;执行状态不同进入方式不同与进程调度的关系不同:嵌套或递归调用1.系统调用是动态调用,而CALL调用方式是静态调用;系统调用是动态调用,程序中不包含被调用代码好处:(1)用户程序长度缩短(2)当OS升级时,调用方不必改变系统调用方式的调用地址和返回地址都是不固定的:系统调用指令中不包含调用地址,只包含功能号;系统调用返回指令中也不包含返回地址,通过栈保存和弹出返回地址。CALL调用方式是静态调用:被调用代码与调用代码在同一程序之内。CALL调用方式,其调用地址是固定的,包含在调用语句中。2.执行状态不同调用和返回经历了不同的系统状态:核心和应用程序的代码分别运行在CPU的不同的状态下(系统态/管态/特态和用户态/目态/普态)。3.进入方式不同利用int或trap指令进行系统调用;利用call或jmp指令进入普通的过程调用;4.与进程调度的关系不同采用抢先式调度的系统,在系统调用返回时,要进行重新调度的检查——是否有更高优先级的任务就绪(创建或唤醒)。5.嵌套或递归调用对系统调用,一般不允许在同一个进程中发生嵌套或递归。小结作业的定义与组成作业的输入方式作业组织和控制:脱机、联机(命令行)系统调用:实现过程,与普通过程调用的区别、与高级语言函数库的区别第二章课后作业简述系统调用的

1 / 36
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功