(精品)第二章进程管理.ppt
《(精品)第二章进程管理.ppt》由会员分享,可在线阅读,更多相关《(精品)第二章进程管理.ppt(91页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、4/10/2023第三章第三章进程管理2/117第三章第三章进程管理进程管理概述概述进程的描述进程的描述进程控制进程控制线程线程进程互斥和同步进程互斥和同步进程间通信进程间通信死锁问题死锁问题进程其他方面的举例进程其他方面的举例为了描述程序在并发执行时对系统资源的共享,需要为了描述程序在并发执行时对系统资源的共享,需要一个一个描述程序执行时动态特征描述程序执行时动态特征的概念,这就是的概念,这就是进程进程。本章将讨论本章将讨论进程概念、进程控制进程概念、进程控制和和进程间关系进程间关系。3/117第三章第三章进程管理进程管理前趋图前趋图:是一个有向无循环图。前趋图前趋图用于描述进程之间执行的前
2、后关系。图中的每个结点结点可用于描述一个程序段或进程,乃至一条语句一个程序段或进程,乃至一条语句;结点间的有向边有向边则用于表示两个结点之间存在的偏序或前趋关系“”。节点节点概述:概述:4/117第三章第三章进程管理进程管理图21(a)中存在着这样的前趋关系:P1P2,P1P3,P1P4,P2P5,P3P5,P4P6,P4P7,P5P8,P6P8,P7P9,P8P9图2-1前趋图5/117第三章第三章进程管理进程管理或表示为:P=P1,P2,P3,P4,P5,P6,P7,P8,P9=(P1,P2),(P1,P3),(P1,P4),(P2,P5),(P3,P5),(P4,P6),(P4,P7),
3、(P5,P8),(P6,P8),(P7,P9),(P8,P9)应当注意,前前趋趋图图中中必必须须不不存存在在循循环环,但在图2-1(b)中却有着下述的前趋关系:S2S3,S3S2图2-1前趋图6/117第三章第三章进程管理进程管理3.1.1程序的顺序执行程序的顺序执行7/117第三章第三章进程管理进程管理图2-2程序的顺序执行S1:a=x+y;S2:b=a-5;S3:c=b+1;试想S1、S2、S3三条语句以何顺序执行?3.1.1程序的顺序执行程序的顺序执行8/117第三章第三章进程管理进程管理程序顺序执行时的特征程序顺序执行时的特征(1)顺序性顺序性:按照程序结构所指定的次序(2)(2)封闭
4、性封闭性(运行时候独占处理机资源,运行结果不受外界影响)程序可再现性:(3)(3)可再现性可再现性(初始条件相同,结果相同)9/117第三章第三章进程管理进程管理3.1.2程序的并发执行及其特征程序的并发执行及其特征10/117第三章第三章进程管理进程管理3.1.2程序的并发执行程序的并发执行程序并发执行的程序并发执行的目的目的:提高计算机的处理能力提高计算机的处理能力提高资源利用率提高资源利用率分为两种分为两种形式形式:多道程序环境下的多道程序的并发执行多道程序环境下的多道程序的并发执行在某道程序的几个程序段中,包含可同时执在某道程序的几个程序段中,包含可同时执行或可颠倒顺序执行的代码行或可
5、颠倒顺序执行的代码。11/117第三章第三章进程管理进程管理3.1.2程序的并发执行程序的并发执行定义定义:程序的并发执行是指一组在逻辑上互相独:程序的并发执行是指一组在逻辑上互相独立的程序或程序段在立的程序或程序段在执行时间上客观上互相重叠执行时间上客观上互相重叠,即一个程序或程序段的执行尚未结束,另一个程即一个程序或程序段的执行尚未结束,另一个程序(段)的执行已经开始的执行方式序(段)的执行已经开始的执行方式。并发并发:在一段时间内的同时并行:在一段时间内的同时并行并行并行:在同一物理时刻的同时:在同一物理时刻的同时12/117第三章第三章进程管理进程管理3.1.2程序的并发执行程序的并发
6、执行CPU外设外设请求带输入请求带输入启动带启动带磁带输入磁带输入 结束中断结束中断中断处理中断处理请求磁盘输入请求磁盘输入启动盘启动盘结束中断结束中断中断处理中断处理CPU外设外设请求盘输入请求盘输入启动盘,调度启动盘,调度B请求带输入请求带输入启动带启动带结束中断结束中断中断处理中断处理调度调度A结束中断结束中断中断处理中断处理调度调度B时间时间t用户程序用户程序监督程序监督程序磁盘设备磁盘设备磁带设备磁带设备用户程序用户程序A用户程序用户程序B监督程序监督程序磁盘设备磁盘设备磁带设备磁带设备13/117第三章第三章进程管理进程管理3.1.2程序的并发执行程序的并发执行图2-3并发执行时的
7、前趋图在该例中存在下述前趋关系:IiCi,IiIi+1,CiPi,CiCi+1,PiPi+1而Ii+1和Ci及Pi-1是重迭的,亦即在Pi-1和Ci以及Ii+1之间,可以并发执行并发执行。如何实现并如何实现并发执行?发执行?14/117第三章第三章进程管理进程管理对于具有下述四条语句的程序段:S1:a=x+2S2:b=y+4S3:c=a+bS4:d=c+b请画出前趋关系图。15/117第三章第三章进程管理进程管理3.1.2程序并发执行时的特征程序并发执行时的特征1)间断性间断性(相互制约性相互制约性)“走走停停”,一个程序可能走到中途停下来,失去原有的时序关系;2)失去封闭性失去封闭性:多个程
8、序共享系统中的各种资源,因而这些资源的状态将由多个程序来改变,致使程序的运行已失去了封闭性。如:一个程序写到存储器中的数据可能被另一个程序修改,失去原有的不变特征。3)不可再现性不可再现性:程序在并发执行时,由于失去了封闭性,也将导致失去其可再现性下面看个小例子:16/117第三章第三章进程管理进程管理例如,有两个循环程序A和B,它们共享一个变量N。程序A每执行一次时,都要做N=N+1操作;程序B每执行一次时,都要执行Print(N)操作,然后再将N置成“0”。程序A和B以不同的速度运行。(1)N=N+1在Print(N)和N=0之前,此时得到的N值值分别为n+1,n+1,0。(2)N=N+1
9、在Print(N)和N=0之后,此时得到的N值值分别为n,0,1。(3)N=N+1在Print(N)和N=0之间,此时得到的N值值分别为n,n+1,0。17/117第三章第三章进程管理进程管理结结论论:程序在并发执行时,由于失去了封闭性,其计算结果已经和并发执行速度有关,从而使程序失去了可再现性,亦即,程序经过多次执行后,虽然他们执行时的环境和初始条件相同,但得到的结果却不相同。18/117第三章第三章进程管理进程管理顺序执行顺序执行:并发执行:并发执行:程序具有封闭性程序具有封闭性 程序失去封闭性程序失去封闭性独享资源独享资源 共享资源共享资源(互为存在条件互为存在条件)可再现性可再现性 程
10、序与程序与“计算计算”不再一一对不再一一对应应有相互制约有相互制约19/117第三章第三章进程管理进程管理3.1概述概述3.1.1程序的顺序执行和并发执行程序的顺序执行和并发执行程序的并发程序的并发执行执行并发执行的条件并发执行的条件:达到封闭性和可再现性:达到封闭性和可再现性并发执行失去封闭性的原因是共享资源的影响,去掉这种并发执行失去封闭性的原因是共享资源的影响,去掉这种影响即可。影响即可。1966年,由年,由Bernstein给出并发执行的条件给出并发执行的条件。(这里没有考虑执行速度的影响。)。程序(这里没有考虑执行速度的影响。)。程序P(i)针对的针对的读读变量变量集和集和写变量写变
11、量集为集为R(i)和和W(i)。任意两个程序任意两个程序P(i)和和P(j)可并发的条件:可并发的条件:R(i)W(j)=W(i)R(j)=保证一个程序的两次读之间数据不变化保证一个程序的两次读之间数据不变化W(i)W(j)=保证写的结果不丢掉保证写的结果不丢掉现在的问题是这个条件现在的问题是这个条件不好检查。怎么办?不好检查。怎么办?20/117第三章第三章进程管理进程管理3.1概述概述3.1.1程序的顺序执行和并发执行程序的顺序执行和并发执行程序程序的并发执行的并发执行程序活动不再处于一个封闭系统中,呈现了独立程序活动不再处于一个封闭系统中,呈现了独立程序活动不再处于一个封闭系统中,呈现了
12、独立程序活动不再处于一个封闭系统中,呈现了独立性、并发性、动态性以及它们之间的相互制约性。性、并发性、动态性以及它们之间的相互制约性。性、并发性、动态性以及它们之间的相互制约性。性、并发性、动态性以及它们之间的相互制约性。“程序程序程序程序”这个静态概念已经不能如实地反映程序这个静态概念已经不能如实地反映程序这个静态概念已经不能如实地反映程序这个静态概念已经不能如实地反映程序活动的这些特征,为此,引入活动的这些特征,为此,引入活动的这些特征,为此,引入活动的这些特征,为此,引入“进程进程进程进程”这一动态这一动态这一动态这一动态概念来描述系统和用户的程序活动。概念来描述系统和用户的程序活动。概
13、念来描述系统和用户的程序活动。概念来描述系统和用户的程序活动。程序程序进程进程21/117第三章第三章进程管理进程管理3.1概述概述3.1.2进程的定义进程的定义进程是程序的一次执行进程是程序的一次执行;一一个具有一定独立功能的个具有一定独立功能的程序程序在一个在一个数据集合数据集合上的上的一次一次动态执行动态执行过程。简言之,进程是程序的一次执过程。简言之,进程是程序的一次执行活动行活动进程是程序在一个数据集合上运行的过程,它进程是程序在一个数据集合上运行的过程,它是系统进是系统进行资源分配和调度的一个独立单位行资源分配和调度的一个独立单位;进程是一个程序及其数据在处理机上顺序执行进程是一个
14、程序及其数据在处理机上顺序执行时所发生的活动时所发生的活动;22/117第三章第三章进程管理进程管理3.1概述概述3.1.2进程的定义进程的定义进程的特征进程的特征动态性动态性:进程对应程序的执行进程对应程序的执行进程是动态产生:创建进程是动态产生:创建运行运行消亡消亡进程在其生命周期内,在三种基本状态之间转换进程在其生命周期内,在三种基本状态之间转换独立性独立性:各进程的:各进程的地址空间相互独立地址空间相互独立,除非采用进,除非采用进程间通信手段程间通信手段;并发性并发性:指多个进程实体同存于内存中,且能在一段指多个进程实体同存于内存中,且能在一段时间内同时运行时间内同时运行;异步性异步性
15、:每个进程都以其相对独立的不可预知的速:每个进程都以其相对独立的不可预知的速度向前推进度向前推进;结构化结构化:进程:进程=代码段代码段+数据段数据段+PCB;23/117第三章第三章进程管理进程管理3.1概述概述3.1.2进程与程序的区别进程与程序的区别进程是动态的,进程是动态的,程序是静态的程序是静态的:炒菜炒菜菜谱菜谱进程是暂时的,进程是暂时的,程序的永久的程序的永久的:进程是一个状态:进程是一个状态变化的过程,程序可长久保存。变化的过程,程序可长久保存。进程与程序的进程与程序的组成不同组成不同:进程的组成包括程序、:进程的组成包括程序、数据和进程控制块(即进程状态信息)。数据和进程控制
16、块(即进程状态信息)。进程与程序的进程与程序的对应关系对应关系:通过多次执行,一个程:通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可序可对应多个进程;通过调用关系,一个进程可包括多个程序。包括多个程序。进程具有进程具有并行特征并行特征,程序没有程序没有。进程是进程是竞争计算机资源的基本单位竞争计算机资源的基本单位。24/117第三章第三章进程管理进程管理程序与进程的类比程序与进程的类比程程序序进进程程唱歌的曲谱或音乐乐器的乐谱唱歌的曲谱或音乐乐器的乐谱演出或演奏演出或演奏剧本剧本演出演出火车火车列车列车25/117第三章第三章进程管理进程管理1、判断题:、判断题:进程是一个程序
17、在某数据集上的一次执进程是一个程序在某数据集上的一次执行,所以不同进程对应不同的程序行,所以不同进程对应不同的程序。分析分析:进程是程序在某数据集上得一次执行,但是:进程是程序在某数据集上得一次执行,但是不不同进程可以对应同一程序。同进程可以对应同一程序。2、程序顺序执行与并发执行有什么不同?、程序顺序执行与并发执行有什么不同?3、用户程序必须在进程中运行。、用户程序必须在进程中运行。正确4、判断题:、判断题:两次打开两次打开Word字处理程序,编辑同一篇文章,字处理程序,编辑同一篇文章,因为程序因为程序一样一样(Word2003),数据一样,数据一样(同一篇文章同一篇文章),所以,所以系统中
18、运行的这两个系统中运行的这两个Word字处理程序是同一个进程。字处理程序是同一个进程。错误,运行的是错误,运行的是2个不同的进程个不同的进程26/117第三章第三章进程管理进程管理3.1概述概述3.1.2进程的定义进程的定义进程与程序的区别进程与程序的区别用户用户作业作业由用户创建由用户创建由用户指定由用户指定由系统创建由系统创建作业步作业步作业步作业步.线程线程线程线程.进程进程进程进程.27/117第三章第三章进程管理进程管理3.2.1进程的组成进程的组成进程进程=程序程序+数据数据+进程控制块进程控制块PCB有人把这三部分称为有人把这三部分称为”进程映像进程映像”.程序程序是进程的不可缺
19、少的组成部分;如果一个程序段允许被共享,是进程的不可缺少的组成部分;如果一个程序段允许被共享,则它应该是则它应该是可重入的可重入的,或,或纯代码段纯代码段数据数据是进程处理的对象是进程处理的对象进程控制块进程控制块是进程的控制结构,包含了进程的是进程的控制结构,包含了进程的描述信息描述信息、控制信息控制信息和和资源信息资源信息以及以及现场保护区现场保护区,是进程的,是进程的唯一标识唯一标识,系统通过,系统通过PCB管管理和控制进程。理和控制进程。通常的程序是不能通常的程序是不能并发执行并发执行的的,为使程序能并发执行为使程序能并发执行,应应为之配置一进程控制块为之配置一进程控制块,即即PCB;
20、所谓所谓创建进程是指创建进程实体中的创建进程是指创建进程实体中的PCB,撤销亦如此。,撤销亦如此。28/117第三章第三章进程管理进程管理3.2进程的描述进程的描述3.2.2进程控制块进程控制块PCB(ProcessControlBlock)进程控制块是由进程控制块是由OS维护维护的用来记录的用来记录进程相关信进程相关信息和管理进程息和管理进程而设置的一个专门的而设置的一个专门的数据结构数据结构包含了进程的描述信息、控制信息和资源信包含了进程的描述信息、控制信息和资源信息以及现场保护区息以及现场保护区PCB是进程动态特性的集中反映是进程动态特性的集中反映系统通过系统通过PCB感知进程的存在,通
21、过感知进程的存在,通过PCB中中所包含的各项变量的变化,掌握进程的状态所包含的各项变量的变化,掌握进程的状态以达到控制进程活动的目的以达到控制进程活动的目的29/117第三章第三章进程管理进程管理3.2进程的描述进程的描述3.2.2进程控制块进程控制块PCB(ProcessControlBlock)PCB结构的全部或部分常驻内存;结构的全部或部分常驻内存;PCB随进程的创建而填写,随进程的撤消随进程的创建而填写,随进程的撤消而释放而释放,有生命周期;有生命周期;系系统统利利用用PCB来来控控制制和和管管理理进进程程,所所以以PCB是系统感知进程存在的唯一标志是系统感知进程存在的唯一标志进程与进
22、程与PCB是一一对应的是一一对应的30/117第三章第三章进程管理进程管理3.2.3进程控制块的内容(进程控制块的内容(数据结构很复杂数据结构很复杂)进程标识符进程标识符:内部进程标识符(processID),唯一,通常是一个整数;进程名(外部标识符),通常基于可执行文件名(不唯一);用户标识符(userID);进程组关系(processgroup)进程控制信息进程控制信息:当前状态;优先级(priority);代码执行入口地址;程序的外存地址;运行统计信息(执行时间、页面调度);进程间同步和通信;阻塞原因进程调度信息进程调度信息:进程状态、进程优先级、资源信息等处理机状态处理机状态:寄存器值
23、(通用、程序计数器PC、状态PSW,地址包括栈指针)31/117第三章第三章进程管理进程管理3.2.4PCB的组织方式链表:同一状态的进程其PCB成一链表,多个状态对应多个不同的链表各状态的进程形成不同的链表:就绪链表、阻塞链表索引表:同一状态的进程归入一个index表(由index指向PCB),多个状态对应多个不同的index表各状态的进行形成不同的索引表:就绪索引表、阻塞索引表32/117第三章第三章进程管理进程管理OS是是根根据据PCB来来对对并并发发执执行行的的进进程程进进行行控控制制和和管管理理的。的。简单题:进程控制块的作用(要扩展)?简单题:进程控制块的作用(要扩展)?判断题:进
24、程控制块是进程存在的唯一标志。判断题:进程控制块是进程存在的唯一标志。33/117第三章第三章进程管理进程管理运行运行Running就绪就绪Ready等待等待BlockedDispatchTimeoutEventWaitEventOccurs3.2进程的描述进程的描述3.2.5进程的状态及其转换进程的状态及其转换进程的三种基本状态进程的三种基本状态基本状态间的转换基本状态间的转换34/117第三章第三章进程管理进程管理图2-5进程的三种基本状态及其转换(教材讲5种)结束结束新进程新进程接纳完成35/117第三章第三章进程管理进程管理作业后备队列进程就绪队列 外存外存外存外存 内存内存内存内存
25、作业调度作业调度一些一些处理器处理器处理器处理器(CPU)(CPU)(CPU)(CPU)阻塞队列阻塞队列处理机调度器(进程调度进程调度):是操作系统中的一段代码,它完成如下功能:1)把处理机从一个进程切换到另一个进程;2)防止某进程独占处理机36/117第三章第三章进程管理进程管理3.2.5进程的进程的三种基本状态三种基本状态1)就绪就绪(Ready)(Ready)状态状态:已分配到除已分配到除CPU以外的所有必要的资以外的所有必要的资源,源,只要能再获得处理机,便,便可立即执行的状态。多个排成。多个排成一队称为就绪队列。一队称为就绪队列。2)执行状态执行状态:指进程已获得处理机,其程序指进程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精品 第二 进程 管理
限制150内