第二章操作系统用户界面
- 格式:doc
- 大小:102.50 KB
- 文档页数:6
第二章 操作系统用户界面 重点和难点: 1 作业的基本概念和建立 2 用户接口的概念和类型 3 系统调用的概念和过程 2.1 作业的基本概念 作业的定义: 从用户角度:可以从逻辑上抽象的描述作业的定义 从系统的角度:可以定义出作业的组织形式 1 作业的概念 •作业 (从用户的角度):书上的描述为:在业务处理中,用户所要求计算机所 作的有关该次业务处理的全部工作)。即:用户提交给计算机进行加工的一个任务。 作业:(从系统的角度):作业的概念比程序更广。由用户程序、数据和作业说明书三部分组成。系统通过作业说明书控制程序和数据,使计算机执行操作。 •作业步:通常一个作业又可分为若干个顺序处理的步骤。(例如:一个高级语言不写的
用户作业,在计算机上执行要分三步:第一步是编译;第二步是:将编译后的主程序中所用到的库程序和子程序都连接成一个完整的程序;第三步是运行装配好的程序。) 2作业、作业步、进程之间的关系 用户是指计算机要为他工作的人,而作业是用户要求计算机给以计算机或处理的一个相对独立的任务。一个作业一般可以分成几个必须顺序处理的步骤(作业步),而每一个作业步又可细分为若干个作业步任务(进程),而一个进程又可能要执行多个线程。 •作业的组织:程序、数据和作业说明书。程序和数据完成用户所要求的业务处理工作,作业说明书则体现用户的控制意图。 •作业说明书的主要内容:P22页 1 作业基本情况的描述(用户名、作业名、使用的语言等) 2 作业控制描述(控制方式、出错处理)
3 作业资源要求描述(内存空间、处理机优先级等)3 作业的基本类型 •主要根据调度和控制的需要进行分类。 1 从调度的角度,可分为: a 计算型作业指任务中包含大量的计算,而其I/O较少的作业,如通常的科学计算; b I/O型作业,要求少量的计算而需大量I/O的作业,如通常的事务处理。 2 从控制的角度,可分为: a 脱机作业(批量型作业):在整个作业的运行过程中,只需根据作业说明书中的说明对作业进行控制,脱机作业通常是在批处理操作环境下运行,故也称为批量型作业; b 联机作业(终端型作业):通常是用键盘命令直接控制作业的运行,联机作业通常在分时操作环境下运行,故也称为终端型作业。4 作业的状态及其转换 •一个作业从进入系统到运行结束,一般需要经历“收容”、“执行”和“完成”3个阶段,相应地,我们说这个作业处于后备状态、执行状态(运行状态)、完成状态 •1 提交状态 •2 后备状态:在作业的收容阶段,操作员将用户提交的作业通过脱机输入或者调用SPOOLing系统输入进程,将作业输入到直接存取的后援存储器。然后由“作业注册”程序负责为进入系统的作业建立作业控制块,并把它加入到后备作业中,等待作业调度程序调度,这时作业处于后备状态。 •3 执行状态:一个作业被作业调度程序选中并分配了必要的资源,建立了一组相应的进程后,这个作业就进入了运行状态。处于执行状态的作业获取了在处理机上运行的资格,他可以由进程调度程序选中而在处理机上运行,也可以等待进程调度。 •4 完成状态:当作业正常运行结束或发生错误而终止时,作业进入完成阶段。此时,由系统的“终止作业”程序将其作业控制块从线形作业队列中除去,并负责回收资源,然后将作业的运行结果信息编入输出文件;再用有关设备输出。
2.2 作业的建立•一个作业的建立包括两个子过程:作业的输入(把作业所包含的
全部程序和数据输入到存储设备上)、作业控制块的建立(还要由作业注册程序在系统中为该作业申请建立起一个相应的作业控制块JCB,作业控制块和作业具有一一对应的关系、JCB是作业存在的唯一标志)。 JCB包含了系统对作业进行管理所必须的信息,有作业名、作业的估计运行时间、优先数、作业的建立时间、内存要求、外设要求、作业状态等等。JCB是作业存在的唯一标志。 •作业的输入方式: 1 联机输入方式:联机输入方式大多用在交互系统中,用户和系统通过交互会话来输入作业。在联机输入方式中,外围设备直接和主机相连接。一台主机可以连接一台或多台外围设备。(在单台设备和主机相连接进行作业输入时,由于外围设备的输入输出速度远远低于CPU处理速度,有可能造成CPU资源的浪费。) 2 脱机输入方式(预输入方式):为了解决单台设备联机输入时的CPU浪费问题而使用的一种输入方式。利用低档个人计算机作为外围处理机进行输入。用户把作业输入到后援存储器、比如磁盘或磁带上,然后用户把装有输入输出的后援存储器那倒主机的高速外围设备上和主机相连接) 3 直接耦合方式 把主机和外围低档机通过一个大容量外存直接耦合起来,从而省去了在脱机输入中那种依靠人工干预来传递后援存储器的过程。在直接耦合中,慢速的输入输出过程仍由外围低档机自己管理,而公用存储器中大量数据的高速读写由主机完成。 4 网络输入方式:用户需要把在计算机网络中某一台主机上输入的信息传送到同一网中的另一台计算机上进行操作和执行,就构成了网络输入方式。(不同计算机之间的通信) 5 SPOOLING系统: 早期的计算机只能由一个用户独占。后来随着分是系统的出现,就允许多个用户共享一台主机。SPOOLing技术就是用于将一台独占设备改成共享设备的一种技术。SPOOLING系统:(假脱机操作) 在第一章中,介绍了脱机输入、输出技术。这是为了缓和CPU的高速性和I/O设备低速性的矛盾而引入的。脱机技术利用了专门的外围控制机将低速I/O设备上的数据传送到高速磁盘上,或者相反,将高速磁盘上的数据传送到低速的I/O设备上。 事实上,当系统出现了多道程序后,完全可以利用其中的一道程序,来模拟脱机输入时的外围控制机的功能,把低速的I/O设备上的数据传送到高速磁盘上;再用另一道程序来模拟脱机输入时外围控制机的功能,把数据从磁盘传送到低速输出设备上。这样就可以在主机的控制下实现脱机的输入输出功能。此时的外围设备的操作和CPU对数据的处理是同时进行的。把这种联机情况下实现的同时外围操作成为假脱机操作。Simultaneous Peripheral Operation On Line 它使用直接存取的大容量磁盘作为缓冲,将一个可共享的磁盘空间改造成若干个输入设备和输出设备,并使得I/O设备和CPU并行操作。 2 SPOOLING 系统由“预输入”程序、实现输入井读和输出井写的“井管理”程序、“缓输出”程序三部分程序组成。 •输入井和输出井:是在磁盘上开辟的两个大存储空间。输入井是模拟脱机输入时的磁盘,用于收容I/O设备输入的数据。输出井是模拟脱机输出时的磁盘,用于收容用户程序的输出数据。 •输入缓冲区和输出缓冲区:在内存中开辟的两个缓冲区。前者用于暂存由输入设备送来的数据,以后再送到输入井;后者用于暂存从输出井送来的数据,以后再传送给输出设备。 Spooling输入过程:系统输入模块收到作业输入请求信号后,输入管理模块中的读过程负责将信息从输入装置读入缓冲区。当缓冲区满时,由写过程将信息从缓冲区写到外输入井中。读过程和写过程反复循环,直到一个作业输入完毕。当读过程度到一个硬件结束标之后,系统再次驱动写过程把最后一批信息写入外存并调用中断处理程序结束该次输入。然后,系统为该作业建立作业控制块JCB,从而使输入井中的作业进入作业等待队列,等待作业调度程序选中后进入内存。 •3 工作原理:当作业提交一批作业后,操作员键入“预输入命令”启动预输入程序工作,预输入程序启动输入机读出作业信息,并把它们存放到输入井中。当主存储器可以装入作业时就从输入井中选择若干作业装入主存储器。被装入主存储器中的作业在执行中可请求井管理程序从输出井读需处理的信息或把处理结果写到输出井中。缓输出程序利用处理器空闲时间把作业执行结果在打印机上输出。 输入管理模块,将用户要求的数据从输入机,通过输入缓冲区再送到输入井,当CPU需要输入数据时,直接从输入井读入内存,输出管理模块把用户要求输出的数据,先从内存送到输出井,待输出设备空闲时再将输出井中的数据,经过输出缓冲区送到输出设备上。 •SPOOLING系统的特点: 1 提高了I/O速度(对数据进行的I/O操作,已从对低速I/O设备进行I/O操作,演变为对输入井或输出井中数据的存取,提高了I/O速度,缓和CPU与低速I/O设备之间速度不匹配的矛盾。) 2 将独占设备改造为共享设备 3.实现了虚拟设备功能(实现了将独占设备变换为若干台对应的逻辑设备的功能)
2.3 命令控制界面接口•操作系统是用户和计算机之间的接口,用户通过操作系统的帮助可以快速、有效和安全可靠地使用计算机各类资源。通常操作系统提供两类接口: 程序一级的接口(程序接口) 作业一级的接口(联机用户接口和脱机用户接口) 程序一级的接口:是由一组系统调用命令组成。这是为程序员通过汇编程序与操作系统打交道提供的,程序员可以在汇编程序中调用系统调用来完成对外部设备的请求,进行文件操作,分配合回收内存等各种控制要求。 1 程序接口(系统调用) 程序接口是OS专门为用户程序设置的,也是用户程序取得OS服务的唯一途径,程序接口通常由各种各样的系统调用所组成。 •系统调用的基本概念:是OS提供给编程人员的唯一接口 •系统调用是由操作系统中的一段程序来完成特定功能的,属于一种特殊的过程调用。有的计算机系统中,把它称为广义指令。 •调用的方式:采用访管方式来实现。通过产生一个访管中断,使处理机由目态(用户态)转为管态(系统态)。(当中央处理器处于目态时不允许执行特权指令;而处于管态时可这些包括特权指令在内的一切机器指令) •系统调用与一般过程调用的主要区别: 系统调用本质上一种过程调用,但它是一种特殊的过程调用,主要区别如下: ①运行状态不同:一般的过程调用,其调用和被调用过程或者都是子程序,或者都是系统程序,故运行在同一系统状态下:系统态或用户态。系统调用的调用过程是用户程序,它运行在用户态;其被调用过程是系统过程,运行在系统态下。 ②进入的方式不同:一般过程调用可以直接通过过程调用语句将控制转移到被调用的过程;而执行系统调用时,由于调用和被调用过程处于不同的系统状态,必须通过访管中断进入。 ③代码层次不同:一般的过程调用中的被调用程序是用户级程序,而系统调用是操作系统中的代码程序,是系统级程序。
•系统调用的实现过程: 用户在源程序中使用系统调用,给出系统调用名和函数后,即产生一条相应的陷入指令,通过陷入处理机制调用服务,引起处理机中断,然后保护处理机现场,取系统调用功能号并寻找子程序入口,通过入口地址表来调用系统子程序。执行完毕后,退出中断,返回到用户程序的断点,恢复现场,继续执行用户程序。2.作业控制一级的接口: 联机用户接口:(交互式用户接口)指用户通过控制台或终端,采用人—机会话的方式,直接控制作业的运行。由一组键盘命令组成。用户通过控制台键入操作命令,向系统提出请求。该操作命令由命令解释系统进行解释执行,完成指定的操作。 联机命令接口由两种方式