操作系统结构_第1页
操作系统结构_第2页
操作系统结构_第3页
操作系统结构_第4页
操作系统结构_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

1、计算机操作系统第第2 2章章 操作系统结构操作系统结构主要内容:主要内容:中断中断/ /异常机制及中断异常机制及中断/ /异常处异常处理过程、系统调用、典型操作系统结构及理过程、系统调用、典型操作系统结构及用户使用操作系统的方法用户使用操作系统的方法重点与难点:重点与难点:中断概念、中断与异常的区中断概念、中断与异常的区别及中断别及中断/ /异常处理过程、系统调用实现异常处理过程、系统调用实现计算机操作系统中断中断/ /异常:异常:指系统发生某个异步指系统发生某个异步/ /同步事件后同步事件后, ,处处理机暂停正在执行的程序理机暂停正在执行的程序, ,转去执行处理该事件程转去执行处理该事件程序

2、的过程。序的过程。中断引入:中断引入:为了开发为了开发CPUCPU和通道和通道( (或设备或设备) )之间的并之间的并发操作。发操作。2.1 2.1 中断和异常中断和异常CPU通道通道外设外设计算机操作系统异常引入:异常引入:用于表示用于表示CPUCPU执行指令时本身引发的事件执行指令时本身引发的事件1 1)算术溢出;)算术溢出; 2 2)零做除数;)零做除数;3 3)取数时的奇偶错;)取数时的奇偶错;4 4)访存指令越界;)访存指令越界;5 5)执行了一条所谓)执行了一条所谓“陷入指令陷入指令”(用于实现系统调(用于实现系统调用)用)注意:注意:最早中断和异常并没有区分,都叫中断。后来最早中

3、断和异常并没有区分,都叫中断。后来由于它们的发生原因和处理方式的差别愈发明显,才由于它们的发生原因和处理方式的差别愈发明显,才有了中断和异常的区别。有了中断和异常的区别。 计算机操作系统2.1.12.1.1中断中断/ /异常的区别异常的区别中断中断( (狭义狭义) )与异常的区别与异常的区别: :中断中断: : 与正执行指令无关;与正执行指令无关;异常异常: : 与正执行指令有关。与正执行指令有关。中断中断( (外中断外中断) )异常异常( (内中断内中断) )例外或陷入例外或陷入(Trap)(Trap)I/OI/O中断中断时钟中断时钟中断陷入指令陷入指令缺页异常缺页异常地址越界地址越界其他程

4、序性异常其他程序性异常( (如算术溢出等如算术溢出等) )广义中断广义中断计算机操作系统 更详细打断处理机当前指令正常执行顺序的原因:更详细打断处理机当前指令正常执行顺序的原因:nI/OI/O中断:打印机输出结束中断,磁盘传输错中断:打印机输出结束中断,磁盘传输错n外中断:计时器,其他机器的信号外中断:计时器,其他机器的信号n机器故障:电源故障,内存读数错误机器故障:电源故障,内存读数错误n程序性异常:非法操作码,无效地址,算术溢出程序性异常:非法操作码,无效地址,算术溢出n陷入指令:访管指令(系统调用)陷入指令:访管指令(系统调用)计算机操作系统2.1.2 2.1.2 中断的分级中断的分级中

5、断寄存器:中断寄存器:寄存中断事件的全部触发器。寄存中断事件的全部触发器。中断位:中断位:每个触发器称为一个中断位,当发生某每个触发器称为一个中断位,当发生某个中断事件时相应位被置上。个中断事件时相应位被置上。中断序号:中断序号:给中断的一个顺序编号给中断的一个顺序编号. .中断响应:中断响应:由硬件在执行每一条指令的最后时刻由硬件在执行每一条指令的最后时刻判断是否有中断判断是否有中断, ,有则无条件转入操作系统的中断有则无条件转入操作系统的中断处理程序处理程序. .中断寄存器图示:中断寄存器图示:101210计算机操作系统中断优先级中断优先级( (中断优先权中断优先权) ):中断享有高中断享

6、有高、低不同的响应权低不同的响应权利。利。1 1)高、低优先级中断同时到达时,先响应高级中断;)高、低优先级中断同时到达时,先响应高级中断;2 2)高级中断可以打断低级中断处理程序的运行;)高级中断可以打断低级中断处理程序的运行;3 3)同级中断同时到达时,则按位序响应。)同级中断同时到达时,则按位序响应。高级中断处理高级中断处理中级中断处理中级中断处理低级中断处理低级中断处理低级中断处理低级中断处理中级中断处理中级中断处理高级中断处理高级中断处理多级中断同时到达的多级中断同时到达的CPU轨迹轨迹 高级中断打断低级中断的高级中断打断低级中断的CPU轨迹轨迹 计算机操作系统中断优先级设计原则:中

7、断优先级设计原则:高速设备的中断优先级高速设备的中断优先级高,慢速设备的中断优先级低。高,慢速设备的中断优先级低。原因:原因:高速设备的中断被处理机优先响应时,可高速设备的中断被处理机优先响应时,可以让处理机尽快地向它发出下一个以让处理机尽快地向它发出下一个I/OI/O请求,提高请求,提高高速设备的利用率。高速设备的利用率。例子:例子:PDP-11PDP-11机上的机上的UNIXUNIX系统把中断级别分为:系统把中断级别分为:时钟中断时钟中断中断优先级中断优先级6 6级级磁盘中断磁盘中断中断优先级中断优先级5 5级级终端等其他外设中断终端等其他外设中断中断优先级中断优先级4 4级级计算机操作系

8、统 中断寄存器中断寄存器 屏蔽寄存屏蔽寄存器器1110响应中断响应中断软件实现中断屏蔽图示软件实现中断屏蔽图示中断屏蔽中断屏蔽:指禁止处理机响应中断或禁止中断出指禁止处理机响应中断或禁止中断出现。现。两种实现方法两种实现方法: 硬件实现硬件实现( (由软件设置处理机优先级由软件设置处理机优先级, ,硬件按系硬件按系统设计时的约定统设计时的约定, ,屏蔽那些低优先级中断;屏蔽那些低优先级中断; 软件实现软件实现( (由软件按操作系统优先级约定由软件按操作系统优先级约定, ,设置设置屏蔽寄存器屏蔽寄存器) )。计算机操作系统两种屏蔽类型:两种屏蔽类型:n硬屏蔽:禁止中断出现的屏蔽方式;硬屏蔽:禁止

9、中断出现的屏蔽方式; 例如,例如,IBM370机使用特权指令向机使用特权指令向PS(处理处理机机状态寄存器状态寄存器)发送程序屏蔽码。发送程序屏蔽码。n软屏蔽:设备中断,时钟中断等部分硬件中软屏蔽:设备中断,时钟中断等部分硬件中断可以被暂时禁止响应,到屏蔽被解除时再断可以被暂时禁止响应,到屏蔽被解除时再处理。处理。 例如,例如,可编程中断控制器,处理机可以执行可编程中断控制器,处理机可以执行指令设置可编程中断控制器的屏蔽码。指令设置可编程中断控制器的屏蔽码。注意:注意:但异常不能被屏蔽,必须被响应。但异常不能被屏蔽,必须被响应。计算机操作系统2.2 2.2 中断中断/ /异常响应和处理异常响应

10、和处理2.2.12.2.1中断中断/ /异常响应异常响应中断响应:中断响应:异常:异常:是在执行指令的时候,由指令本身原因是在执行指令的时候,由指令本身原因引发的问题。指令的实现逻辑发现发生异常则转引发的问题。指令的实现逻辑发现发生异常则转入操作系统内的异常处理程序。入操作系统内的异常处理程序。 中断检测机构中断检测机构中断寄存器中断寄存器是否是否存在存在中断中断?继续执行指令继续执行指令执行中断执行中断否否是是在机器指令执在机器指令执行周期的最后行周期的最后时刻时刻计算机操作系统1 1 断点和恢复点断点和恢复点PCPC:程序计数器。指向马上要执行的那一条指令程序计数器。指向马上要执行的那一条

11、指令的地址。的地址。断点断点:检测到中断信号时检测到中断信号时, ,处理机刚执行完的那条处理机刚执行完的那条指令地址即为断点,通常是指令地址即为断点,通常是PCPC的内容减去前一条的内容减去前一条指令占的单元长度。指令占的单元长度。恢复点恢复点:断点的逻辑后续指令地址,断点的逻辑后续指令地址,PCPC的值。的值。断点恢复点计算机操作系统现场信息:现场信息:指在中断那一刻,确保被中断程序能指在中断那一刻,确保被中断程序能继续运行的有关信息,如继续运行的有关信息,如PC、通用寄存器、特殊、通用寄存器、特殊寄存器等的内容。寄存器等的内容。注:注:对于异常,返回点不一定是恢复点对于异常,返回点不一定是

12、恢复点 1)大部分用户程序出错,则结束进程;)大部分用户程序出错,则结束进程; 2)系统调用,则返回恢复点继续执行;)系统调用,则返回恢复点继续执行; 3)缺页异常,则处理完异常后,重新执行。)缺页异常,则处理完异常后,重新执行。计算机操作系统2 2 核心态与用户态核心态与用户态CPUCPU执行两类性质的程序:执行两类性质的程序:用户程序或系统外层的应用程序(普通子程序)用户程序或系统外层的应用程序(普通子程序)操作系统程序(内核程序)。操作系统程序(内核程序)。核心态核心态( (系统状态系统状态, ,监督方式监督方式, ,管态管态) ):允许特权指允许特权指令执行的状态,在此状态下地址空间也

13、较大。令执行的状态,在此状态下地址空间也较大。用户态用户态( (用户方式用户方式, ,目态目态) ):一般用户所运行的状态。一般用户所运行的状态。区分方法:区分方法:由处理机状态字由处理机状态字(PS(PS或或PSW)PSW)寄存器内设寄存器内设置一个标志触发器来进行区分。置一个标志触发器来进行区分。计算机操作系统 PS(PSW)PS(PSW):处理机状态字。寄存处理机运行状处理机状态字。寄存处理机运行状态的寄存器。内容包括:态的寄存器。内容包括: 当前处理机状态;当前处理机状态; 先前处理机状态;先前处理机状态; 处理机优先级;处理机优先级; 各种控制位各种控制位( (如如, ,外中断位外中

14、断位) ); 条件码条件码( (反映指令执行状态反映指令执行状态) )。 T N Z V C 15 14 13 12 8 7 0 PS 当前当前 先前先前 优先级优先级 特征位特征位 状态状态 状态状态 PDP-11机器的处理器状态寄存器示例机器的处理器状态寄存器示例计算机操作系统 3 3 中断向量中断向量中断中断/ /异常向量:异常向量:一个存放中断一个存放中断/ /异常处理程异常处理程序入口地址和程序运行所需处理机状态字的序入口地址和程序运行所需处理机状态字的内存单元。内存单元。硬件按中断号、异常类型的不同通过中断向量表硬件按中断号、异常类型的不同通过中断向量表转移。转移。当前当前 先前先

15、前 优先级优先级 特征位特征位状态状态 状态状态PDP-11机器的机器的中断向量示例中断向量示例 T N Z V C 15 14 13 12 8 7 0 15 0PCPS两个连两个连续单元续单元计算机操作系统2.2.22.2.2中断中断/ /异常处理异常处理中断中断/ /异常处理的一般过程:异常处理的一般过程: 中断中断, ,异常进入;异常进入; 保存现场;保存现场; 分析原因分析原因, ,转中断转中断( (异常异常) )处理程序;处理程序; 恢复现场。恢复现场。计算机操作系统中断处理的流程图:保护现场保护现场分析中断原因分析中断原因 该级还有中断?该级还有中断?有条件地有条件地进行低调进行低

16、调恢复现场恢复现场进入中断进入中断/异异常常中断中断/异异常常现行程序现行程序计算机操作系统PDP-11上的UNIX中断处理详细过程:1.中断,异常进入 硬件自动将当前硬件自动将当前PC,PSPC,PS存入暂存寄存器;存入暂存寄存器; 硬件按中断号从指定的中断向量单元中取出硬件按中断号从指定的中断向量单元中取出PC,PSPC,PS内容内容装入装入PC,PSPC,PS寄存器寄存器, ,同时填入同时填入PSPS寄存器的寄存器的“先前状态先前状态”和和“当前状态当前状态”; 将原将原PC,PSPC,PS保存到现场保护区栈保存到现场保护区栈( (一般有用户栈和核心栈一般有用户栈和核心栈两种,此时指保存

17、于核心栈)。两种,此时指保存于核心栈)。完成上述以后分类型作如下处理:完成上述以后分类型作如下处理:中断:转入相应中断处理程序。中断:转入相应中断处理程序。异常:转入一个入口地址为异常:转入一个入口地址为traptrap的处理程序,根据不同的的处理程序,根据不同的异常类型号作不同的处理。异常类型号作不同的处理。计算机操作系统一般的中断一般的中断/ /异常处理过程包括三个阶段:异常处理过程包括三个阶段:1.1. 保存现场保存现场2.2. 分析原因后转入相应的处理程序分析原因后转入相应的处理程序3.3. 恢复现场恢复现场UNIXUNIX专门设置了一个专门设置了一个callcall的总控程序,负责完

18、的总控程序,负责完成这三阶段的工作。成这三阶段的工作。计算机操作系统2.2.保存现场保存现场保存的区域保存的区域: : 1 1)分散:每个进程设有一片现场区,中断)分散:每个进程设有一片现场区,中断/ /异常异常时,现场信息保存在该现场区。例如时,现场信息保存在该现场区。例如UNIXUNIX系统系统2 2)集中分散:系统设一个现场区,进程具有一)集中分散:系统设一个现场区,进程具有一个现场区,中断时现场信息保存在系统现场区;个现场区,中断时现场信息保存在系统现场区;异常时,保存在进程现场区。例如异常时,保存在进程现场区。例如VMSVMS操作系统操作系统保存形式:保存形式:“栈栈”结构(待续)结

19、构(待续)计算机操作系统n“栈栈”结构结构 “后进先出后进先出”思思想想栈栈进进出出栈栈栈顶栈顶栈底栈底进队列进队列出队列出队列队尾队尾队头队头n“队列队列”结构结构 “先进先出先进先出”思想思想计算机操作系统现场保存现场保存/ /恢复过程示例:恢复过程示例:低级中断现低级中断现场区场区高级中断现高级中断现场区场区用户程序用户程序低级中断低级中断 高级中断高级中断方方向向多级中断现场保存多级中断现场保存计算机操作系统UNIX系统中一个现场区栈帧的形成过程:n 硬件将硬件将PS,PCPS,PC压栈压栈, ,且根据中断类型将中断向量且根据中断类型将中断向量表中的表中的PS,PCPS,PC值送入值送

20、入PS,PCPS,PC寄存器。寄存器。n 中断入口第一条为转总控程序指令中断入口第一条为转总控程序指令, ,该转移指该转移指令将令将r0r0压栈且将中断处理程序地址存入压栈且将中断处理程序地址存入r0r0。n 由总控程序将新的由总控程序将新的npsnps压栈压栈( (有异常号信息有异常号信息) )。n 由总控将由总控将r1,r6r1,r6压栈压栈(r6(r6中为栈指针中为栈指针, ,此时是上此时是上一栈帧顶或用户栈顶一栈帧顶或用户栈顶) )。由总控从。由总控从npsnps低低5 5位截取位截取traptrap号号devdev进入栈。进入栈。n 总控在转相应中断总控在转相应中断(trap)(tr

21、ap)处理程序时处理程序时, ,将返回将返回地址地址tpctpc压栈。压栈。n 由各中断由各中断(trap)(trap)处理程序先将处理程序先将r5,r4,r3,r2r5,r4,r3,r2压压栈栈, ,返回总控时恢复返回总控时恢复r2,r3,r4,r5r2,r3,r4,r5。计算机操作系统 PS 硬件保存硬件保存 增增 PC 长长 r0 方方 nps(新(新psps) ) 向向 r1 r6 总控程序保存总控程序保存 dev (trap(trap号)号) tpc (总控返回地址总控返回地址) r5 r4 处理程序保存处理程序保存 r3 r2 sp 计算机操作系统 3.分析原因,转中断(异常)处理

22、程序 总控程序直接根据总控程序直接根据r r0 0( (已存放好中断程序的已存放好中断程序的入口地址入口地址) )内容转子程序。内容转子程序。中断:直接转至其入口地址;中断:直接转至其入口地址;异常:还要根据异常:还要根据devdev保存的当前发生的陷入保存的当前发生的陷入 类型,作相应的处理。类型,作相应的处理。计算机操作系统4.恢复现场(总控程序)分两种情况:分两种情况:1 1)回退到核心态时回退到核心态时: : 退栈,恢复退栈,恢复r r0 0,r,r1 1; 执行执行rttrtt指令,该指令自动将栈帧中的指令,该指令自动将栈帧中的PC,PSPC,PS值装值装入入PC,PSPC,PS寄存

23、器。寄存器。2 2)回退到用户态时)回退到用户态时: : 转调度程序;转调度程序; 退栈,恢复退栈,恢复r r0 0,r,r1 1; 执行执行rttrtt指令。该指令自动将栈帧中的指令。该指令自动将栈帧中的PC,PSPC,PS值装值装入入PC,PSPC,PS寄存器。寄存器。注:注:UNIXUNIX系统是根据系统是根据npsnps内容来判断内容来判断CPUCPU的先前状态。的先前状态。计算机操作系统中断与异常的区别中断与异常的区别1)定义:)定义:中断:来自外部,异常:来自内部。中断:来自外部,异常:来自内部。 2)屏蔽:)屏蔽:中断:能被屏蔽,异常:不能屏蔽。中断:能被屏蔽,异常:不能屏蔽。

24、3)响应:)响应:中断:中断检测机构检测中断寄存器;中断:中断检测机构检测中断寄存器; 异常:执行指令时发生异常。异常:执行指令时发生异常。 4)处理:)处理:中断:保存现场后直接转入到中断入口程序;中断:保存现场后直接转入到中断入口程序; 异常:转入异常:转入trap处理程序,后跟据异常类型号转处理程序,后跟据异常类型号转 入相应的异常处理程序。入相应的异常处理程序。 5)返回:)返回:中断:返回用户程序或低优先级中断程序;中断:返回用户程序或低优先级中断程序; 异常:大部分不返回,系统调用返回访管指令的异常:大部分不返回,系统调用返回访管指令的 下一条指令,缺页异常返回发生异常的下一条指令

25、,缺页异常返回发生异常的 指令。指令。 计算机操作系统2.3 操作系统运行模型操作系统运行模型操作系统核心的主要功能模块如下操作系统核心的主要功能模块如下(UNIX(UNIX为例为例) ):l 系统初始化模块:系统初始化模块:初始化系统数据区,创建初始化系统数据区,创建1 1号进程运行号进程运行INITINIT程序,该进程为每个登录用户创程序,该进程为每个登录用户创建一个建一个tty终端终端进程,运行命令解释程序进程,运行命令解释程序, ,接收用户接收用户输入的命令。输入的命令。l 进程管理模块:进程管理模块:包含进程的系统调用处理包含进程的系统调用处理(如进程创建(如进程创建/ /结束结束,

26、 ,进程通信进程通信/ /同步)和处理机同步)和处理机的管理的管理( (如进程调度如进程调度, ,进程切换进程切换) )。计算机操作系统l 存储管理模块:存储管理模块:负责内存的管理,如内存管理负责内存的管理,如内存管理模块模块, ,进程空间分配进程空间分配, ,进程内外存之间交换。进程内外存之间交换。l 外设管理模块:外设管理模块:负责外设驱动和中断处理,包负责外设驱动和中断处理,包含设备访问接口程序,数据缓冲区管理模块,含设备访问接口程序,数据缓冲区管理模块,各种驱动器公共程序,各设备驱动程序,设备各种驱动器公共程序,各设备驱动程序,设备中断处理程序等。中断处理程序等。l 文件管理模块:文

27、件管理模块:处理文件类系统调用,如文件处理文件类系统调用,如文件访问接口程序,文件系统目录结构管理程序,访问接口程序,文件系统目录结构管理程序,文件数据缓冲管理模块,外存管理程序。文件数据缓冲管理模块,外存管理程序。计算机操作系统操作系统三种运行模型:操作系统三种运行模型: 独立运行的内核独立运行的内核: :用户程序与核心程序在分离的用户程序与核心程序在分离的运行环境中运行运行环境中运行, ,核心程序作为一个独立的特殊核心程序作为一个独立的特殊执行体运行,有自己独立的运行栈。执行体运行,有自己独立的运行栈。内核内核用户用户进程进程用户用户进程进程用户用户进程进程a.a.独立内核模式独立内核模式

28、.特点:特点:进程只运行用户程序,内核只是进程只运行用户程序,内核只是一个特殊的系统执行体;一个特殊的系统执行体;系统调用时,要访问用户进程的系统调用时,要访问用户进程的系统表格;系统表格;启动外设时,要与用户进程进行启动外设时,要与用户进程进行连接。连接。内核程序并发运行实现困难。内核程序并发运行实现困难。计算机操作系统 嵌入用户进程执行模式:嵌入用户进程执行模式:操作系统核心程序通过操作系统核心程序通过中断中断/ /例外机制启动运行,但运行于被打断进程例外机制启动运行,但运行于被打断进程的核心栈上的核心栈上, ,其并发性较好。操作系统空间地址其并发性较好。操作系统空间地址不与用户进程空间地

29、址重叠不与用户进程空间地址重叠, ,各占一片连续地址各占一片连续地址空间的高部与低部空间的高部与低部。本书描述的都是这种模式。本书描述的都是这种模式。 特点特点: :只发生模式转换只发生模式转换, ,没发生进程切换没发生进程切换. . b.b.操作系统嵌入用户进程中运行操作系统嵌入用户进程中运行用户用户进程进程用户用户进程进程用户用户进程进程内核内核内核内核内核内核进程切换进程切换系统程序系统程序及数据区及数据区用户数据区用户数据区用户程序区用户程序区核心栈核心栈用户栈区用户栈区系统空间系统空间用户空间用户空间计算机操作系统 微内核模式:微内核模式:核心程序只包含中断处理核心程序只包含中断处理

30、, ,系统调系统调用总控用总控, ,进程调度等功能进程调度等功能, ,其他功能由用户态运其他功能由用户态运行的系统进程实现行的系统进程实现, ,如现代操作系统如现代操作系统Mach3.0.Mach3.0. 优点优点: :模块化模块化, ,层次化方面比较好层次化方面比较好 缺点缺点: :通信通信, ,合作时开销很大合作时开销很大, ,损失系统性能。损失系统性能。用户用户进程进程用户用户进程进程用户用户进程进程系统系统进程进程系统系统进程进程进程切换(微内核)进程切换(微内核).c.c.操作系统功能以系统进程运行操作系统功能以系统进程运行计算机操作系统2.4 系统调用系统调用1.自陷指令自陷指令(

31、trap)自陷指令:一条能产生异常的机器指令,又称访自陷指令:一条能产生异常的机器指令,又称访管指令,或陷入指令。管指令,或陷入指令。PDP-11机器提供一条自陷指令:机器提供一条自陷指令:trap,指令码为,指令码为104400-104777。完成的工作为:。完成的工作为:PS内容入栈;内容入栈;PC内容入栈;内容入栈;从中断向量从中断向量034单元中取内容装入单元中取内容装入PS;从中断向量从中断向量036单元中取内容装入单元中取内容装入PC。计算机操作系统UNIXUNIX中中traptrap指令格式:指令格式: trap trap 类型号;类型号;traptrap的指令码为的指令码为10

32、4400-104477(104400-104477(八进制八进制) ),其中,其中指令码的最后指令码的最后6 6位表示系统调用的类型号。位表示系统调用的类型号。散转表数据结构:保存与类型号相对应的服务程散转表数据结构:保存与类型号相对应的服务程序入口地址。序入口地址。编号 参数个数 服务程序入口地址 0 1 do_fork 1 3 do_read 计算机操作系统2.2.系统调用的实现:系统调用的实现:系统调用库程序一般格式为:系统调用库程序一般格式为:. . .(.(传给核心参数按约定填入寄存器传给核心参数按约定填入寄存器) )trap trap 类型号类型号.(.(从约定的寄存器中获得核心返

33、回值)从约定的寄存器中获得核心返回值) . .returnreturn参数传递:约定好的寄存器传递参数参数传递:约定好的寄存器传递参数计算机操作系统系统调用各模块关系图异步调用接口系统调用接口用户程序系统调用库内核总控系统调用处理总控Write处理磁盘控制器磁盘中断处理用户态核心态磁盘驱动程序用户程序计算机操作系统3.3.系统调用实现举例系统调用实现举例POSIXPOSIX标准定义的系统调用如下:标准定义的系统调用如下:进程管理进程管理: : 创建进程创建进程 pidpid=fork( )=fork( ) 终止进程终止进程 exit(statusexit(status) ) 等待子进程结束等待

34、子进程结束 pid=wait(pidpid=wait(pid, ,) ) 替换进程映像替换进程映像 s=execve(name,argv,environps=execve(name,argv,environp) ) 向向pidpid进程发送一个进程发送一个signalsignal信号信号 s=kill(pids=kill(pid, , signal)文件管理文件管理: : 创建文件创建文件 fd=creat(namefd=creat(name, ,) ) 打开文件打开文件 fd=open(namefd=open(name, ,) ) 读文件读文件 n=read(fd,buffer,nbyten

35、=read(fd,buffer,nbyte) ) ( (下页续下页续) )计算机操作系统 写文件写文件 n=write(fd,buffer,nbyten=write(fd,buffer,nbyte) ) 移动文件指针移动文件指针 pos=seek(fd,offsetpos=seek(fd,offset, ,) ) 关闭文件关闭文件 s=close(fds=close(fd) )获取文件状态:获取文件状态:s=stat(filename,&bufs=stat(filename,&buf) )存储管理:存储管理:动态申请动态申请/ /释放存储空间等;释放存储空间等;目录管理:目录管理:建立目录,删

36、除目录等;建立目录,删除目录等;其他:其他:设置设置/ /获得时间等。获得时间等。说明:说明: 用户编程时不一定直接调用用户编程时不一定直接调用“系统调用系统调用”函数,函数,而是调用更高层的库函数,如而是调用更高层的库函数,如win32win32的的APIAPI函数。函数。计算机操作系统2.5 人机界面人机界面2.5.1 命令语言命令语言它是控制作业流程的用户界面它是控制作业流程的用户界面, ,由命令解释程序由命令解释程序解释执行命令。解释执行命令。 早期批处理系统:早期批处理系统:作业控制语言,作业控制语言, 由由JCLJCL解释程序来解释和执行解释程序来解释和执行 分时系统:分时系统:交

37、互语言交互语言(shell(shell命令,命令,DOSDOS键盘键盘命令命令) ) 由命令解释程序来解释和执行,如:由命令解释程序来解释和执行,如:shellshell命令解释程序,命令解释程序,explorerexplorer命令解释程序。命令解释程序。计算机操作系统 UNIX UNIX中的实例:中的实例: UNIXUNIX启动一个解释程序的执行过程如下启动一个解释程序的执行过程如下: : 系统启动时,系统启动时,1 1号进程为每个终端生成一个号进程为每个终端生成一个ttytty进程进程, ,让其运行登录程序;让其运行登录程序; 用户输入用户输入IDID及口令及口令, ,验证完用户后验证完用户后, ,转去执行转去执行shellshell解释程序;解释程序; 由由shellshell解释解释程序程序处理用户输入命令。处理用户输入命令。计算机操作系统 ShellShell解释程序所做的工作解释程序所做的工作(功能为解释执行功能为解释执行shellshell命令)如下:命令)如下: 通过发通过发“从终端读从终端读”系统调用接收输入;系统调用接收输入; 直接处理一些控制语句和简单命令,如判断命直接处理一些控制语句和简单命令,如判断命令的合法性;令的合

温馨提示

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

评论

0/150

提交评论