操作系统教程第二第章 用户接口与作业管理_第1页
操作系统教程第二第章 用户接口与作业管理_第2页
操作系统教程第二第章 用户接口与作业管理_第3页
操作系统教程第二第章 用户接口与作业管理_第4页
操作系统教程第二第章 用户接口与作业管理_第5页
已阅读5页,还剩100页未读 继续免费阅读

下载本文档

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

文档简介

第三章用户接口与作业管理1.作业级接口

操作系统为用户对作业运行全过程控制提供的功能(1)联机接口(交互式)(2)脱机接口一、用户与操作系统的接口作业级接口程序级接口系统为用户在程序一级提供有关服务而设置由一组系统调用命令组成负责管理和控制运行的程序并在这些程序与系统控制的资源和提供的服务间实现交互作用用汇编语言:在程序中直接用系统调用命令用高级语言:可在编程时使用过程调用语句2.程序级接口二、批处理系统作业处理1.作业的基本概念(1)作业

用户在一次计算过程中,或者一次事务处理过程中,要求计算机系统所做工作的总称(2)作业步

一个作业可划分成若干部分,称为一个作业步典型的作业控制过程:“编译”、“连接装配”、“运行”(3)作业流(4)典型的作业步编译连接装配运行目标程序段目标程序源程序输入数据子程序库函数动态库函数计算结果1.作业的基本概念(续1)2.批处理作业控制语言与作业说明书(1)作业控制语言用户用于描述批处理作业处理过程控制意图的一种特殊程序书写作业说明书的语言称为作业控制语言(JCL)(2)作业控制语言的类别包括:I/O命令、编译命令、操作命令以及条件命令等(3)作业说明书表达用户对作业的控制意图内容:作业的基本描述作业控制描述资源要求描述2.批处理作业控制语言与作业说明书(续)3.作业控制块与作业表(1)作业控制块(JCB:JobControlBlock)作业控制块是批处理作业存在的标志保存有系统对于作业进行管理所需要的全部信息位于磁盘区域中(2)作业控制块的内容

作业控制块中所包含的信息数量及内容因系统而异较简单的系统较复杂的系统3.作业控制块与作业表(续1)作业标标知用户名名称用户帐帐号调度信信息资源需需求作业状状态作业类类别输入井井地址址输出井井地址址进入系系统时时间开始处处理时时间作业完完成时时间作业退退出时时间资源使使用情情况作业控控制块块JCB3.作业控控制块块与作作业表表(续2)(3)作业业控制制块的的建立立当作业业开始始由输输入设设备向向磁盘盘的输输入井井传输输时系统输输入程程序为为其建建立一一个作作业控控制块块进行初初始化化初始化化的大大部分分信息息取自自作业业说明明书3.作业控控制块块与作作业表表(续3)(4)作业业控制制块的的使用用需要访访问作作业控控制块块的程程序系统输输入程程序作业调调度程程序作业控控制程程序系统输输出程程序等等3.作业控控制块块与作作业表表(续4)(5)作业业控制制块的的撤消消作业完完成后后,其其作业业控制制块由由系统统输出出程序序撤消消作业控控制块块被撤撤消后后其作作业也也不复复存在在3.作业控控制块块与作作业表表(续5)(6)作业业表每个作作业有有个作作业控控制块块所有作作业JCB构成一一个作作业表表作业表表存放放在外外存固固定区区域中中,长长度是是固定定限制了了系统统所能能同时时容纳纳的作作业数数量系统输输入程程序、、作业业调度度程序序、系系统输输出程程序都都需要要访问问作业业表因而存存在互互斥问问题JCB1JCB2……JCBi……JCBn作业表表3.作业控控制块块与作作业表表(续6)4.批处理理作业业的状状态及及转换换一个作作业从从进入入系统统到运运行结结束经历四四个不不同的的状态态:“进入”“后备”“运行”“完成”作业和和进程程的状状态转转换图图数据进入状态退出状态后备状态运行状态作业控制进程…输入设备数据源程序输出设备作业说明书输入井运行等待就绪输出井输入程序输出程序作业调度进程调度4.批处理理作业业的状状态及及转换换(续1)(1)运行行状态态的作作业三种状状态::就绪状状态执行状状态阻塞状状态4.批处理理作业业的状状态及及转换换(续2)5.作业的的建立立一个作作业建建立过过程的的两个个子过过程::作业的的输入入JCB的建立立作业控控制块块JCB和作业业:一一一对对应关关系(1)作业业的输输入将作业业程序序、数数据和和作业业说明明书从从输入入设备备(例例如键键盘))输入入到外外存,,并形形成初初始信信息作业输输入方方式联机输输入方方式脱机输输入方方式SPOOLing系统5.作业的的建立立(续1)联机输输入方方式用户和和系统统通过过交互互会话话来输输入作作业外围设设备直直接和和主机机连接接脱机输输入方方式为了解解决单单台设设备联联机输输入时时的CPU浪费问问题5.作业的的建立立(续2)(2)JCB的建立立在系统统把作作业信信息输输入到到输入入井之之后根据作作业说说明书书和有有关作作业信信息在在外存存的位位置等等建立作作业控控制表表JCBJCB包含对对作业业进行行管理理所必必须的的信息息JCB表的数数量是是一个个常数数外存输输入井井的大大小有有限只有在在获得得JCB表项和和足够够输入入井空空间后后作业才才可能能创建建成功功5.作业的的建立立(续3)6.批处理理作业业的调调度主要功功能::审查系系统能能否满满足用用户作作业的的资源源要求求只要通通过调调用相相应的的资源源管理理程序序的有有关部部分审核其其表中中是否否能满满足作作业说说明书书中的的要求求即可可按照一一定的的算法法从输输入井井中的的后备备作业业中选选取作作业调度的的关键键在选选择恰恰当的的算法法(1)调度度算法法评价价调度实实质上上是一一个策策略问问题设定的的目标标往往往是相相互冲冲突的的目标::单位时时间内内运行行尽可可能多多的作作业使处理理机尽尽可能能保持持“忙碌”使各种种I/O设备得得以充充分利利用对所有有的作作业都都是公公平合合理的的6.批处理理作业业的调调度(续1)要设计计一个个理想想的调调度算算法是是一件件十分分困难难的事事在实际际系统统中,,调度度算法法往往往折衷衷考虑虑设计调调度算算法时时应考考虑的的因素素:调度算算法应应与系系统设设计目目标保保持一一致注意系系统资资源均均衡使使用保证提提交的的作业业在截截止时时间内内完成成设法缩缩短作作业平平均周周转时时间大多数数操作作系统统都采采用比比较简简单的的调度度算法法6.批处理理作业业的调调度(续2)作业平平均周周转时时间假定某某一作作业进进入“输入井井”的时间间为Si(提交时间,,到达时间间),它被被选中执行行,得到计计算结果的的时间为Ei(完成时间间)它的周周转时间为为Ti=Ei–Si则作业平均均周转时间间为:T=())×n为被测定作作业流中的的作业数(2)调度算法法性能的衡衡量6.批处理作业业的调度(续3)平均带权周周转时间带权周转时时间W=T/r=周转时间/运行时间W=())×ri为某作业i的实际执行行时间T:衡量不同同调度算法法对同一个个作业流的的性能W:同一调度度算法对不不同作业流流的性能衡衡量6.批处理作业业的调度(续4)(3)系统进行行作业调度度的决策因因素作业到达时时间预先为作业业确定的优优先级系统可测定定的其他因因素:作业所需的的CPU时间C存储要求M打印输出的的行数L其他的资源源要求6.批处理作业业的调度(续5)(4)常见的批批处理作业业调度算法法先来先服务务算法(FCFS:FirstComeFirstServe)最短作业优优先算法((SJF:ShortestJobFirst)最高响应比比优先算法法(HRN:HighestResponseRatioNext)响应比R=作业周转时时间/作业处理时时间=(作业处理理时间+作业等待时时间)/作业处理时时间=1+(作业等待待时间/作业处理时时间)6.批处理作业业的调度(续6)基于优先数数调度算法法(HPF:HighestPriorityFirst)(a)由用户规规定优先数数(外部优优先数)用户提交作作业时,根根据急迫程程度规定适适当的优先先数作业调度程程序根据JCB优先数决定定进入内存存的次序(b)由系统计计算优先数数(内部优优先数)例:可按如如下公式计计算作业的的优先数::优先数=用户规定优优先数–作业处理时时间+作业等待时时间–输出量6.批处理作业业的调度(续7)均衡调度算算法(分类排队算算法)基本思想::根据系统运运行情况和和作业属性性将作业分分类轮流从不同同的作业类类中挑选作作业目标:力求均衡地地利用各种种系统资源源,发挥资资源使用效效率力求使用户户满意6.批处理作业业的调度(续8)例1:将待处理理作业分成成如下队列列:队列1:计算量大大的作业队列2:I/O量大的作业业队列3:计算量与与I/O量均衡的作作业调度时,在在三个队列列中各取一一些作业在内存中的的作业有的的使用处理理机有的使用外外部设备使得系统的的各种资源源能得到充充分利用6.批处理作业业的调度(续9)例2:将待处理理作业分成成如下三个个队列:队列1:长作业队列2:中等长度度作业队列3:短作业调度时取队列1一作业,队队列2一作业,队队列3一作业长作业用户户和短作业业用户均比比较满意6.批处理作业业的调度(续10)(5)作业调度度算法应用用例子1假设在单道道批处理环环境下有四四个作业,,已知它们们进入系统统的时间、、估计运行行时间应用先来先先服务、最最短作业优优先和最高高响应比优优先作业调调度算法,,分别计算算出作业的的平均周转转时间和带带权的平均均周转时间间6.批处理作业业的调度(续11)先来先服务务调度算法法计算结果果6.批处理作业业的调度(续12)最短作业优优先作业算算法计算结结果6.批处理作业业的调度(续13)最高响应比比优先作业业算法计算算结果6.批处理作业业的调度(续14)(7)多道程序序对平均周周转时间的的影响作业流在多多道环境下下运行平均周转时时间、带权权平均周转转时间比单道环境境下都有明明显改善不是任意作作业组合都都能改善调调度性能有时甚至可可能变坏6.批处理作业业的调度(续15)例:四个各各需两小时时作业同时时投入运行行,I/O等待时间均均占25%,即占CPU时间各为1.5小时根据计算公公式,CPU的空转率为为0采用简单轮轮转法调度度,每小时时各作业分分别占用25%的CPU时间,算得得该作业组组合的平均均周转时间间约为6小时,而平平均带权周周转时间约约为3但是,若以以单道程序序方式运行行:平均周转时时间T=(2+4+6+8)/4=5小时平均带权周周转时间W=(1+2+3+4)/4=2.56.批处理作作业的调调度(续16)7.作业调调度与进进程调度度作业能否否占用处处理器??什么时时间能够够占用处处理器??由进程调调度来决决定进程的初初始状态态为就绪绪状态进程调度度选择当当前可占占用CPU处理进程程,当它它让出处处理器时时,进程程调度就就再选另另一作业业的进程程作业调度度与进程程调度相相互配合合,实现现作业的的并行8.批处理作作业的控控制当作业为为执行态态时,作作业调度度程序为为其建立立一作业业控制进进程,由该进程程控制作作业运行行作业控制制进程::主要负负责控制制作业的的运行,,具体解解释执行行作业说说明书的的每一个个作业步步,并创创建子进进程来完完成相应应步骤一个作业业步的处处理:(1)建立子子进程((2)为其申申请资源源(3)访问该该作业的的JCB(4)释放占占有资源源(5)撤消子子进程等等作业控制制程序只只有一个个对应每一一处于执执行状态态的作业业有一作作业控制制进程9.作业退出出把输出结结果送到到输出设设备上((启动缓缓输出进进程完成成)回收各种种资源10.SPOOLing系统工作作原理全称:SimultaneousPeripheralOperationsOn-Line含义:同时的外外围设备备联机操操作(假假脱机技技术)包括:输入程序序模块输出程序序模块作业调度度程序作业和进进程的状状态转换换图数据进入状态退出状态后备状态运行状态作业控制进程…输入设备数据源程序输出设备作业说明书输入井运行等待就绪输出井输入程序输出程序作业调度进程调度10.SPOOLing系统工作作原理(续1)10.SPOOLing系统工作作原理((续2)作业执行行前用慢慢速设备备将作业业预先输输入到后后援存储储器(如如磁盘、、磁鼓,,称为输输入井))中,称称为预输输入作业运行行后,使使用数据据时,从从输入井井中取出出作业执行行不必直直接启动动外设输输出数据据,只需需将这些些数据写写入输出出井中作业全部部运行完完毕,再再由外设设输出全全部数据据和信息息,称为为缓输出出实现了对对作业输输入、组组织调度度和输出出的统一一管理使外设在在CPU直接控制制下,与与CPU并行工作作(称为为假脱机机)输入装置输出装置通道通道输出装置输出装置通道

主机系统输入管输出管理模块理模块外设输入井输出井SPOOLing系统10.SPOOLing系统工作作原理(续3)三、交交互式系系统的作作业管理理1.概述(1)命令接接口在操作系系统与计计算机用用户之间间提供易易于理解解的双向向通信机机制基本任务务:解释命令令,传送送命令以以便执行行接受系统统信息,,提交给给用户((以响应应语言的的形式))交互式命命令的接接口复杂杂含功能结结构,可可能问题题的处理理,如各各种约定定、前端端处理、、命令日日志、命命令注解解、宏命命令及命命令组等等交互式控控制灵活活方便,,可以随随时进行行各种处处理,排排除问题题,方便便调试;;系统利利用率低低接口包括括:一组组联机命命令,终终端处理理程序,,命令解解释程序序1.概述(续1)(2)终端处处理程序序交互式命命令接口口:用户户同操作作系统的的通信通通过一个个输入/输出装置置来实现现I/O装置一般般是显示示终端输入通过过键盘::在有的的系统中中,可通通过指示示装置((例如鼠鼠标)输输入系统输入入呈现在在显示屏屏幕上,,一次显显示若干干正文行行某些系统统中,提提供图形形显示功功能不管哪种种I/O方式,这这个终端端装置是是由一个个终端处处理程序序管理和和控制1.概述(续2)终端处理理程序提提供的输输入输出出方式对对整个用用户命令令接口有有重大影影响也确定了了用户与与其应用用程序之之间的通通信方式式终端处理理程序必必须作为为用户接接口的一一个组成成部分来来考虑即,直接接影响命命令接口口的一些些问题须须由终端端处理程程序解决决1.概述(续3)(3)直接影影响命令令接口的的一些问问题(a)回送显显示(Echoing)通常,每每从键盘盘打入一一个字符符,终端端处理程程序回送送响应的的字符到到显示屏屏上有时用户户要求其其显示一一个不同同的字符符或不显显示(例例如,用用户键入入口令时时)对于通过过远程通通信线路路访问的的终端,,可能需需要抑制制这种回回送回送显示示委托给给远程终终端来实实现1.概述(续4)(b)提前打打入(Typeahead)假定输入入字符在在一程序序准备处处理它们们之前打打入,则则由“提前打入入进程”把它们保保存在缓缓冲区中中缓冲区容容量是有有限,当当其存满满后,再再有输入入时,或或者漏掉掉,或者者将破坏坏缓冲区区原有的的内容(c)字符变换有些情况下,,需要对打入入的字符进行行代码变换如,把小写字字母转换成大大写字母,或或者反之(d)行缓冲打入的字符在在送到程序前前,由终端接接口保存,直直到整个命令令行打入为止止为用户提供了了校验、编辑辑,甚至取消消命令的机会会(3)直接影响命命令接口的一一些问题(续续1)1.概述(续5)(e)中断字符((BreakCharacters)多数交互式命命令接口可以以接受一些称称为中断字符符的特殊字符符,并立即采采取相应的行行动如,在许多系系统中,同时时打入CTRL—C字符键,立即即终止当前程程序执行,并并使命令处理理程序重新初初始化(3)直接影响命命令接口的一一些问题(续续2)1.概述(续6)2.命令解释程序序命令解释程序序有两种处理理方法:(a)由终端命令令解释程序直直接处理在没有创建子子进程功能的的系统中终端命令通常常由对应的命命令解释程序序处理在这样系统中中,仅有一个个进程对应一一个终端用户户(b)由子进程代代为处理在具有创建子子进程功能的的系统中,对对于较为单纯纯的命令,如如列目录,拷拷贝文件等,,命令解释程程序本身便能能完成,此时时由命令解释释程序直接处处理对较复杂命令令,如对于C源程序进行编编译,命令解解释程序本身身不能处理,,此时创建一一个子进程,,并由该子进进程运行C编译程序3.命令接口的结结构命令接口由命命令处理器来来实现命令处理器的的实现方式::(a)作为OS的一个部分如,OS/MVT或VAX/VMS(b)作为OS的一个独特模模块,能方便便地修改或替替换如,RT-11或CP/M(c)作为一易于于被替换的普普通程序如,UNIX操作系统(d)在某些系统中中,可能用专专门设计的命命令接口替代代标准的命令令接口如,多用户UNIX,用户可有不不同命令接口口4.命令语言命令语言规定定由OS执行的一系列列操作在一般的命令令语言中,用用户通过打入入称为命令行行的一行指令令来规定每一一个动作每一命令行以以命令开始,,它标识所要要执行的操作作大多数命令是是用运行一个个程序来执行行所请求的操操作多数命令行中中要给出一些些参数,每一命令语句句实际上是带带有参数的一一个过程调用用一个命令语言言通常提供下下列几组命令令:(1)系统访问命命令登录命令,如如,login等撤离命令,如如,logout等(2)文件管理命命令(3)编辑、编译译和执行命令令(4)询问命令(5)操作员专用用命令4.命令语言(续续1)4.命令语言(续续2)命令行:规定定由操作系统统执行的一系系列操作命令行:一行可有一一个或多个命命令,每次一一行,包含一一个或多个命命令。shell给出提示符时时可输入,以以回车键提交交。如:“ls-a-l”列出当前目录录文件列表;;"gunzipmp1.tar.gz;tar-xvfmp1.tar;\rm-r-fmp1.tar"为解压缩后再再展开。命令格式:一个命令可可有命令参数,格式包括选选项/开关(option/switch)或参数(argument)。如UNIX系统:cp-rdoc/tmp--argv[0],argv[1],...(含子目录的的文件复制::/tmp为目标地址))4.命令语言(续续3)命令分类:内部命令和和外部命令内部命令:直接由shell本身完成,功能简单、、使用频繁;;如:DOS的copy命令。外部命令:运运行相应的可执行文件,在使用时加加载。如:DOS的xcopy命令命令简化:利用参数替换可简化命令输输入,通配符符(?,*)用于匹配一组组文件名如:UNIX的cp命令:当前目目录上有两个个"1.tar"和"2.tar"时,"cp*.tar/tmp"等同于"cp1.tar/tmp;cp2.tar/tmp"命令的附加功功能命令的附加功功能用以扩大大命令的功能能性、选择性性、适应性。。包括:(1)参数与变量量位置变量关键字变量(2)命令通配符符(3)重定向(4)管道与过滤滤器4.命令语言(续续4)批处理命令::针对脱机用户户操作和大量量顺序操作功功能而设计批处理命令可可以是专门的的命令,也可可是系统的基基本命令;还还有有关的语语法结构,循循环、分支、、转移、判别别等,构成一一套特殊的命命令语言5.命令文件5.命令文件((续)提前写出命令令并存入文件件,称之为命命令文件命令文件提供供了一种把一一系列命令组组装成文件的的方法,然后后用文件名作作为命令名执执行另外一系系列命令特点:(1)接受参数、、变量,宏变变量替换(2)允许嵌套形形式调用其他他命令文件(3)允许参数来来自终端的命命令文件本身身(4)允许执行显显示到终端、、存入文件或或送入打印机机(5)允许命令加加入注释(6)出错时允许许用户干预(7)可把输入传传给程序,可可有循环、分分支、转移等等时间片轮转::在OS控制下,采用用“时间片轮转”方法使每个终终端作业都能能在一个“时间片”内去占用处理理器当时间片用完完后,让出处处理器给另一一个终端作业业这样,保证从从终端用户输输入命令到计计算机系统给给出应答只是几秒钟的的时间,使端端用户感到满满意6.交互式系统实实例——分时系统分时系统中的的用户控制作作业的执行大大致有四个阶阶段:终端的连接用户登录控制作业执行行用户退出6.交互式系统实实例——分时系统(续1)(1)终端端的的连连接接必须须使使终终端端设设备备与与计计算算机机系系统统在在线线路路上上接接通通近程程终终端端是是直直接接与与计计算算机机系系统统连连接接的的,,当当终终端端设设备备加加电电后后,,终终端端就就与与计计算算机机系系统统在在线线路路上上接接通通了了远程程终终端端通通过过租租用用专专线线或或交交换换线线接接到到计计算算机机系系统统,,在在终终端端加加电电后后用用户户还还需需通通过过电电话话拨拨号号进进行行呼呼叫叫,,直直到到接接通通当终终端端与与计计算算机机系系统统在在线线路路上上接接通通后后,,计计算算机机系系统统会会在在终终端端上上显显示示信信息息告告诉诉用用户户6.交互互式式系系统统实实例例———分时时系系统统(续2)(2)用户户登登录录用户户必必须须向向系系统统登登录录用户户首首先先输输入入“登录录”命令令((LOGON)命命令令系统统会会向向询询问问用用户户名名、、作作业业名名、、口口令令和和资资源源需需求求等等经过过识识别别用用户户、、核核对对口口令令,,系系统统在在终终端端上上显显示示“已登登录录”和进进入入系系统统的的时时间间等等信信息息若口口令令不不对对或或资资源源暂暂时时不不能能满满足足时时,,则则系系统统在在终终端端上上显显示示“登录录不不成成功功”并给给出出登登录录失失败败的的原原因因用户户的的登登录录过过程程可可看看作作是是对对终终端端作作业业的的作作业业调调度度6.交互互式式系系统统实实例例———分时时系系统统(续3)(3)控制制作作业业执执行行登录录成成功功的的终终端端用用户户可从从终终端端上上输输入入作作业业的的程程序序和和数数据据使用用系系统统提提供供的的命命令令语语言言或或会会话话语语句句控控制制作作业业执执行行每输输入入一一命命令令或或一一会会话话语语句句后后,,由由系系统统解解释释执执行行且在在终终端端上上显显示示执执行行成成功功或或问问题题由用用户户决决定定下下一一步步命命令令或或会会话话直到到作作业业完完成成6.交互互式式系系统统实实例例———分时时系系统统(续4)(4)用户户退退出出用户户输输入入“退出出”命令令((LOGOFF命令令))请请求求退退出出系系统统系统统接接收收命命令令后后就就收收回回该该用用户户所所占占的的资资源源让让其其退退出出同时时在在终终端端上上显显示示“退出出时时间间”或“使用用系系统统时时间间6.交互互式式系系统统实实例例———分时时系系统统(续5)四.系统统调调用用1.系统统调调用用简简介介系统统调调用用,,是是用用户户在在程程序序中中调调用用操操作作系系统统所所提提供供的的一一些些子子功功能能这是是特特殊殊的的过过程程调调用用,,由由特特殊殊的的机机器器指指令令实实现现这个个指指令令还还将将系系统统转转入入管管态态系统统调调用用程程序序是是一一个个低低级级过过程程,,只只能能由由汇汇编编语语言言直直接接访访问问系统统调调用用是是操操作作系系统统提提供供给给编编程程人人员员的的唯唯一一接接口口利用用系系统统调调用用,,动动态态请请求求和和释释放放系系统统资资源源完成成与与硬硬件件相相关关的的工工作作以以及及控控制制程程序序的的执执行行等等每个个操操作作系系统统都都提提供供几几百百种种系系统统调调用用,,包包括括::外外存存文文件件与与目目录录的的读读写写,,各各种种I/O设备备的的使使用用,,在在程程序序中中启启动动另另一一个个程程序序,,查查询询和和统统计计系系统统资资源源使使用用情情况况等等等等实际际上上系系统统调调用用语语句句本本身身是是硬硬件件提提供供的的((机机器器指指令令)),,但但其其所所调调用用的的功功能能是是操操作作系系统统提提供供的的每种种机机器器的的机机器器指指令令集集中中都都有有一一条条系系统统调调用用指指令令((访访管管指指令令))1.系统统调调用用简简介介(续1)汇编编程程序序例例子子::打打印印5个字字符符方法法1:调调用用DOS功能能MOVEA,PARA1MOVEB,PARA2INT21H系统统调调用用的的例例子子-11.系统统调调用用简简介介(续2)高级级语语言言例例子子::打打印印5个字字符符charbuff[4]=““abcde””;for(i=4;i>=0;i--)print(buff[i]);高级级语语言言例例子子::读硬硬盘盘文文件件f1的第第10到到20个个字字节节seek(fd,10,0);read(fd,buff,11);系统统调调用用的的例例子子-51.系统统调调用用简简介介(续3)......A=A+1printf(...)B=B+A(1)源源程程序序段段1.系统统调调用用简简介介(续4)(2)printf目标代码(3)程序段编译产生的可执行代码(4)操作系统内部代码INT......INTA=A+1B=B+A............INOUT...嵌入后该系统调用的操作系统内部实现代码1.系统统调调用用简简介介(续5)用户程序函数操作系统凡是是与与硬硬件件相相关关、、与与应应用用无无关关的的工工作作,,都都通通过过操操作作系系统统程程序序来来完完成成1.系统统调调用用简简介介(续6)2.系统统调调用用的的处处理理过过程程为了了保保证证OS不被被用用户户程程序序破破坏坏不允允许许用用户户程程序序访访问问OS的系统统程序序和数数据那么,,怎样样得到到系统统服务务的呢呢?需要有有一个个类似似于硬硬件中中断处处理的的处理理机构构当用户户使用用操作作系统统调用用时,,产生生一条条相应应的指指令处理机机在执执行到到该指指令时时发生生相应应的中中断,,并发发出有有关的的信号号给该该处理理机构构该处理理机构构在收收到了了处理理机发发来的的信号号后,,启动动相关关的处处理程程序去去完成成该系系统调调用所所要求求的功功能2.系统调调用的的处理理过程程(续续1)在系统统中为为控制制系统统调用用服务务的机机构称称为陷陷入(TRAP)或异常常处理理机构构相对应应,把把由于于系统统调用用引起起处理理机中中断的的指令令称为为陷入入或异异常指指令((或称称访管管指令令)在操作作系统统中,,每个个系统统调用用都对对应一一个事事先给给定的的功能能号,,例如如0、1、2、3等在陷入入指令令中必必须包包括对对应系系统调调用的的功能能号而且,,在有有些陷陷入指指令中中,还还带有有传给给陷入入处理理机构构和内内部处处理程程序的的有关关参数数必须为为实现现系统统调用用功能能的子子程序序编造造入口口地址址表每个入入口地地址与与相应应的系系统程程序名名对应应陷入处处理程程序把把陷入入指令令包含含功能能号与与入口口地址址表有有关项项对应应,系统调调用功功能号号驱动动有关关子程程序执执行在系统统调用用处理理结束束之后后,用用户程程序需需利用用系统统调用用返回回结果果继续续执行行保护现现场::在进入入系统统调用用处理理之前前,陷陷入处处理机机构还还需保保存处处理机机现场场在系统统调用用处理理结束束之后后,要要恢复复处理理机现现场,,现场场被保保护在在特定定的内内存区区或寄寄存器器中2.系统调调用的的处理理过程程(续续2)

systemcall

入口地址表

(1)保护处理现场(2)取系统调用功能号并寻找子程序入口(3)返回A0A1Ai

AnA0A1AiAnSub0Sub1SubiSubn用户程程序陷陷入入处理理机构构系系统统子程程序系统调调用的的处理理过程程3.系统调调用的的分类类将系统统的功功能分分为两两部分分:系统自自身所所需要要的作为服服务提提供给给用户户的OS的系统统调用用:进程控控制类类系统统调用用文件操操作类类系统统调用用进程通通信类类系统统调用用设备管管理类类系统统调用用信息维维护类类系统统调用用进程管管理文件管管理目录管管理其他系统调调用方方式((INT)与程程序中中一般般的调调用方方式的的相同点点:改变指指令流流程重复执执行和和公用用改变指指令流流程后后需要要返回回原处处4.系统调调用与与一般般过程程调用用的比比较系统调调用方方式((INT)与程程序中中一般般的调调用方方式的的不同点点:运行在在不同同的系系统状状态一般过过程调调用,,其调调用程程序和和被调调用程程序都都运行行在相相同状状态::核心心态或或用户户态系统调调用::调用用程序序在用用户态态,被被调用用程序序在系系统态态状态的的转换换一般的的过程程调用用不涉涉及系系统状状态的的转换换,可可直接接由调调用过过程转转向被被调用用过程程运行系系统调调用时时,调调用和和被调调用过过程在在不同同系统统状态态,不不允许许由调调用过过程直直接转转向被被调用用过程程通过软软中断断机制制先由由用户户态转转换为为核心心态在OS核心分分析后后,转转向相相应的的系统统调用用处理理子程程序4.系统调调用与与一般般过程程调用用的比比较((续1)返回问问题一般过过程调调用在在被调调用过过程执执行完完后,,回调调用过过程抢占式式调度度的系系统中中,被被调用用过程程执行行完后后,系系统将将对所所有要要求运运行的的进程程进行行优先先级分分析。。如果果调用用进程程仍有有最高高优先先级,,则返返回到到调用用进程程执行行否则,,引起起重新新调度度,让让优先先级最最高的的进程程优先先执行行。此此时,,系统统把调调用进进程放放入就就绪队队列嵌套或或递归归调用用对系统统调用用,一一般不不允许许在同同一个个进程程中发发生嵌嵌套或或递归归(不不同进进程可可以重重入同同一个个系统统调用用)4.系统调调用与与一般般过程程调用用的比比较((续3)进入方方式不不同CALL指令的的内部部实现现过程程返回地地址压压栈((即该该CALL指令所所在的的地址址)将该CALL指令中中所含含的地地址((即被被调用用代码码所在在地址址)送送入PCRET指令的的内部部实现现过程程从栈顶顶弹出出返回回地址址送入入程序序计数数器PC利用int或trap指令进进行系系统调调用;;利用用call或jmp指令进进入普普通的的过程程调用用4.系统调调用与与一般般过程程调用用的比比较((续4)系统调调用是是动态态调用用,而而CALL调用方方式是是静态态调用用a.同一程程序中中不包包含被被调用用代码码系统调调用是是动态态调用用,程程序中中不包包含被被调用用代码码,好好处::(1)用户户程序序长度度缩短短(2)当OS升级时时,调调用方方不必必改变变4.系统调调用与与一般般过程程调用用的比比较((续5)b.系统调调用方方式的的调用用地址址和返返回地地址都都是不不固定定的系统调调用指指令中中不包包含调调用地地址,只包含含功能能号是按功功能号号(在在可执执行目目标程程序中中)调调用的的在操作作系统统内部部由系统统调用用处理理程序序通过过系统统调用用分支支表(OS的一个个数据据结构构)将功能能号转转换为为相应应的指指令地地址4.系统调调用与与一般般过程程调用用的比比较((续6)...功能号地址显示打印读文件.........OS的系统调用分支表OS代码显示打印读文件OS用户程序INT..................4.系统调调用与与一般般过程程调用用的比比较((续7)系统调调用返返回指指令中中不包包括返返回地地址,,通过过栈保保存和和弹出出返回回地址址系统调调用返返回地地址不不固定定,因因为用用户程程序在在不同同的地地方调调用OSCALL调用方方式是是静态态调用用,被调用用代码码与调调用代代码在在同一一程序序之内内。CALL调用方方式,,其调用地地址是是固定定的,包含含在调调用语语句中中;返回地地址是是不固固定的的(同一一子程程序可可能被被不同同处多多次调调用)),在在程序序执行行过程程中通通过栈栈的实实现来来保存存和弹弹出返返回地地址4.系统调调用与与一般般过程程调用用的比比较((续8)c.安全接接口INT指令和和IRET指令的的执行行过程程中要处理理程序序状态态字PSWINT指令中中要保保存用用户程程序的的老PSW并根据据中断断向量量表设设置新新PSWIRET指令中中要在在返回回用户户程序序前恢恢复用用户程程序的的老PSW4.系统调调用与与一般般过程程调用用的比比较((续9)安全接接口((续1)目的::目态态、管管态的的管理理系统态态与用用户态态的转转换由系统统在INT指令与与IRET指令内内部自自动完完成没有用用一条条单独独的专专门指指令好处::有效效地防防止在在系统统态下下执行行用户户程序序4.系统调调用与与一般般过程程调用用的比比较((续10)5.Win32应用程程序接接口在Windows中,定定义了了一系系列程程序(应用程程序接接口Win32API),提供供OS服务这个接接口((部分分)支支持Win95以后的的Windows版本Win32API调用的的种类类非常常多,,以千千计算算在Windows中不可可能分分辨出出哪些些是系系统调调用((被内内核执执行)),哪哪些是是用户户空间间的库库调用用事实上上,一一个Windows版本中中的系系统调调用也也许在在另一一个Windows版本中中会在在用户户空间间执行行由于图图形子子系统统在内内核中中运行行(在在某些些Windows版本中中),,它们们也是是系统统调用用,否否则是是库调调用-操作系系统怎怎样开开始运运行怎样形形成系系统操操作环环境怎样从从程序序的顺顺序执执行转转换到到支持持程序序的并并发执执行五.操作系系统的的安装装与启启动操作系系统的的引导导有两两种方方式::独立引引导((bootup)辅助下下装((download)1.操作系系统的的引导导和装装入(1)独立立引导导方式式大多数数系统统采用用OS核心文文件存存储在在系统统本身身的存存储设设备中中由系统统自己己将OS核心程程序读读入内内存并并运行行最后建建立一一个操操作环环境1.操作系系统的的引导导和装装入(续1)独立引引导方方式步步骤(1)系统统加电电,执执行系系统初初启程程序(2)执行行初启启程序序,对对系统统硬件件和配配置进进行自自检,,保证证系统统没有有硬件件错误误(3)从硬硬盘中中读入入操作作系统统

温馨提示

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

评论

0/150

提交评论