第7讲-第三章-进程管理(二)课件

上传人:沈*** 文档编号:241631663 上传时间:2024-07-11 格式:PPT 页数:68 大小:272KB
返回 下载 相关 举报
第7讲-第三章-进程管理(二)课件_第1页
第1页 / 共68页
第7讲-第三章-进程管理(二)课件_第2页
第2页 / 共68页
第7讲-第三章-进程管理(二)课件_第3页
第3页 / 共68页
点击查看更多>>
资源描述
河北科技师范学院大专课程河北科技师范学院大专课程 操操 作作 系系 统统第七讲主讲人:曾晓宁网络班调课的事网络班调课的事2024/7/1113.1 3.1 进程的引入程的引入 3.2 3.2 进程程结构构 3.3 3.3 进程控制进程控制3.4 3.4 进程的同步与互斥程的同步与互斥3.5 3.5 进程间通信进程间通信3.6 3.6 进程程调度度3.7 3.7 死死锁 3.8 3.8 线程程 第第3 3章章 进程管理进程管理 2024/7/112 计计算算机机系系统统中中,最最宝宝贵贵的的资资源源是是CPU。为为了了提提高高它它的的利利用用率率,需需要要引引入入多多道道程程序序设设计计的的概概念念。当当内内存存储储器器中中同同时时有有多多个个程程序序存存在在时时,如如果果不不对对人人们们熟熟悉悉的的“程程序序”概概念念加加以以扩扩充充,就就无无法法刻刻画画多多个个程程序序共共同同运运行行时时系系统统呈呈现现出出的的特特征征。因因此此,在在本本章章将将给给出出操操作作系系统统中中的的重重要要概概念念:“进进程程”。它它将将是是在在多多道道程程序序运运行行环环境境下下,系系统统资资源源分分配配和和独立运行的基本单位。独立运行的基本单位。回忆复习回忆复习2024/7/113 在计算机系统中只有一个程序在运行,这个程在计算机系统中只有一个程序在运行,这个程序独占系统中所有资源,其执行不受外界影响。一序独占系统中所有资源,其执行不受外界影响。一道程序执行完后另一道才能开始。道程序执行完后另一道才能开始。3.1 3.1 进程的引入程的引入 3.1.1 顺序程序与并发程序顺序程序与并发程序2024/7/1141 1、程序的顺序执行、程序的顺序执行 在在早早期期的的单单道道程程序序系系统统中中,编编制制一一个个程序时,通常是按顺序进行设计:程序时,通常是按顺序进行设计:先先安安排排输输入入语语句句,然然后后是是对对输输入入数数据据进进行行处处理理的的语语句句,最最后后安安排排数数据据处处理理结结果果的的输输出出语语句句。这这就就是是人人们们所所习习惯惯的的传传统统的的顺顺序序程程序序设设计计方方法法。程程序序在在执执行行时时也也是是按按顺顺序序依依次次执执行行各各条条语语句句,而而不不必必考考虑虑其其他他的用户程序。的用户程序。2024/7/115程序的顺序执行的特征程序的顺序执行的特征顺序性顺序性封闭性封闭性可再现性可再现性2024/7/116顺序性:顺序性:u处处理理机机的的操操作作严严格格按按照照程程序序所所规规定定的的顺顺序序执执行行,一一个个程程序序开开始始执执行行必必须须要要等等到到前前一一个程序已执行完成。个程序已执行完成。u绝绝对对不不可可能能出出现现在在一一个个程程序序运运行行过过程程中中,又夹杂进另一个程序执行的现象存在。又夹杂进另一个程序执行的现象存在。2024/7/117封闭性:封闭性:u程程序序一一旦旦开开始始执执行行,就就在在封封闭闭的的环环境境下下执执行,其计算结果不受外界因素影响。行,其计算结果不受外界因素影响。u任任何何时时候候,位位于于内内存存中中的的程程序序可可以以使使用用系系统统中中的的一一切切资资源源,不不可可能能有有其其他他程程序序与与之之竞争。竞争。2024/7/118可再现性:可再现性:程程序序的的结结果果与与它它的的执执行行速速度度无无关关(即即与与时时间间无无关关),只只要要执执行行环环境境和和初初始始条条件件相相同同,当当多多次次重重复复执执行行一一个个程程序序时时,无无论论不不停停的的执执行行还还是是“走走走走停停停停”,一一定定会会得得到相同的结果。到相同的结果。2024/7/1192、程序的并发执行、程序的并发执行所谓程序的并发执行是指:所谓程序的并发执行是指:若干个若干个程序同时在系统中执行,这些程序的执程序同时在系统中执行,这些程序的执行在时间上是重叠的,一个程序的执行行在时间上是重叠的,一个程序的执行尚未结束,另一个程序的执行已经开始。尚未结束,另一个程序的执行已经开始。2024/7/1110一个有四条语句的程序段:一个有四条语句的程序段:S1:a:=x+2;S2:b:=y+4;S3:c:=a+b;S4:d:=c+b;2024/7/1111程序的并发执行程序的并发执行s4S1S2s32024/7/1112 输入输入1 输入输入2 输入输入3计算计算1 计算计算2 计算计算3输出输出1 输出输出2输出输出3图:程序的并发执行图:程序的并发执行2024/7/1113I I1 1输入输入输入输入设备设备设备设备处理机处理机处理机处理机打印机打印机I I2 2C C1 1I I3 3C C2 2P P1 1C C3 3P P2 2t1t2t3t4t7t5t6t8P P3 3t92024/7/1114I I1 1P P3 3输入输入输入输入设备设备设备设备处理机处理机处理机处理机打印机打印机I I2 2C C1 1I I3 3C C2 2P P1 1C C3 3P P2 2t1 1t2 2t3 3t4 4t5 52024/7/1115间断性间断性:(共享、合作、制约导致)(共享、合作、制约导致)在程序并发执行时,各个程在程序并发执行时,各个程序的执行已经不再可能完全依照自己的序的执行已经不再可能完全依照自己的执行次序执行了;执行次序执行了;程序并发执行的特点程序并发执行的特点2024/7/1116失去了程序的封闭性:失去了程序的封闭性:系统资源不再由单个程序独系统资源不再由单个程序独占,因此资源的状态由多道程序的占,因此资源的状态由多道程序的活动共同决定。程序在执行的过程活动共同决定。程序在执行的过程中必然会受到其他程序的影响。中必然会受到其他程序的影响。2024/7/1117不可再现性:不可再现性:在多道环境中,即使初始条件相同,在多道环境中,即使初始条件相同,同一个程序多次执行的结果也可能不同同一个程序多次执行的结果也可能不同。2024/7/1118实例实例两个并发执行的程序两个并发执行的程序A和和B,它们共享一个公共变量,它们共享一个公共变量n,A:n=7;程序程序A和和B并发执行,可以出现以下并发执行,可以出现以下3种情况:种情况:print(n)在在n=2和和n=7之间执行,则打印结果为之间执行,则打印结果为2;print(n)在在n=2和和n=7之后执行,则打印结果为之后执行,则打印结果为7;print(n)在在n=7和和n=2之后执行,则打印结果为之后执行,则打印结果为2;B:n=2;print(n);2024/7/1119 综综上上所所述述,在在单单道道系系统统中中可可以以用用程程序序代代表表顺顺序序程程序序的的执执行行过过程程,但但在在多多道道系系统统中中,程程序序的的并并行行、制制约约等等特特征征使使得得用用程程序序这这个个静静态态概概念念已已不不能能描描述述系系统统中中的的运运行行情情况况了了。为为此此,在在操操作作系系统统设设计计中引入了一个新的概念中引入了一个新的概念进程。进程。2024/7/11203.1.2 3.1.2 进程的定义及特性进程的定义及特性1.1.进程的进程的定义定义2.2.进程与程序的区别进程与程序的区别3.3.进程的特性进程的特性2024/7/1121进程的定义进程的定义 进程是具有独立功能的程序进程是具有独立功能的程序关于某个数据集合的一次执行过关于某个数据集合的一次执行过程,是系统资源分配和调度的基程,是系统资源分配和调度的基本单位。本单位。2024/7/1122C语言编语言编译程序译程序PStartStartPause1End1P1Pause2End2P2进程实例进程实例实例:把两个实例:把两个C语言的源程序语言的源程序f1.c和和f2.c编译成编译成目标代码文件目标代码文件f1.obj和和f2.objf1.cf2.c2024/7/11232、进程的特征、进程的特征动态性动态性并发性并发性独立性独立性异步性异步性结构性结构性2024/7/1124(1)动态性:(最基本特征)动态性:(最基本特征)进程的实质是程序关于某个数据集合的进程的实质是程序关于某个数据集合的一次执行过程,一次执行过程,因此动态性是进程的一因此动态性是进程的一个重要特征。个重要特征。进程有一定的生命周期进程有一定的生命周期,主要表现为它,主要表现为它是由是由“创建创建”而产生,由系统而产生,由系统“调度调度”运行,最后由系统运行,最后由系统“撤消撤消”而消亡。而消亡。2024/7/1125(2)并发性:)并发性:多个进程同在内存中,且能在一段多个进程同在内存中,且能在一段时间内同时运行;这些进程轮流占用时间内同时运行;这些进程轮流占用CPU和各种系统资源,同时在系统中运和各种系统资源,同时在系统中运行。没有建立进程的程序是无法并发运行。没有建立进程的程序是无法并发运行的。行的。2024/7/1126(3)独立性:)独立性:进进程程是是一一个个能能独独立立运运行行、独独立立分分配配资资源源、独独立立接接受受调调度度的的基基本本单单位位。进进程程在在获获得得其其必必需需的的一一切切资资源源后后便便可可执执行行,而而当当系系统统不不能能提提供供它它所所要要求求的的资资源源时时,它便暂停执行。它便暂停执行。2024/7/1127(4)异步性:)异步性:由于进程间的相互制约,使进程具由于进程间的相互制约,使进程具有执行的间断性,即有执行的间断性,即进程按各自独立的进程按各自独立的不可预知的速度向前推进。不可预知的速度向前推进。因此,系统因此,系统必须提供某些设施,来保证程序之间能必须提供某些设施,来保证程序之间能协调操作和共享资源。协调操作和共享资源。2024/7/1128(5)结构特征:)结构特征:从结构上看,一个进程都是从结构上看,一个进程都是由由程序、数据和进程控制块程序、数据和进程控制块PCB三部分组成。进程控制块三部分组成。进程控制块PCB是是系统专门为进程设立的数据结构,系统专门为进程设立的数据结构,用来记录进程的状态变化。用来记录进程的状态变化。2024/7/1129动态特征的集中反映动态特征的集中反映描述要完成的功能描述要完成的功能操作对象及工作区操作对象及工作区2024/7/1130进进程程间间由由于于共共同同协协作作和和共共享享资资源源,导导致致生生命命期期中中的状态不断发生变化。的状态不断发生变化。u比比如如一一个个正正在在运运行行的的进进程程如如果果要要等等待待输输入入/输输出出的完成,这时它就不能继续运行。的完成,这时它就不能继续运行。u另另一一种种情情形形是是一一个个进进程程是是可可以以运运行行的的,但但由由于于操操作作系系统统把把处处理理机机分分配配给给了了别别的的进进程程使使用用,于于是是它它也也只只能能处处于于等等待待。只只有有当当前前占占有有CPUCPU的的进进程程,才真正在处于运行。才真正在处于运行。3.1.3 3.1.3 进程的状态及转换进程的状态及转换开始啦开始啦2024/7/1131u从从创创建建到到撤撤消消的的过过程程中中,具具有有执执行行-暂暂停停-再再执执行行的活动规律。的活动规律。于于是是,进进程程在在其其生生命命期期内内,可可以以处处于于下下面面3种种基基本本状状态之一。态之一。2024/7/1132就绪状态就绪状态运行状态运行状态阻塞状态阻塞状态1、进程的三种基本状态、进程的三种基本状态2024/7/1133进进程程已已经经分分配配了了除除处处理理机机以以外外的的所所有有必必要要资资源源,只只要要再再获获得得处处理理机机就就能能够够执执行行的的状状态态。(但但但但CPUCPU正正正正被被被被其其其其它它它它进进进进程程程程占占占占用用用用,它暂时不能执行。它暂时不能执行。它暂时不能执行。它暂时不能执行。)这这样样的的进进程程可可能能有有多多个个,通通常常排排成成一一个队列,称就绪队列。个队列,称就绪队列。当当CPU空空闲闲时时,从从就就绪绪队队列列中中选选择择一一个进程执行。个进程执行。就绪状态就绪状态2024/7/1134运行状态运行状态进程已经获得进程已经获得CPU,正在运行。,正在运行。在在单单处处理理机机系系统统只只有有一一个个进进程程处处于于执执行行状状态。多处理机系统则有多个处于执行状态。态。多处理机系统则有多个处于执行状态。2024/7/1135阻塞状态阻塞状态又叫又叫等待状态或睡眠状态。等待状态或睡眠状态。正正在在执执行行的的进进程程由由于于等等待待I/O或或某某事事件件的的完完成成而而暂暂时时无无法法继继续续执执行行时时,这这时时便便放放弃弃CPU而进入的暂停状态,又称等待状态。而进入的暂停状态,又称等待状态。引起阻塞的事件:请求引起阻塞的事件:请求I/O,申请缓存。,申请缓存。根根据据进进程程阻阻塞塞的的不不同同原原因因,把把进进程程组组织织成成多个队列,称为阻塞队列。多个队列,称为阻塞队列。2024/7/1136 一个进程的状态,可以随着一个进程的状态,可以随着自身的推进自身的推进和外界环境的变化和外界环境的变化而变化,从而使其从一种而变化,从而使其从一种状态变迁到另一种状态。状态变迁到另一种状态。下图是进程状态变迁图,箭头表示的是下图是进程状态变迁图,箭头表示的是状态变迁的方向,旁边标识的文字是引起这状态变迁的方向,旁边标识的文字是引起这种状态变迁的原因(依据条件而转换)。种状态变迁的原因(依据条件而转换)。注:新创建的进程通常属于就绪状态注:新创建的进程通常属于就绪状态2024/7/1137就绪就绪 阻塞阻塞 执行执行 进程调度进程调度等待某事件发等待某事件发生(如生(如I/O请请求)求)某事件发生某事件发生(I/O完成)完成)时间片用完时间片用完或出现高优或出现高优先级进程先级进程进程基本状态变迁图进程基本状态变迁图2024/7/1138对进程状态的转换过程,我们应注意如下对进程状态的转换过程,我们应注意如下4 4点:点:(1 1)进进程程从从阻阻塞塞态态到到运运行行态态,必必须须经经过过就就绪绪态而不能直接转换到运行态。态而不能直接转换到运行态。这这是是因因为为此此进进程程阻阻塞塞原原因因解解除除具具备备可可运运行行条条件件时时,系系统统中中可可能能有有多多个个进进程程都都处处于于逻逻辑辑上上可可运运行行状状态态,因因此此系系统统必必须须根根据据一一定定的的算算法法选选择择一一个个就就绪绪进进程程占占用用CPUCPU。这这种种选选择过程被称为进程调度。择过程被称为进程调度。2024/7/1139(2)一一个个进进程程由由运运行行态态转转换换为为阻阻塞塞态态一一般是由运行进程自己主动提出的。般是由运行进程自己主动提出的。例例如如,进进程程在在运运行行过过程程中中需需要要某某一一条条件件而而不不能能满满足足时时,就就自自己己主主动动放放弃弃CPU而进入阻塞态。而进入阻塞态。2024/7/1140(3 3)一一个个进进程程由由阻阻塞塞态态变变为为就就绪绪态态总总是是由由外外界界事事件件引引起起的的,而而不不是是由由该该进进程程自自己己引引起起的的。当当进进程程所所等等待待的的事事件件发发生生后后,进程便由阻塞态变为就绪态。进程便由阻塞态变为就绪态。2024/7/1141(4)处处于于就就绪绪状状态态与与阻阻塞塞状状态态的的进进程程,虽虽然然都都“暂暂时时无无法法运运行行”,但但两两者者有有着着本本质质上上的的区区别。别。前者已做好了运行的准备,只要获得前者已做好了运行的准备,只要获得CPUCPU就可以投入运行;就可以投入运行;而后者要等待某事件(比如输入而后者要等待某事件(比如输入/输出)完成后才能继续运行,因此即使此输出)完成后才能继续运行,因此即使此时把时把CPUCPU分配给它,它也无法运行。分配给它,它也无法运行。2024/7/1142 进程之间由于存在同步和资源的竞进程之间由于存在同步和资源的竞争等相互制约等关系,因此导致了各进争等相互制约等关系,因此导致了各进程在其生命周期内存在状态的变化。程在其生命周期内存在状态的变化。以上三种状态是最基本的状态,在以上三种状态是最基本的状态,在实际的操作系统中,往往不止这三种,实际的操作系统中,往往不止这三种,不同的系统,出于调度策略的考虑,有不同的系统,出于调度策略的考虑,有时把进程状态做进一步的细化。时把进程状态做进一步的细化。2024/7/11432、进程的其它两种状态、进程的其它两种状态创建状态创建状态 u是进程刚被创建时的状态,此时该进程正是进程刚被创建时的状态,此时该进程正在等待在等待OS完成创建进程的必要操作。完成创建进程的必要操作。(为(为新进程分配进程标识符、创建管理进程所新进程分配进程标识符、创建管理进程所需的表格及需的表格及PCB分配进程所需的资源。)分配进程所需的资源。)u当已完成创建进程的必要操作,且此时系当已完成创建进程的必要操作,且此时系统性能和内存容量均允许时,进程从创建统性能和内存容量均允许时,进程从创建状态转换为就绪状态,插入到就绪队列中。状态转换为就绪状态,插入到就绪队列中。2024/7/1144终止状态终止状态u当一个正在执行的进程执行到结束语句,当一个正在执行的进程执行到结束语句,或出现了异常错误时,此进程将被停止执或出现了异常错误时,此进程将被停止执行,并释放其所占有的资源;行,并释放其所占有的资源;u但仍然驻留在内存中,直到其他进程读取但仍然驻留在内存中,直到其他进程读取完该进程的有关信息后,才被删除。完该进程的有关信息后,才被删除。2024/7/11453、挂起状态、挂起状态(被调出内存的状态)(被调出内存的状态)引入原因:引入原因:系统负荷调节的需要系统负荷调节的需要终端用户的请求终端用户的请求系统的需要系统的需要父进程的需要父进程的需要2024/7/1146就绪进程运行的需要就绪进程运行的需要内存中的所有进程均处于阻塞状态,且内存中的所有进程均处于阻塞状态,且CPU空闲,没有足够空间来运行。空闲,没有足够空间来运行。为了有效地利用为了有效地利用CPU,这时需要把一些阻塞,这时需要把一些阻塞进程挂起,即将它们从内存移出到外存,调进程挂起,即将它们从内存移出到外存,调入外存,以便腾出足够的内存空间装入就绪入外存,以便腾出足够的内存空间装入就绪进程运行。进程运行。2024/7/1147系统负荷调节的需要系统负荷调节的需要当系统中进程数太多,资源相对不足,工作当系统中进程数太多,资源相对不足,工作负荷较重时,系统希望暂时挂起一些进程负荷较重时,系统希望暂时挂起一些进程(如优先级较低的程序),以减轻负荷保证(如优先级较低的程序),以减轻负荷保证系统能正常运行。系统能正常运行。等负荷轻时再将挂起进等负荷轻时再将挂起进程恢复运行。程恢复运行。2024/7/1148终端用户的请求终端用户的请求当终端用户在运行自己的程序的发生错误时,当终端用户在运行自己的程序的发生错误时,希望自己的进程静止下来,即挂起,以便进希望自己的进程静止下来,即挂起,以便进行检查和修改。行检查和修改。2024/7/1149系统的需要系统的需要当系统出现故障或某些功能受到破坏时,需当系统出现故障或某些功能受到破坏时,需要暂时将系统中的进程挂起,等系统把故障要暂时将系统中的进程挂起,等系统把故障排除后,再恢复原来状态。排除后,再恢复原来状态。2024/7/1150父进程的需要父进程的需要有时父进程为了协调各子进程间的活动,或有时父进程为了协调各子进程间的活动,或是检查和修改子进程。希望挂起自己的子进是检查和修改子进程。希望挂起自己的子进程。程。2024/7/1151被挂起的进程可能是就绪进程,也可能是阻被挂起的进程可能是就绪进程,也可能是阻塞进程。塞进程。在五状态基础上再增加两种新的进程状态:在五状态基础上再增加两种新的进程状态:挂起就绪状态和挂起阻塞状态。挂起就绪状态和挂起阻塞状态。u挂起就绪状态是指进程被存放在外存中,但已具挂起就绪状态是指进程被存放在外存中,但已具备运行条件;备运行条件;u挂起阻塞状态是指进程被存放在外存中,正在等挂起阻塞状态是指进程被存放在外存中,正在等待某一事件发生。待某一事件发生。2024/7/1152补:进程调度方式补:进程调度方式1、非抢占方式、非抢占方式 一旦把一旦把CPU分配给某进程后,便让该进程一直分配给某进程后,便让该进程一直运行下去,直到该进程完成或发生某事件(如提出运行下去,直到该进程完成或发生某事件(如提出I/O请求)而自动阻塞时,才把请求)而自动阻塞时,才把CPU分配给另一进程。分配给另一进程。优点:简单,系统开销小。优点:简单,系统开销小。缺点:缺点:u紧急任务到达时,不能立即投入运行,以致延误时机。紧急任务到达时,不能立即投入运行,以致延误时机。u若干个后到的短作业,须等待长作业运行完毕,致使短作若干个后到的短作业,须等待长作业运行完毕,致使短作业的时间增长。业的时间增长。2024/7/1153实例实例有三个进程有三个进程P1,P2,P3先后(但又几乎是同时)先后(但又几乎是同时)到达,它们分别需要到达,它们分别需要20、4、2个单位时间即个单位时间即可运行完毕。若它们按可运行完毕。若它们按P1,P2,P3的顺序执行,的顺序执行,且不可抢占,则三个进程各自的周转时间分且不可抢占,则三个进程各自的周转时间分别为别为20、24、26个单位时间,三者的平均周个单位时间,三者的平均周转时间是转时间是23.3个单位时间。个单位时间。2024/7/11542、抢占方式、抢占方式 当一个进程正在执行时,系统可以基于当一个进程正在执行时,系统可以基于某种原则,抢占已分配给它的处理机,并将某种原则,抢占已分配给它的处理机,并将处理机分配给其他进程。处理机分配给其他进程。抢占原则有:抢占原则有:优先权原则:即优先权高的进程可以抢占优优先权原则:即优先权高的进程可以抢占优先权低的进程的处理机而运行;先权低的进程的处理机而运行;短作业优先原则:当短作业到达时,可立即短作业优先原则:当短作业到达时,可立即抢占长进程的处理机而运行;抢占长进程的处理机而运行;时间片原则:一个时间片完后重新调度。时间片原则:一个时间片完后重新调度。2024/7/1155 对前例若采用基于时间片原则的抢占调对前例若采用基于时间片原则的抢占调度方式。由下图可以看出度方式。由下图可以看出P1、P2、P3的周转的周转时间分别为时间分别为26、10、和、和6个单位时间,而平均个单位时间,而平均周转时间则已由非抢占方式的周转时间则已由非抢占方式的23.3降为降为14个个单位时间。单位时间。P1 P2P1P3P2P1P1P12*2*2*2*2*2*2120 2 4 6 8 10 12 14 26 基于时间片原则的抢占高度方式示例图基于时间片原则的抢占高度方式示例图2024/7/1156创建创建就绪就绪 阻塞阻塞 终止终止 挂起就绪挂起就绪 完成完成激活激活挂起挂起挂起挂起激活激活获得资源或获得资源或某事件完成某事件完成获得资源或获得资源或某事件完成某事件完成等待资源或等待资源或某事件发生某事件发生进程进程调度调度 时间片用时间片用完或出现高完或出现高优先级进程优先级进程允许允许不允许不允许 运行运行 挂起挂起挂起阻塞挂起阻塞 图:图:图:图:具有挂起状态的进程状态图具有挂起状态的进程状态图具有挂起状态的进程状态图具有挂起状态的进程状态图2024/7/11573.2 进程的结构进程的结构 一一个个进进程程创创建建后后,需需要要有有自自己己对对应应的的程程序序以以及及该该程程序序运运行行时时所所需需的的数数据据,但但仅仅有有程程序序和和数数据据还还不不行行,进进程程在在其其生生命命期期内内是是走走走走停停停停,停停停停走走走走的的,暂暂时时停停下下来来以以后后,至至少少应应该该要要有有一一个个属属于于它它专专用用的的地地方方,来来记记录录它它暂暂停停时时的的运运行行现现场场。否否则则,它它再再次次被被投投入入运运行行时时,就就无无法法从上次被打断的地方继续运行下去。从上次被打断的地方继续运行下去。2024/7/1158是对进程的静态描述,它要由是对进程的静态描述,它要由3个部分组成:个部分组成:程序段、数据段以及进程控制块程序段、数据段以及进程控制块PCB。3.2.1 进程的实体进程的实体PCB程序段程序段数据段数据段 图:进程的组成图:进程的组成指针指针指针指针2024/7/1159系统还必须为每个进程设立一个或多个堆栈,系统还必须为每个进程设立一个或多个堆栈,用于保存过程调用或系统调用时的现场信息用于保存过程调用或系统调用时的现场信息和参数传递。和参数传递。程序段、数据段、程序段、数据段、PCB及堆栈及堆栈统称为进程映像。统称为进程映像。u程序段描述了进程运行一次所要完成的功能,通程序段描述了进程运行一次所要完成的功能,通常是纯代码,可以被多个进程共享;常是纯代码,可以被多个进程共享;u数据段是程序运行时加工处理的对象,通常只能数据段是程序运行时加工处理的对象,通常只能为一个进程专用。为一个进程专用。2024/7/1160uPCB包含了进程的描述信息和控制信息,是在进包含了进程的描述信息和控制信息,是在进程创建时所建立的,程创建时所建立的,PCB标识了进程的存在,当标识了进程的存在,当进程撤消时,进程撤消时,PCB也随之撤消。也随之撤消。PCB与进程一一与进程一一对应。对应。u堆栈分为系统堆栈和用户堆栈。系统堆栈是进程堆栈分为系统堆栈和用户堆栈。系统堆栈是进程在核心态下运行时使用的堆栈,位于系统区;而在核心态下运行时使用的堆栈,位于系统区;而用户堆栈是进程在用户态下运行时使用的堆栈,用户堆栈是进程在用户态下运行时使用的堆栈,位于用户区。位于用户区。2024/7/1161 3.2.2 3.2.2 进程进程控制块控制块(Process Control BlockProcess Control BlockProcess Control BlockProcess Control Block)为了描述一个进程和其它进程以及系统资源为了描述一个进程和其它进程以及系统资源的关系,为了刻画一个进程在各个不同时期的关系,为了刻画一个进程在各个不同时期所处的状态,采用了一个与进程相联系的数所处的状态,采用了一个与进程相联系的数据块,称为进程控制块(据块,称为进程控制块(PCBPCB)。)。系统利用系统利用PCBPCB来控制和管理进程,所以来控制和管理进程,所以PCBPCB是是系统系统感知进程存在的唯一标志。感知进程存在的唯一标志。PCBPCB常驻内存;常驻内存;PCBPCB与进程是一一对应的。与进程是一一对应的。2024/7/1162通常将所有的通常将所有的PCBPCB组织在一起,并集中存放在组织在一起,并集中存放在内存的系统表格区,构成一个内存的系统表格区,构成一个PCBPCB表。表。OSOS专门开辟专门开辟PCBPCB区将所有的区将所有的PCBPCB组织成若干个组织成若干个链表或队列。链表或队列。PCBPCB表的大小决定了系统中最多可同时存在的表的大小决定了系统中最多可同时存在的进程个数,称为系统并发度。进程个数,称为系统并发度。2024/7/1163随随操操作作系系统统的的不不同同,PCB的的格格式式、大大小小以以及及内内容容也也不不尽尽相相同同。一一般般地地,在在PCB中大致应包含中大致应包含4方面的信息。方面的信息。PCBPCB中的信息中的信息2024/7/1164进程标识信息:进程标识信息:u进程名,由创建者提供的便于记忆的名称,通进程名,由创建者提供的便于记忆的名称,通常由字母、数字组成,用于用户访问进程时使常由字母、数字组成,用于用户访问进程时使用。用。u进程标识符进程标识符(process ID)process ID),创建进程时,创建进程时,OSOS分分配给该进程的唯一代码,通常是一个整数,用配给该进程的唯一代码,通常是一个整数,用于系统管理和控制进程使用;于系统管理和控制进程使用;u父进程标识符:创建该进程的进程标识符,用父进程标识符:创建该进程的进程标识符,用于描述进程的家族关系于描述进程的家族关系u子进程标识符:由该进程创建的进程标识符,子进程标识符:由该进程创建的进程标识符,用于描述进程的家族关系用于描述进程的家族关系2024/7/1165进程调度信息:进程调度信息:u进程状态:指明进程所处的状态,是进程调度的进程状态:指明进程所处的状态,是进程调度的主要依据;主要依据;u进程优先级进程优先级(priority)priority):反映了进程要求:反映了进程要求CPUCPU的的紧迫程度,系统把紧迫程度,系统把CPUCPU优先级分配给优先级高的优先级分配给优先级高的进程;进程;u阻塞原因:当进程状态为阻塞时,记录进程等待阻塞原因:当进程状态为阻塞时,记录进程等待的资源或事件;否则,该项为空的资源或事件;否则,该项为空u队列指针:记录了处于相同进程状态的下一个进队列指针:记录了处于相同进程状态的下一个进程的程的PCBPCB的首地址,以此将处于同一状态的所有的首地址,以此将处于同一状态的所有进程链接成一个队列,队列头指针指向第一个进程链接成一个队列,队列头指针指向第一个PCBPCB的首地址,由的首地址,由OSOS掌握。掌握。2024/7/1166CPUCPU状态信息(现场):状态信息(现场):u指令计数器:存放进程要执行的下一条指指令计数器:存放进程要执行的下一条指令的地址;令的地址;u通用寄存器:存放通用寄存器:存放CPUCPU通用寄存器中的内容;通用寄存器中的内容;u程序状态字程序状态字PSWPSW:存放条件码、执行方式、:存放条件码、执行方式、中断屏蔽标志等状态信息;中断屏蔽标志等状态信息;u用户堆栈指针:存放指向与用户进程相关用户堆栈指针:存放指向与用户进程相关的系统堆栈的栈顶指针;的系统堆栈的栈顶指针;2024/7/1167进程控制信息进程控制信息u程序段指针程序段指针:记录进程的程序在内(外)存中的记录进程的程序在内(外)存中的首地址;首地址;u数据段指针:记录进程的数据在内(外)存中数据段指针:记录进程的数据在内(外)存中的首地址;的首地址;u通信信息:进程在运行过程中与其他进程进行通信信息:进程在运行过程中与其他进程进行通信时的有关信息,如信号量等互斥和同步机通信时的有关信息,如信号量等互斥和同步机制;制;u资源清单:列出了除资源清单:列出了除CPUCPU外,进程所需的全部资外,进程所需的全部资源及已经获得的资源、源及已经获得的资源、I/OI/O设备、打开文件列表设备、打开文件列表等;等;u记帐信息:包括进程已占用记帐信息:包括进程已占用CPUCPU的时间、进程等的时间、进程等待时间等;待时间等;2024/7/1168
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!