《第二章-进程管理》由会员分享,可在线阅读,更多相关《第二章-进程管理(103页珍藏版)》请在金锄头文库上搜索。
1、第二章第二章 进程管理进程管理2.1 进程的基本概念进程的基本概念2.2 进程控制进程控制2.3 进程的同步与互斥进程的同步与互斥2.4 进程通信进程通信2.5线程线程预备知识:预备知识: 前趋图的定义前趋图的定义o前趋图是一个前趋图是一个有向无循环图有向无循环图, 用于描述进程之间执用于描述进程之间执行的前后关系。行的前后关系。初始节点初始节点终止节点终止节点语句语句/程序段程序段/进程进程偏序关系偏序关系(错误错误)(a)具有九个结点的前趋图)具有九个结点的前趋图 (b)具有循环的前驱图)具有循环的前驱图P1P2,P1P3,P1P4,P2P5,P3P5,P4P6,P4P7,P5P8,P6P
2、8,P7P9,P8P942.1.1 程序顺序执行程序顺序执行 o1.程序执行:程序执行: 编辑编辑 编译编译 链接链接 执行执行o2.程序段:程序段: S1 a:=x+y; S2 b:=a-5; S3 c:=b+1;o顺序执行的特征顺序执行的特征:n顺序性顺序性n封闭性封闭性n可再现性可再现性2.1 进程的基本概念进程的基本概念52.1.2 程序并发执行程序并发执行1.并发执行的概念并发执行的概念 程序的并发执行程序的并发执行是指多个程序同时在系统中运行,一是指多个程序同时在系统中运行,一个程序的执行还没结束,另一个程序就已经开始执个程序的执行还没结束,另一个程序就已经开始执行。即程序的执行在
3、时间上是交替的。行。即程序的执行在时间上是交替的。62.1.2 程序并发执行程序并发执行o多个程序并发执行的前驱图多个程序并发执行的前驱图Ii 输入进程输入进程 Ci 计算进程计算进程 Pi 打印进程打印进程前趋关系:前趋关系: IiCi,IiIi+1CiPi,CiCi+1PiPi+17程序并发执行时的特征程序并发执行时的特征 o1.间断性间断性 n相互合作相互合作, 相互制约相互制约n执行执行暂停暂停执行执行o2.失去封闭性失去封闭性n多个程序共享系统资源多个程序共享系统资源, 资源的状态有多个程序改变资源的状态有多个程序改变n程序的运行时,受到其它程序的影响程序的运行时,受到其它程序的影响
4、o3.不可再现性不可再现性 n程序运行结果与执行的相对速度有关程序运行结果与执行的相对速度有关n初始条件相同,结果未必相同初始条件相同,结果未必相同P P1 1P P2 2P P3 3P P4 4I I1 1I I2 2I I3 3I I4 4C C1 1C C2 2C C3 3C C4 48并发执行过程中的不可再现性并发执行过程中的不可再现性o例如,有两个循环程序例如,有两个循环程序A和和B,它们共享一个变量,它们共享一个变量NnA: N =N+1;nB: Print(N) ; N:=0o设设N初始值为初始值为5,程序,程序A和和B以不同的速度运行以不同的速度运行n(1) A B,N值变化过
5、程值变化过程: n(2) BA,N值变化过程值变化过程: n(3) A在在B 中间执行,中间执行,N值变化过程值变化过程: 6, 6, 05, 0, 15, 6, 09程序顺序执行和并发执行程序顺序执行和并发执行o顺序执行的特征顺序执行的特征:n顺序性顺序性n封闭性封闭性n可再现性可再现性o并发执行的特征并发执行的特征:n间断性间断性 n失去封闭性失去封闭性n不可再现性不可再现性 102.1.3 进程的描述进程的描述o1. 进程的概念进程的概念o2. 进程的特征进程的特征o3. 进程起状态进程起状态o4. 进程状态的转换进程状态的转换o5.挂起状态挂起状态11进程的引入进程的引入o程序程序并发
6、执行时,产生了一些新特性并发执行时,产生了一些新特性(间断性,失去封闭间断性,失去封闭性,不可再现性性,不可再现性)。这些特性决定了通常的程序不能参。这些特性决定了通常的程序不能参与并发执行与并发执行, 且因为不可再现性的特点,使程序的运行且因为不可再现性的特点,使程序的运行失去了意义。失去了意义。o为了使程序在多道程序环境下能够并发执行为了使程序在多道程序环境下能够并发执行,并能对并,并能对并发执行的程序加以控制和描述,引入了进程的概念。发执行的程序加以控制和描述,引入了进程的概念。121.进程的概念进程的概念 进程:进程:是一个是一个可并发执行可并发执行的具有的具有独立功能独立功能的的程序
7、程序关于某个数据集合关于某个数据集合的一次的一次执行过程执行过程。132.进程的特征进程的特征(1) 动态性动态性n程序是静态的实体程序是静态的实体n进程是动态的实体,进程是动态的实体,动态性是进程的最基本特征动态性是进程的最基本特征。n进程有一定的生命周期进程有一定的生命周期o由创建而产生,由调度而执行,由得不到资源由创建而产生,由调度而执行,由得不到资源而暂停,由撤销而消亡。而暂停,由撤销而消亡。(2) 独立性独立性n进程是一个能够独立运行的基本单位,也是系统分配资源的基本进程是一个能够独立运行的基本单位,也是系统分配资源的基本单位。单位。142.进程的特征进程的特征(3) 并发性并发性n
8、多个进程实体可以同时存在于内存中,交替的并发执行。多个进程实体可以同时存在于内存中,交替的并发执行。n不同进程的执行在时间上有重叠的部分。不同进程的执行在时间上有重叠的部分。n并发性是进程的重要特征,也是并发性是进程的重要特征,也是OS的重要特征。的重要特征。 (4) 异步性异步性n进程按各自独立的、不可预知的速度向前推进。进程按各自独立的、不可预知的速度向前推进。(5)结构特征)结构特征n进程实体进程实体=进程控制块进程控制块(PCB)(PCB)程序段程序段数据结构数据结构 15进程进程 vs 程序程序1.程序是一组指令的集合,是程序是一组指令的集合,是静态静态的;进程是程序的一次执的;进程
9、是程序的一次执行,是行,是动态动态的。的。2.程序存放于某种介质上是程序存放于某种介质上是永久永久的;进程具有创建的;进程具有创建运行运行消亡的过程,是消亡的过程,是暂时暂时的。的。3. 进程包含程序中的部分片段,还具有进程包含程序中的部分片段,还具有PCB。163. 进程的状态进程的状态o进程执行的间断性,决定了进程可能具有多种状态。进程执行的间断性,决定了进程可能具有多种状态。(1) 就绪状态就绪状态 n万事具备,只差万事具备,只差CPUn就绪队列就绪队列(2) 执行状态执行状态n已获得已获得CPU,其程序正在执行,其程序正在执行(3) 阻塞状态阻塞状态n由于某些事件的发生(如请求由于某些
10、事件的发生(如请求I/O,申请缓冲空间等)而暂时,申请缓冲空间等)而暂时无法继续执行时,便放弃无法继续执行时,便放弃CPU而处于暂停状态而处于暂停状态n阻塞队列阻塞队列173. 进程的状态进程的状态(4) 创建状态创建状态 o正在创建过程中,还没有进入就绪状态正在创建过程中,还没有进入就绪状态o分配和建立进程控制块表、建立资源表、分配资源分配和建立进程控制块表、建立资源表、分配资源(5) 终止状态终止状态o已经结束或被迫终止已经结束或被迫终止o释放资源释放资源o没有撤销没有撤销184.进程状态的转换进程状态的转换就绪就绪阻塞阻塞执行执行I/O完成或事件发生完成或事件发生I/O请求或等待某事请求
11、或等待某事件件中断中断( (时间片用完时间片用完) )进程调度进程调度创建创建终止终止接纳接纳完成完成195.挂起状态挂起状态o挂起状态是一种暂时终止的状态挂起状态是一种暂时终止的状态, 主要用于内外存对换、主要用于内外存对换、系统负载系统负载/故障调节、用户检查程序执行情况等故障调节、用户检查程序执行情况等.o引入挂起状态的主要原因引入挂起状态的主要原因:n1.终端用户的要求终端用户的要求n2.父进程需求父进程需求n3.操作系统的需要操作系统的需要n4. 负荷调节的需要负荷调节的需要20具有挂起状态的进程状态图具有挂起状态的进程状态图 212.2 进程控制进程控制o进程控制是对系统中的所有进
12、程进行有效管理进程控制是对系统中的所有进程进行有效管理;o进程从创建到撤销及进程状态之间的转换都是进程从创建到撤销及进程状态之间的转换都是由进程控制实现的。由进程控制实现的。222.2.1 进程控制块进程控制块 PCBo为了描述和控制进程的运行,系统为每个进程定义了一为了描述和控制进程的运行,系统为每个进程定义了一个数据结构个数据结构-进程控制块进程控制块PCB(Process Control Block).o进程控制块的作用:进程控制块的作用:使一个在多道程序环境下不能独立使一个在多道程序环境下不能独立运行的程序运行的程序(含数据含数据),成为能够独立运行的基本单位,成为能够独立运行的基本单
13、位,一个能与其它进程并发执行的进程。一个能与其它进程并发执行的进程。o进程控制块是进程实体的一部分,是操作系统中最重要进程控制块是进程实体的一部分,是操作系统中最重要的记录型数据结构。的记录型数据结构。23PCB是进程存在的唯一标志是进程存在的唯一标志1.调度前调度前nOS根据根据PCB来检查运行状态和优先级来检查运行状态和优先级2.获得调度获得调度nOS根据根据PCB中的处理机信息,设置该进程的现场,找到该进中的处理机信息,设置该进程的现场,找到该进程的程序和数据程的程序和数据3.运行中运行中nOS 根据根据PCB实现进程同步和进程通信实现进程同步和进程通信4.暂停暂停nOS将断点环境保存在
14、将断点环境保存在PCB 中中o在进程的整个生命周期内在进程的整个生命周期内,OS根据根据PCB来对进程进行控制来对进程进行控制PCB 经常被访问,故常驻内存经常被访问,故常驻内存.241.PCB中的信息中的信息进程标识符进程标识符处理机状态处理机状态进程调度信息进程调度信息进程控制信息进程控制信息程序和数据程序和数据共享地址空间共享地址空间进程控制块进程控制块PCB251.PCB中的信息中的信息1.1.进程标识符进程标识符n内部标识内部标识n外部标识外部标识2.2.处理机状态信息处理机状态信息n处理机状态信息保存在处理机状态信息保存在PCBPCB中,以便进程重新被执行时能中,以便进程重新被执行
15、时能从断点继续执行从断点继续执行3.3.进程调度信息进程调度信息n进程状态进程状态/ /优先级优先级/ /事件信息事件信息( (阻塞原因阻塞原因)/)/其它其它( (时间信息等时间信息等) )4.4.进程控制信息进程控制信息n程序和数据的地址程序和数据的地址n进程同步和通信机制进程同步和通信机制n资源清单资源清单n连接指针连接指针2. 进程控制块的组织方式进程控制块的组织方式常用的进程控制块的组织方式:常用的进程控制块的组织方式:n链接方式链接方式把具有相同状态的把具有相同状态的PCB,用其中的链接指针成队列。,用其中的链接指针成队列。n索引方式索引方式 系统根据所有进程的状态,分别建立索引表
16、。系统根据所有进程的状态,分别建立索引表。2. 进程控制块的组织方式进程控制块的组织方式 1)链接方式)链接方式PCB1PCB1PCB2PCB26 6PCB3PCB34 4PCB4PCB4PCB5PCB55 5PCB6PCB6PCB7PCB7PCB8PCB88 8执行指针执行指针就绪队列指针就绪队列指针阻塞队列阻塞队列1指针指针阻塞队列阻塞队列2指针指针空闲队列指针空闲队列指针n把具有相同状态的把具有相同状态的PCB,用其中的链接指针成队列。,用其中的链接指针成队列。2. 进程控制块的组织方式进程控制块的组织方式2)索引方式)索引方式 系统根据所有进程的状态,分别建立索引表。系统根据所有进程的状态,分别建立索引表。执行指针执行指针就绪索引表就绪索引表PCB1PCB2PCB3PCB4PCB5PCB6PCB7阻塞索引表阻塞索引表就绪表指针就绪表指针阻塞表指针阻塞表指针2.2.2 进程的创建与撤销进程的创建与撤销1.进程的创建进程的创建2.进程的终止进程的终止3.进程的阻塞和唤醒进程的阻塞和唤醒4.进程的挂起与激活进程的挂起与激活进程控制功能由进程控制功能由OS内核实现内核实现现代操作系统一