操作系统OS_lecture-2_第1页
操作系统OS_lecture-2_第2页
操作系统OS_lecture-2_第3页
操作系统OS_lecture-2_第4页
操作系统OS_lecture-2_第5页
已阅读5页,还剩133页未读 继续免费阅读

下载本文档

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

文档简介

1、操操 作作 系系 统统白恩健白恩健 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院本章主要讨论进程的基本概念,进程的描述和进程本章主要讨论进程的基本概念,进程的描述和进程控制,并引入了线程的基本概念。控制,并引入了线程的基本概念。学习要点学习要点: (1) 掌握进程的定义及特征掌握进程的定义及特征(2) 深入领会进程状态及引起状态变化的典型原因深入领会进程状态及引起状态变化的典型原因(3) 掌握进程同步与互斥掌握进程同步与互斥(4) 能够灵活运用信号量描述同步问题能够灵活运用信号量描述同步问题第二章第二章 进程管理进程管理 操作系统操作系统 白恩健白恩健 信息

2、科学与技术与技术学院信息科学与技术与技术学院v 80 x86 CPUv 进程的基本概念进程的基本概念v 进程控制进程控制v 进程同步进程同步v 经典进程同步问题经典进程同步问题v 管程机制管程机制v 进程通信进程通信v 线程线程第二章第二章 进程管理进程管理 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院 80 x86 CPU80 x86 CPU CPUCPU是微机系统中最珍贵的核心资源,而是微机系统中最珍贵的核心资源,而 Intel 80 x86Intel 80 x86系列系列CPUCPU一直是微机市场中的一直是微机市场中的主流产品。现代多任务操作系统中,主

3、流产品。现代多任务操作系统中,CPUCPU管管理的主要任务是以进程为单位对理的主要任务是以进程为单位对CPUCPU资源实资源实施分配和有效管理,因而对施分配和有效管理,因而对CPUCPU的管理可归的管理可归结为对进程的管理。结为对进程的管理。 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院(1 1)8086/8088 CPU8086/8088 CPU芯片引脚图芯片引脚图 CPU负责微机系统中绝大部分的控制与执行工作,其本身的工作效率基本上决定了整机的速度与性能,主要指标有:主频、外频、工作电压、制造工艺以及地址线宽度、数据线宽度、高速缓存(Cache)容量等。

4、 n8086/8088 CPU为双列直插式封装、共40个引脚的大规模集成芯片。n由于引脚数目的限制,部分引脚具有双重功能,这部分引脚有两种工作方式:一种是分时工作,即在总线周期的不同时间其引脚功能不同;另一种是按不同模式进行工作,即在最小方式或最大方式下其引脚功能不同。说说 明明 80868086/8088/8088引脚信号引脚信号 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院(2 2)8086/80888086/8088主要引脚信号主要引脚信号nAD15AD0地址/数据分时共用引脚nA19/S6A16/S3地址/状态分时共用n /S7高8位数据线允许/状态

5、共用nCLK时钟输入信号(由8284提供)n 读信号(读内存或I/O设备)nREADY准备就绪信号(输入)nINTR可屏蔽中断请求输入信号nNMI非屏蔽中断请求输入信号nRESET系统复位输入信号n 测试输入信号n 最小/最大方式选择信号nVcc+5V电源nGND接地信号 BHERDTESTMXMN /由于8086/8088既可以字操作,也可以字节操作,所以CPU连接的内存分为偶地址体和奇地址体,低8位数据线连接偶地址体,高8位数据线连接奇地址体,由AD0和 组合选择。 注意:注意:BHEBHE 80868086/8088/8088引脚信号引脚信号 操作系统操作系统 白恩健白恩健 信息科学与技

6、术与技术学院信息科学与技术与技术学院(1 1)基本概念)基本概念计算机一旦加电,CPU所有操作都在时钟脉冲信号CLK的统一控制下进行。在8086/8088系统中,CLK信号由时钟发生器8284A产生。每个时钟脉冲都有相同的时间跨度,称为一个时钟周期时钟周期。相应地,该CPU的时钟频率=1/T,也就是CPU的主频主频。CPU通过总线与内存或外设完成一次数据通信所需要的时间称为总线周总线周期期,或称为机器周期机器周期,一个基本总线周期由4个时钟周期(即4个T状态)组成。执行一条8086/8088指令所需的时间称为一个指令周期指令周期。对于那些通过总线访问数据的指令来说,一个指令周期由若干个总线周期

7、组成。 时钟周期T1T2T3TwT4T1T2T3T4总线周期总线周期指令周期TCLK 80868086/8088/8088操作时序操作时序 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院 80868086/8088/8088操作时序操作时序(2 2)总线读)总线读/ /写操作时序写操作时序 8086在最大工作方式下,基本总线周期由4个时钟周期组成,称为T1、T2、T3、T4状态。但是,对于低速存储器或外设,可能在规定的时间内未能准备好CPU需要读取的数据,或者未能将CPU输出的数据写入完成,则可以在T3和T4状态之间插入一个或多个等待状态Tw。 T1状态状态

8、T2状态状态 T3状态状态 T4状态状态 Tw状态状态 由8086送出20位地址到A19A16、AD15AD0,锁存地址信息后输出到地址总线上。 多路转换开关将AD15AD0上的地址撤消,切换成数据总线,为读写数据做准备。 采样READY或BUSY信号,若为有效则读入或写出数据,进入T4状态;若无效则插入等待周期Tw。 完成本次总线数据传送,恢复各信号线的初始状态,准备执行下一个总线周期。 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院前驱图前驱图 定义:一个有向无循环图,由节点和节点间的有定义:一个有向无循环图,由节点和节点间的有向边组成。节点代表各程序段操

9、作,而节点间的向边组成。节点代表各程序段操作,而节点间的有向边表示两程序段操作之间的前驱关系。有向边表示两程序段操作之间的前驱关系。 进程的基本概念进程的基本概念 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院 进程的基本概念进程的基本概念 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院程序的顺序执行程序的顺序执行 一个复杂程序通常可以分为若干程序段,并且必一个复杂程序通常可以分为若干程序段,并且必须按照某种先后次序来执行。须按照某种先后次序来执行。例例1:一个程序由三个程序段组成:输入数据:一个程序由三个程序段组成:输入数据

10、(I)、计算计算(C)和结果打印和结果打印(P)。两个相同类型程序顺序。两个相同类型程序顺序执行:执行:(a)程序的顺序执行I1C1P1I2C2P2 进程的基本概念进程的基本概念 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院例例2:语句执行顺序:语句执行顺序 S1: a =x+y; S2: b =a-5; S3: c =b+1;(b) 三条语句的顺序执行S1S2S3 进程的基本概念进程的基本概念 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院顺序执行的特征:顺序执行的特征: 顺序性顺序性 按照程序结构所指定的次序按照程序结构

11、所指定的次序(可能有分支或循环可能有分支或循环) 封闭性封闭性 独占全部资源,计算机的状态只由该程序的控制独占全部资源,计算机的状态只由该程序的控制逻辑所决定。逻辑所决定。 可再现性可再现性 初始条件相同则结果相同。初始条件相同则结果相同。 进程的基本概念进程的基本概念 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院对于编程人员讲,某个程序能够由计算机执行,需对于编程人员讲,某个程序能够由计算机执行,需满足两个条件:将程序放入内存并将该程序的地址满足两个条件:将程序放入内存并将该程序的地址送入计数器送入计数器PC。CPU的执行轨迹完全取决于程序的执行轨迹完全取

12、决于程序计数器计数器PC的内容是什么,即的内容是什么,即CPU要知道到内存何要知道到内存何处去取指令。因此,只要想办法把程序存入内存,处去取指令。因此,只要想办法把程序存入内存,记下该程序的起始地址,并把该起始地址存入程序记下该程序的起始地址,并把该起始地址存入程序计数器计数器PC,则,则CPU就可以执行该程序了,这就是就可以执行该程序了,这就是单道程序执行的基本原理。单道程序执行的基本原理。 进程的基本概念进程的基本概念 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院当多个程序顺序执行时,则需要将几个程序都放到当多个程序顺序执行时,则需要将几个程序都放到内存

13、中,然后将第一个被执行程序的起始地址放入内存中,然后将第一个被执行程序的起始地址放入PC中,这样中,这样CPU便可执行第一个程序。第一个程便可执行第一个程序。第一个程序完成后,再把第二个程序的起始地址放入序完成后,再把第二个程序的起始地址放入PC中,中,可以执行第二个程序,可以执行第二个程序,依次顺序下去,直到所依次顺序下去,直到所有程序都被执行一次。这就是多个程序顺序执行的有程序都被执行一次。这就是多个程序顺序执行的方式。方式。 进程的基本概念进程的基本概念 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院程序的并发执行程序的并发执行 并发执行是指若干个程序并

14、发执行是指若干个程序(或程序段或程序段) 在一个处理在一个处理器上的交替执行,这种交替执行在宏观上表现为器上的交替执行,这种交替执行在宏观上表现为同时执行。目的是为了提高资源利用率。同时执行。目的是为了提高资源利用率。例例3:一个程序由三个程序段组成:输入数据:一个程序由三个程序段组成:输入数据(I)、计算计算(C)和结果打印和结果打印(P)。四个相同类型程序并发。四个相同类型程序并发执行:执行: 进程的基本概念进程的基本概念 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院P1P2P3P4I1I2I3I4C1C2C3C4 进程的基本概念进程的基本概念 操作系统

15、操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院例例4:下述四条语句的程序段:下述四条语句的程序段: S1: a =x+2 S2: b =y+4 S3: c =a+b S4: d =c+bS1S2S3S4 进程的基本概念进程的基本概念 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院并发执行的特征:并发执行的特征: 间断性间断性 “走走停停走走停停”,一个程序可能走到中途停下来,失去原有,一个程序可能走到中途停下来,失去原有的时序关系。的时序关系。 失去封闭性失去封闭性共享资源,受其他程序的控制逻辑的影响。共享资源,受其他程序的控制逻辑的

16、影响。如:一个程序写到存储器中的数据可能被另一个程序修改,如:一个程序写到存储器中的数据可能被另一个程序修改,失去原有的不变特征。失去原有的不变特征。 不可再现性不可再现性失去封闭性失去封闭性 失去可再现性失去可再现性 进程的基本概念进程的基本概念 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院例例5:有两个循环程序:有两个循环程序A和和B,它们共享一个变量,它们共享一个变量N。程序。程序A每执行一次时,都要做每执行一次时,都要做N =N+1操作;程序操作;程序B每执行一每执行一次时,次时, 都要执行都要执行Print(N)操作,然后再将操作,然后再将N置成置

17、成“0”。程。程序序A和和B以不同的速度运行。以不同的速度运行。 (1) N =N+1在在Print(N)和和N =0之前,此时得到的之前,此时得到的N值分别为值分别为? (2) N =N+1在在Print(N)和和N =0之后,此时得到的之后,此时得到的N值分别为值分别为? (3) N =N+1在在Print(N)和和N =0之间,此时得到的之间,此时得到的N值分别为值分别为? 进程的基本概念进程的基本概念 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院 程序执行是为了对输入信息进行处理,并得到相应的处理程序执行是为了对输入信息进行处理,并得到相应的处理结果

18、。为此程序在并发执行时必须保持封闭性和可再现性。结果。为此程序在并发执行时必须保持封闭性和可再现性。并发执行失去封闭性的原因是共享资源的影响,如何去掉并发执行失去封闭性的原因是共享资源的影响,如何去掉这些影响?这些影响? 1966年,年,Bernstein给出了程序并发执行的条件,假设程给出了程序并发执行的条件,假设程序序P(i)所访问的共享变量的读集和写集分别为所访问的共享变量的读集和写集分别为R(i)和和W(i),则任意两个程序则任意两个程序P(i)和和P(j)并发的并发的 条件:条件: 进程的基本概念进程的基本概念 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与

19、技术学院1) R(i)W(j)=2) W(i)R(j)=3) W(i)W(j)= 前两个条件保证一个程序在两次读操作之间存储前两个条件保证一个程序在两次读操作之间存储器中的数据不会发生变化;第三个条件保证程序器中的数据不会发生变化;第三个条件保证程序的写操作的结果不会丢失。同时满足三个条件,的写操作的结果不会丢失。同时满足三个条件,并发执行的程序就可保持封闭性和可再现性。实并发执行的程序就可保持封闭性和可再现性。实际中很难检查这三个条件。际中很难检查这三个条件。 进程的基本概念进程的基本概念 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院多个程序并发执行轮流占

20、有多个程序并发执行轮流占有CPU,这种情况下,被,这种情况下,被中断的程序如果不把中断点的地址保存下来,不把中断的程序如果不把中断点的地址保存下来,不把通用寄存器的内容保存下来,下次再轮到它执行时,通用寄存器的内容保存下来,下次再轮到它执行时,便不能保证能够从曾被中断的地方继续执行。即便便不能保证能够从曾被中断的地方继续执行。即便是从曾被中断的地方继续执行,也不能保证其结果是从曾被中断的地方继续执行,也不能保证其结果是正确的。因为在它被中断期间,已有别的程序在是正确的。因为在它被中断期间,已有别的程序在执行,可能已经对通用寄存器的内容进行了变更。执行,可能已经对通用寄存器的内容进行了变更。 进

21、程的基本概念进程的基本概念 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院为了保证在平分为了保证在平分CPU时间的进程之间能够正确执行,时间的进程之间能够正确执行,必须在内存中开辟一个区域,将这些通用寄存器的必须在内存中开辟一个区域,将这些通用寄存器的值和被中断地点的地址保存起来,已备再用。对于值和被中断地点的地址保存起来,已备再用。对于这个区域,可用一个数据结构描述,它存放了对程这个区域,可用一个数据结构描述,它存放了对程序的控制信息,包括:程序的起始地址、程序的断序的控制信息,包括:程序的起始地址、程序的断点地址、通用寄存器的内容、程序的当前状态。点地址、

22、通用寄存器的内容、程序的当前状态。 把这个数据结构与对应的程序一起,命名为把这个数据结构与对应的程序一起,命名为进程进程,这个记录程序控制信息的数据结构称之为这个记录程序控制信息的数据结构称之为进程控制进程控制块块。 进程的基本概念进程的基本概念 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院 例:设有堆栈S,栈指针top,栈中当前存放数据情况如图。现有两个程序getdata(top)和reldata(x),其中getdata(top)是从top所指的栈顶中取出数据;reldata(x)是将数据x存放到堆栈S中。procedure getdata(top)be

23、gin local r; r:=(top); top:=top-1; return (r)endprocedure reldata(x)begin top:=top+1; (top):=x;end 进程的基本概念进程的基本概念 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院1234堆栈Stop1234执行语句top:=top+1后top1234topgetdata取数失败 进程的基本概念进程的基本概念 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院 导致错误的根本原因在于入栈和出栈程序共享堆导致错误的根本原因在于入栈和出栈程序

24、共享堆栈,使它们之间要受到执行速度的制约。因此操栈,使它们之间要受到执行速度的制约。因此操作系统须采取措施来控制和协调资源的共享和竞作系统须采取措施来控制和协调资源的共享和竞争,以制约系统中并发程序的执行速度。为达到争,以制约系统中并发程序的执行速度。为达到这个目的,须有一个能够动态描述各程序执行过这个目的,须有一个能够动态描述各程序执行过程,并能用作对资源进行分配的基本单位程,并能用作对资源进行分配的基本单位进程进程。 进程的基本概念进程的基本概念 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院 进程的定义与特征进程的定义与特征 多道程序设计技术、分时系统要

25、求能够描述程序多道程序设计技术、分时系统要求能够描述程序的动态特性,需要引入新概念。的动态特性,需要引入新概念。描述性定义:描述性定义:计算机中的所有程序,按照某种顺计算机中的所有程序,按照某种顺序运行,这种运行的过程称为进程。序运行,这种运行的过程称为进程。 定义:进程是一个具有一定独立功能的定义:进程是一个具有一定独立功能的程序程序在在一个一个数据集合数据集合上的一次上的一次动态执行动态执行过程。是系统进过程。是系统进行资源分配与调度的一个独立单位。行资源分配与调度的一个独立单位。 进程的基本概念进程的基本概念 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学

26、院v进程的组成进程的组成 进程进程控制块控制块 PCB 程程 序序 与与 数数 据据程序与数据:程序与数据: 描述进程本身所应完成的描述进程本身所应完成的功能;功能;PCB: 进程的动态特征,该进程进程的动态特征,该进程与其他进程和系统资源的关与其他进程和系统资源的关系。系。 进程的基本概念进程的基本概念 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院 特征:特征:v 动态性:进程是程序的一次执行过程,因而是动态的。动态性还动态性:进程是程序的一次执行过程,因而是动态的。动态性还表现在它因创建而产生、因调度而执行、因得不到资源暂停执行,表现在它因创建而产生、因

27、调度而执行、因得不到资源暂停执行,最后由撤销死亡。最后由撤销死亡。v 并发性:引入进程的目的就是为了使程序能与其它程序并发以提并发性:引入进程的目的就是为了使程序能与其它程序并发以提高资源利用率。高资源利用率。v 独立性:进程是能独立运行的基本单位,也是系统进行资源分配独立性:进程是能独立运行的基本单位,也是系统进行资源分配和调度的独立单位。和调度的独立单位。v 异步性:进程以各自独立的、不可预知的速度向前推进。异步性:进程以各自独立的、不可预知的速度向前推进。v 结构特征:每个进程都由程序段、数据段和进程控制块结构特征:每个进程都由程序段、数据段和进程控制块(PCB)三三部分组成。部分组成。

28、 进程的基本概念进程的基本概念 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院 进程与程序的区别进程与程序的区别v 进程是动态的,程序是静态的进程是动态的,程序是静态的:程序是有序代码的集合;进程:程序是有序代码的集合;进程是程序的执行。通常进程不可在计算机之间迁移;而程序通常是程序的执行。通常进程不可在计算机之间迁移;而程序通常对应着文件、静态和可以复制。对应着文件、静态和可以复制。v 进程是暂时的,程序的永久的进程是暂时的,程序的永久的:进程是一个状态变化的过程,:进程是一个状态变化的过程,程序可长久保存。程序可长久保存。v 进程与程序的组成不同进程与程序

29、的组成不同:进程的组成包括程序、数据和进程控:进程的组成包括程序、数据和进程控制块制块(即进程状态信息即进程状态信息)。v 进程与程序的对应关系进程与程序的对应关系:通过多次执行,一个程序可对应多个:通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可包括多个程序。进程;通过调用关系,一个进程可包括多个程序。 进程的基本概念进程的基本概念 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院进程状态及其变化进程状态及其变化 一个进程的生命期可以划分为一组状态,这些状态刻画一个进程的生命期可以划分为一组状态,这些状态刻画了这个进程。系统根据了这个进程。系统根

30、据PCB中的状态值控制进程。中的状态值控制进程。3种基本状态:种基本状态:v 就绪状态:进程已获得了除就绪状态:进程已获得了除CPU以外的所有资源,一以外的所有资源,一旦获得旦获得CPU就可立即执行;就可立即执行;v 执行状态:进程获得了全部资源并在执行状态:进程获得了全部资源并在CPU上运行时所上运行时所处的状态;处的状态;v 阻塞状态:正在执行的进程由于发生某事件而暂时无阻塞状态:正在执行的进程由于发生某事件而暂时无法执行。法执行。 进程的基本概念进程的基本概念 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院就绪阻塞执行时间片完进程调度I/O完成I/O请求

31、 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院例例6:一个只有一个:一个只有一个CPU的系统中,如某时刻共有的系统中,如某时刻共有10个进个进程并发执行,在忽略调度程序占用时间情况下,问:程并发执行,在忽略调度程序占用时间情况下,问:系统中处于运行态的进程数最多有几个,最少有几个系统中处于运行态的进程数最多有几个,最少有几个?系统中处于就绪态的进程数最多有几个,最少有几个系统中处于就绪态的进程数最多有几个,最少有几个?(1) 系统中处于阻塞态的进程数最多有几个,最少有几个系统中处于阻塞态的进程数最多有几个,最少有几个? 进程的基本概念进程的基本概念 操作系统

32、操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院v 其它复杂的进程状态:其它复杂的进程状态:创建、退出、挂起三种状态创建、退出、挂起三种状态 创建状态:进程正在创建过程中,还不能运行。要进行的工作创建状态:进程正在创建过程中,还不能运行。要进行的工作包括分配和建立包括分配和建立PCB表项、建立资源表格并分配资源、加载表项、建立资源表格并分配资源、加载程序并建立地址空间表等。程序并建立地址空间表等。 退出状态:进程已结束运行,回收除退出状态:进程已结束运行,回收除PCB外的其它资源,并外的其它资源,并让其它进程从让其它进程从PCB中收集有关信息,如将退出代码传递给父中收集

33、有关信息,如将退出代码传递给父进程。进程。 挂起状态:用于区分进程地址空间位于内存还是外存挂起状态:用于区分进程地址空间位于内存还是外存。 进程的基本概念进程的基本概念 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院v五种状态模型:五种状态模型:v增加创建、退出两种状态。增加创建、退出两种状态。v七种状态模型:七种状态模型:v增加静止就绪和静止阻塞两种状态。增加静止就绪和静止阻塞两种状态。 进程的基本概念进程的基本概念 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院挂起进程模型:挂起进程模型:这个问题的出现是由于进程优先级的引

34、入,一些低优先级进程这个问题的出现是由于进程优先级的引入,一些低优先级进程可能等待较长时间,从而被可能等待较长时间,从而被对换至外存对换至外存。这样做的目的是:。这样做的目的是:-提高处理机效率提高处理机效率:就绪进程表为空时,要提交新进程,以:就绪进程表为空时,要提交新进程,以提高处理机效率;提高处理机效率;-为运行进程为运行进程提供足够内存提供足够内存:资源紧张时,暂停某些进程,:资源紧张时,暂停某些进程,如:如:CPU繁忙繁忙(或实时任务执行或实时任务执行),内存紧张,内存紧张-用于用于调试调试:在调试时,挂起:在调试时,挂起被调试进程被调试进程(从而对其地址空从而对其地址空间进行读写间

35、进行读写)挂起状态实际是让某些进程处于静止状态。挂起状态实际是让某些进程处于静止状态。 进程的基本概念进程的基本概念 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院活动就绪静止就绪执行挂起激活释放挂起活动阻塞静止阻塞挂起激活释放请求I/O 进程的基本概念进程的基本概念 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院进程控制块进程控制块(PCB) 系统为每个进程定义了一个数据结构:系统为每个进程定义了一个数据结构:PCB,用于,用于记录进程的属性信息。创建一个进程时,系统为该记录进程的属性信息。创建一个进程时,系统为该进程建立一

36、个进程建立一个PCB;当进程执行时,系统通过;当进程执行时,系统通过PCB了解进程的现行状态信息,以便了解进程的现行状态信息,以便 对其控制和管理;对其控制和管理;进程结束时,系统收回进程结束时,系统收回PCB,进程消亡。因此,系,进程消亡。因此,系统是根据统是根据PCB感知进程的存在,感知进程的存在,PCB是进程存在的是进程存在的唯一标志。唯一标志。 进程的基本概念进程的基本概念 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院PCB的内容:的内容: 进程标示符进程标示符 进程当前状态进程当前状态 进程队列指针进程队列指针 程序和数据地址程序和数据地址 进程优

37、先级进程优先级 CPU现场保护区现场保护区 家族信息家族信息 通信信息通信信息 占有资源清单占有资源清单 进程的基本概念进程的基本概念 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院PCB的组织方式:的组织方式: 链接方式:将具有相同状态的链接方式:将具有相同状态的PCB,用其中的链,用其中的链接字链接成一个队列。接字链接成一个队列。 索引方式:根据进程状态建立索引表,由索引指索引方式:根据进程状态建立索引表,由索引指向相应的向相应的PCB 。 进程的基本概念进程的基本概念 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院rea

38、dy_q_startready_q_startpcb1pcb2pcb9就绪队列结构nextwait_lpt_q_startpcb3pcb7next打印机等待队列结构runningpcb4next运行指针 进程的基本概念进程的基本概念 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院PCB14PCB2PCB3PCB4PCB5PCB6PCB7PCB8PCB93087901执行指针就绪队列指针阻塞队列指针空闲队列指针 进程的基本概念进程的基本概念 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院执行指针就绪索引表PCB1PCB2PCB3

39、PCB4PCB5PCB6PCB7阻塞索引表就绪表指针阻塞表指针 进程的基本概念进程的基本概念 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院进程是有生命周期的:产生、运行、暂停和终止,对进程进程是有生命周期的:产生、运行、暂停和终止,对进程的这些操作叫进程控制。进程控制的职责是对所有进程实的这些操作叫进程控制。进程控制的职责是对所有进程实施有效管理,其功能包括进程的创建、撤销、阻塞与唤醒、施有效管理,其功能包括进程的创建、撤销、阻塞与唤醒、挂起与激活等。这些功能由内核通过原语实现。挂起与激活等。这些功能由内核通过原语实现。内核内核:硬件的第一层软件扩充,可大可

40、小。基本功能是中:硬件的第一层软件扩充,可大可小。基本功能是中断处理和进程管理。断处理和进程管理。原语原语:由若干条机器指令构成的、用以完成特定功能的一:由若干条机器指令构成的、用以完成特定功能的一段程序。原语在执行期间不可分割,因此原语操作具有原段程序。原语在执行期间不可分割,因此原语操作具有原子性。子性。 进程控制进程控制 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院v进程控制的职责进程控制的职责 对系统中的全部进程实施有效的管理,负责对系统中的全部进程实施有效的管理,负责进程状态的改变。进程状态变化:进程状态的改变。进程状态变化: 无 有 消亡 运 行

41、 等 待 就 绪 等 待等待唤醒创建撤消 进程控制进程控制 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院进程创建进程创建如果需要,一个进程可以创建一个新进程。如:用如果需要,一个进程可以创建一个新进程。如:用户登陆、作业调度等。被创建的进程称为子进程,户登陆、作业调度等。被创建的进程称为子进程,创建进程的进程称为父进程。子进程可以继承父进创建进程的进程称为父进程。子进程可以继承父进程所拥有的资源。撤销父进程时同时撤销其所有子程所拥有的资源。撤销父进程时同时撤销其所有子进程。进程。按子进程是否覆盖父进程和是否加载新程序,子进按子进程是否覆盖父进程和是否加载新程

42、序,子进程的创建可分为程的创建可分为fork、spawn、exec三种类型。三种类型。 进程控制进程控制 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院vFork():产生新的:产生新的PCB和新进程。新的和新进程。新的PCB内容内容直接复制于父进程的相应内容,以后再调整。直接复制于父进程的相应内容,以后再调整。vSpawn():产生新的:产生新的PCB和新进程,新的和新进程,新的PCB的的内容来源于新加载的。内容来源于新加载的。vExec():不产生新的:不产生新的PCB和新进程,新进程的内和新进程,新进程的内容直接加载并覆盖原进程。容直接加载并覆盖原进程。

43、 进程控制进程控制 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院创建原语创建原语:为被创建进程形成一个:为被创建进程形成一个PCB(1) 向系统申请一个空白向系统申请一个空白PCB; (2) 为新进程分配必要的资源;为新进程分配必要的资源; (3) 初始化进程控制块;初始化进程控制块; (4) 将新进程插入就绪队列;将新进程插入就绪队列;(5) 返回进程标识符。返回进程标识符。 进程控制进程控制 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院create (name,priority,start_addr)入口 查PCB总链

44、有同名 ? 向系统申请一个空的 PCB结构有空PCB ? 将入口信息填入 PCB相应项 将PCB入就绪队列 将PCB入总链队列返回进程PID出错YN出错 进程控制进程控制 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院进程终止进程终止进程完成任务后应予以撤销,以便及时释放它占用进程完成任务后应予以撤销,以便及时释放它占用的各类资源。通过相应的系统调用进行。的各类资源。通过相应的系统调用进行。终止原语终止原语:收回被终止进程所占用的所有资源,并:收回被终止进程所占用的所有资源,并撤销其撤销其PCB(1) 根据被终止进程的标识符,从根据被终止进程的标识符,从PCB

45、集合中检索集合中检索出该进程的出该进程的PCB,从中读出该进程的状态;,从中读出该进程的状态; 进程控制进程控制 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院(2) 若被终止进程正处于执行状态,应立即终止该若被终止进程正处于执行状态,应立即终止该进程的执行,并置调度标志为真,用于指示该进程进程的执行,并置调度标志为真,用于指示该进程被终止后应重新进行调度;被终止后应重新进行调度;(3) 若该进程还有子孙进程,还应将其所有子孙进若该进程还有子孙进程,还应将其所有子孙进程予以终止,以防他们成为不可控的进程;程予以终止,以防他们成为不可控的进程;(4) 将被终止进

46、程所拥有的全部资源,或者归还给将被终止进程所拥有的全部资源,或者归还给其父进程,其父进程, 或者归还给系统;或者归还给系统;(5) 将被终止进程将被终止进程(它的它的PCB)从所在队列从所在队列(或链表或链表)中中移出,移出, 等待其他程序来搜集信息。等待其他程序来搜集信息。 进程控制进程控制 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院Kill (或或exit) 入口 由运行指针得当前进程的PID 释放本进程所占用的资源给父进程 该进程从总链队列中摘下 释放PCB结构 转进程调度 进程控制进程控制 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信

47、息科学与技术与技术学院进程阻塞进程阻塞( (主动主动) )当一个进程期待的某一事件尚未出现时,该进程调当一个进程期待的某一事件尚未出现时,该进程调用阻塞原语将自己阻塞起来。用阻塞原语将自己阻塞起来。阻塞原语阻塞原语:将进程由执行状态转为阻塞状态:将进程由执行状态转为阻塞状态(1) 中断处理机,保存该进程的中断处理机,保存该进程的CPU现场,停止运现场,停止运行该进程;行该进程;(2) 将该进程将该进程(PCB)插入到相应事件的等待队列中;插入到相应事件的等待队列中;(3) 从就绪队列中选择另一个进程投入运行。从就绪队列中选择另一个进程投入运行。 进程控制进程控制 操作系统操作系统 白恩健白恩健

48、 信息科学与技术与技术学院信息科学与技术与技术学院 进程唤醒进程唤醒( (被动被动) )处于阻塞状态的进程当等待事件出现时,由发现者处于阻塞状态的进程当等待事件出现时,由发现者进程调用唤醒原语将阻塞进程唤醒,使其进入就绪进程调用唤醒原语将阻塞进程唤醒,使其进入就绪状态。状态。唤醒原语唤醒原语:将进程由阻塞状态转为就绪状态:将进程由阻塞状态转为就绪状态(1) 将被唤醒进程从相应的等待队列中移出;将被唤醒进程从相应的等待队列中移出;(2) 将该进程状态改为就绪态;将该进程状态改为就绪态;(3) 插入就绪队列。插入就绪队列。 进程控制进程控制 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院

49、信息科学与技术与技术学院 在在UNIX系统中,与进入阻塞状态相关的系统调用主要有:系统中,与进入阻塞状态相关的系统调用主要有:暂停一段时间暂停一段时间sleep、暂停并等待信号、暂停并等待信号pause和等待子进程和等待子进程暂停或中止暂停或中止wait。与唤醒阻塞进程相关的系统调用主要是。与唤醒阻塞进程相关的系统调用主要是发送信号到某个或一组进程发送信号到某个或一组进程kill。sleep:在指定时间内挂起本进程,调用格式:在指定时间内挂起本进程,调用格式: unsigned sleep(unsigned seconds返回值为实际的挂起时间。返回值为实际的挂起时间。 进程控制进程控制 操作

50、系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院 pause:挂起本进程以等待信号,接收到信号后恢复执行。:挂起本进程以等待信号,接收到信号后恢复执行。当接收到终止进程信号时,该调用不再返回。调用格式:当接收到终止进程信号时,该调用不再返回。调用格式: int pause(void) wait:挂起本进程以等待子进程的结束,子进程结束时返:挂起本进程以等待子进程的结束,子进程结束时返回。若父进程创建多个子进程且已有进程退出时,父进程回。若父进程创建多个子进程且已有进程退出时,父进程中的中的wait函数在第一个子进程结束时返回,返回值为子进函数在第一个子进程结束时返回

51、,返回值为子进程程ID。调用格式:。调用格式: pid_t wait(int *stat_loc) 进程控制进程控制 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院 kill:可发送信号:可发送信号sig到某个或一组进程到某个或一组进程pid。调用。调用格式:格式: int kill(pid_t pid, int sig)信号的定义在文件信号的定义在文件/usr/ucbinclude/sys/signal.h中。中。 进程控制进程控制 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院进程挂起进程挂起方式:方式:1) 把发命令进程

52、自身挂起;把发命令进程自身挂起;2) 挂起具有指定挂起具有指定标示符的进程;标示符的进程;3) 将某进程全部或部分子进程挂起。将某进程全部或部分子进程挂起。挂起原语挂起原语:(1) 检查被挂起进程检查被挂起进程PCB的现行状态并修改:活动就的现行状态并修改:活动就绪绪静止就绪;活动阻塞静止就绪;活动阻塞静止阻塞;运行态静止阻塞;运行态静静止就绪,并调度另一活动就绪进程运行;止就绪,并调度另一活动就绪进程运行; 进程控制进程控制 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院(2) 把进程把进程PCB复制到内存指定区域,以方便用户或复制到内存指定区域,以方便用户

53、或父进程考察该进程的运行情况父进程考察该进程的运行情况进程激活进程激活使处于静止状态的进程变为活动。使处于静止状态的进程变为活动。激活原语激活原语:检查被挂起进程检查被挂起进程PCB的现行状态并修改:静止就的现行状态并修改:静止就绪绪活动就绪;静止阻塞活动就绪;静止阻塞活动阻塞;活动阻塞; 进程控制进程控制 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院 在在Windows 2000/XP中,处理器的调度对象为线程,用户中,处理器的调度对象为线程,用户可通过系统调用可通过系统调用SuspendThread和和ResumeThread 来挂起或激活线程。一个线程

54、可多次挂起和激活,在线程来挂起或激活线程。一个线程可多次挂起和激活,在线程控制块控制块TCB中有一个挂起计数,挂起操作使该计数加中有一个挂起计数,挂起操作使该计数加1,激,激活操作使该计数减活操作使该计数减1。当挂起计数从。当挂起计数从0变为变为1时,线程进入阻时,线程进入阻塞状态;当挂起计数由塞状态;当挂起计数由1变为变为0时,线程恢复执行。系统调时,线程恢复执行。系统调用的简要描述:用的简要描述: 进程控制进程控制 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院 挂起:挂起:SuspendThread可挂起指定的线程。可挂起指定的线程。 DWORD Sus

55、pendThread(HANDLE hthread) 激活:激活:ResumeThread可恢复指定线程的执行。可恢复指定线程的执行。 DWORD ResumeThread(HANDLE hthread) 进程控制进程控制 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院多道程序环境多道程序环境进程并发执行,它们之间存在相进程并发执行,它们之间存在相互制约的关系。互制约的关系。间接制约:间接制约: 由于共享资源所要求的排它性,进程由于共享资源所要求的排它性,进程间要相互竞争间要相互竞争进程互斥进程互斥直接制约:直接制约:多个进程中发生的事件存在某种时序关多个进程

56、中发生的事件存在某种时序关系,必须协同动作、相互配合,以共同完成一个任系,必须协同动作、相互配合,以共同完成一个任务务进程同步进程同步 进程互斥与同步进程互斥与同步 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院临界资源临界资源 一次仅允许一个进程使用的资源称为一次仅允许一个进程使用的资源称为临界资源临界资源。如:打印机、变量、共享代码。如:打印机、变量、共享代码段、共享数据结构等。段、共享数据结构等。例:例:register1和和register2共享变量共享变量counter(=5): register1:=counter; (register1=5) r

57、egister1:=register1+1; (register1=6) register2:=counter; (register2=5) register2: =register2-1; (register2=4) counter:=register1; (counter=6) counter:=register2; (counter=4) 进程互斥与同步进程互斥与同步 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院v例:下面是两个并发执行的进程。它们能正确执例:下面是两个并发执行的进程。它们能正确执行吗?并改正。行吗?并改正。parbegin var x

58、:integer; process P1 var y,z:integer; begin x:=1; y:=0; if x=1 then y:=y+1; z:=y; end process P2 var t,u:integer; begin x:=0; t:=0; if x0) 表示有表示有m个资源可供使用;个资源可供使用; =0 表示资源已被占用,且无其它进程表示资源已被占用,且无其它进程 等待;等待; =-n(0) 表示资源已被占用,且有表示资源已被占用,且有n个进程个进程 因等待资源而被阻塞。因等待资源而被阻塞。 进程互斥与同步进程互斥与同步 操作系统操作系统 白恩健白恩健 信息科学与技术

59、与技术学院信息科学与技术与技术学院o P-V操作操作可用函数可用函数wait(S)和和signal(S)来描述,分别代表申请和释放来描述,分别代表申请和释放资源。描述如下:资源。描述如下:wait(S) var S: semaphore; begin S.value:=S.value-1; if S.value0 then block(S,L);/阻塞进程并阻塞进程并放入等待队列放入等待队列 endsignal(S) var S: semaphore; begin S.value:=S.value+1; if S.value0V操作原语操作原语 进程互斥与同步进程互斥与同步 操作系统操作系统

60、白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院作为操作系统核心代码的一部分,作为操作系统核心代码的一部分,P、V原语的执原语的执行,不受进程调度和执行的打断,从而很好的解决行,不受进程调度和执行的打断,从而很好的解决了原语操作的整体性问题。了原语操作的整体性问题。 进程互斥与同步进程互斥与同步 操作系统操作系统 白恩健白恩健 信息科学与技术与技术学院信息科学与技术与技术学院 利用信号量实现进程互斥利用信号量实现进程互斥 为使多个进程能互斥的访问某临界资源,只需为为使多个进程能互斥的访问某临界资源,只需为该资源设置一个互斥信号量该资源设置一个互斥信号量 mutex,并设其初值,并

温馨提示

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

评论

0/150

提交评论