最新第3章-进程管理课件

上传人:无*** 文档编号:241468299 上传时间:2024-06-27 格式:PPT 页数:98 大小:2.05MB
返回 下载 相关 举报
最新第3章-进程管理课件_第1页
第1页 / 共98页
最新第3章-进程管理课件_第2页
第2页 / 共98页
最新第3章-进程管理课件_第3页
第3页 / 共98页
点击查看更多>>
资源描述
第第3 3章章 进程管理进程管理第第3章章 进程管理进程管理3.1引言引言3.2进程的引入和定义进程的引入和定义3.3进程的状态和进程控制块进程的状态和进程控制块3.4进程控制进程控制3.5线程的基本概念线程的基本概念3.6进程调度进程调度3.7进程通信进程通信3.8死锁问题死锁问题开开始始颐圃劲舍父宾蹋蛙酵厄味嫉疫贪卑免吮西璃阔捂撂醉煎釉淡喘曹猜殊纪师第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理本章学习目标本章学习目标在在多多道道程程序序环环境境下下,程程序序不不能能独独立立运运行行。作作为为资资源源分分配配和和独独立立运运行行的的基基本本单单位位是是进进程程。操操作作系系统统所所有有的的特特征征都都是是基基于进程而体现的。所以,本章的主要问题是:于进程而体现的。所以,本章的主要问题是:进程的概念进程的概念进程的实体、状态及状态的演变进程的实体、状态及状态的演变进程的控制与调度进程的控制与调度进程之间的关系协调进程之间的关系协调进程的通信进程的通信死锁问题及解决死锁问题及解决返回本章首页返回本章首页铬椒赫淳枫抖闷儒姿讼线蛛淫绒试健淳懂绢措慰亥雨直太脱檄擞沼靠账邵第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理3.1引言引言处理机管理是操作系统的基本管理功能之一,它所关心的处理机管理是操作系统的基本管理功能之一,它所关心的是处理机的分配问题。也就是说把是处理机的分配问题。也就是说把CPU(中央处理机)的(中央处理机)的使用权分给某个程序,通常把这个正准备进入内存的程序使用权分给某个程序,通常把这个正准备进入内存的程序称为作业,当这个作业进入内存后我们把它称为进程。处称为作业,当这个作业进入内存后我们把它称为进程。处理机管理分为作业管理和进程管理两个阶段去实现处理机理机管理分为作业管理和进程管理两个阶段去实现处理机的分配,常常又把直接实行处理机时间分配的进程调度工的分配,常常又把直接实行处理机时间分配的进程调度工作作为处理机管理的主要内容。作作为处理机管理的主要内容。进程通常具有三种状态:运行状态(正在使用进程通常具有三种状态:运行状态(正在使用CPU)、阻)、阻塞状态(等待输入塞状态(等待输入/输出)和就绪状态(等待分配输出)和就绪状态(等待分配CPU)。)。返回本章首页返回本章首页瘟挂侯泛长场橡涪军晃傲窃喘舀裤霞撑宿砷娄掘钵饱业颠嚼繁比吾拉肢颐第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理3.2进程的引入和定义进程的引入和定义3.2.1 进程的引入进程的引入3.2.2 进程的定义进程的定义返回本章首页返回本章首页闺耘嫡控牡疮谎魔晦真咎歹竞愈纠锤搬逊堤沧绘腰搀蹈读医董祖耍斌噬贡第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理3.2.1 进程的引入进程的引入1程序的顺序执行及其特性程序的顺序执行及其特性2资源共享资源共享3程序的并发执行及其特性程序的并发执行及其特性 下一页下一页大顿撕疹敲萝森淹缔息秒瞅甩弄啦责霓也驮契郡屉拭嫡分微蚀丝匣咱惋榔第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理1程序的顺序执行及其特性程序的顺序执行及其特性 由于各类软件的出现及日益复杂化,使得程序设由于各类软件的出现及日益复杂化,使得程序设计的概念和方法有了很大的发展,在单道程序工计的概念和方法有了很大的发展,在单道程序工作环境中,我们把一个作环境中,我们把一个“程序程序”理解为理解为“一个在时间一个在时间上按严格次序前后相继的操作序列上按严格次序前后相继的操作序列”。下一页下一页论袋贿拓丑仁臣缚札震刘肪钟克生墩煽渐罕谎寻臻歉瓜匙替哉终领版杭窄第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理一切顺序执行的程序都具有下列特性:一切顺序执行的程序都具有下列特性:(1)顺序性。)顺序性。(2)资源独占。)资源独占。(3)结果的无关性。)结果的无关性。下一页下一页陷粳弥园苦付饯挤捍蔼伙匣景阑苦单货棕哥滁棍蹄均秸义耶异漾咬卫盾香第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理2资源共享资源共享 操作系统提供了两种实现资源共享的方法。操作系统提供了两种实现资源共享的方法。(1)由操作系统统一管理和分配。)由操作系统统一管理和分配。(2)由进程自行使用。)由进程自行使用。下一页下一页景窗肝刊觉趟丽缨质终蓄过溶讽灵揖僳随熟值妥掉婪担删鞠末性宅咆徽藤第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理3程序的并发执行及其特性程序的并发执行及其特性 无无论论是是操操作作系系统统自自身身的的程程序序还还是是用用户户程程序序,通通常常总总是是存存在在一一些些相相对对独独立立、但但又又能能并并发发执执行行的的程程序序段段。由由于于这这些些程程序序段段可可以以被被多多个个用用户户作作业业调调用用,因因此此可可在在同同一一时时间间间间隔隔内内发发生生。这这样样一一来来,某某个个程程序序段段可可能能对对应应多多个个“计计算算”,于于是是程程序序与与“计计算算”已已不不具具有有一一一一对对应应关关系系了了。这这些些“并并发发程程序序”就就构构成了一个成了一个“并发环境并发环境”。下一页下一页鼻侮汞腊缅卸肆悄谋冬缆胸鞋性好毡以选铝舷圆伴鹤迂虐倡控丰遣肢抉袁第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理图3.2 并行计算的先后次序下一页下一页抬戌织插糖昂智豌祸喀股骚鹃人队涸胳惭廖坯狞毕赔牵步侣贼踊梨啦炮瓢第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理程序的制约方式有如下两种程序的制约方式有如下两种:(1)间接制约方式。)间接制约方式。这是由于竞争相同资源而引起的,得到资源的程序段可以这是由于竞争相同资源而引起的,得到资源的程序段可以投入运行,而得不到资源的程序段就是暂时等待,直至获投入运行,而得不到资源的程序段就是暂时等待,直至获得可用资源时再继续运行得可用资源时再继续运行。(2)直接制约方式。)直接制约方式。这通常是在那些逻辑上相关的程序段之间发生的。一般是这通常是在那些逻辑上相关的程序段之间发生的。一般是由于各种程序段要求共享信息引起的由于各种程序段要求共享信息引起的。返回本节目录返回本节目录虐质贬毙矗颐揣陨叙擂旋吠菠萎卒汹耽洞尊牟寺鳖痔央犊目弓诱滞竣蒸穆第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理3.2.2进程的定义进程的定义 进程与程序的区别和相互关系进程与程序的区别和相互关系:(1)动态性和静态性。)动态性和静态性。(2)从结构上看每个进程的实体都是由程序段和相应的数据)从结构上看每个进程的实体都是由程序段和相应的数据段两部分构成的,这一特征与程序的含义相近。段两部分构成的,这一特征与程序的含义相近。(3)一个进程可以涉及到一个或几个程序的执行;反之一程)一个进程可以涉及到一个或几个程序的执行;反之一程序可以对应多个进程,即同一程序段可在不同数据集合上运行,序可以对应多个进程,即同一程序段可在不同数据集合上运行,可构成不同的进程可构成不同的进程。(4)并发性。)并发性。(5)进程具有创建其他进程的功能。)进程具有创建其他进程的功能。(6)操作系统中的每一个程序都是在一个进程现场中运行的。)操作系统中的每一个程序都是在一个进程现场中运行的。返回本节目录返回本节目录狗供遭流降炙置馁伏总雇峻蹿寡男喉亦倾哥犹迂注肥荣株宣燥寸腋旨瞒李第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理3.3进程的状态和进程控制块进程的状态和进程控制块 3.3.1进程的状态及状态变化图进程的状态及状态变化图 3.3.2进程控制块进程控制块 返回本章首页返回本章首页之然戊可骋限寐嗅拜棋私寓起邀县胞繁菠芽询颗幽菜貉粱豁距缔棺眺秩上第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理3.3.1进程的状态及状态变化图进程的状态及状态变化图(1)运运行行状状态态:进进程程正正在在处处理理机机上上运运行行的的状状态态,该该进进程程已已获获得得必必要要的的资资源源,也也获获得得了了处处理理机机,用用户户程程序序正正在在处处理理机上运行。机上运行。(2)阻阻塞塞状状态态:进进程程等等待待某某种种事事件件完完成成(例例如如,等等待待输输入入/输输出出操操作作的的完完成成)而而暂暂时时不不能能运运行行的的状状态态,处处于于该该状状态态的的进进程程不不能能参参加加竞竞争争处处理理机机,此此时时,即即使使分分配配给给它它处处理理机,它也不能运行。机,它也不能运行。(3)就就绪绪状状态态:该该进进程程运运行行所所需需的的一一切切条条件件都都得得到到满满足足,但但因因处处理理机机资资源源个个数数少少于于进进程程个个数数,所所以以该该进进程程不不能能运运行行,而而必必须须等等待待分分配配处处理理机机资资源源,一一旦旦获获得得处处理理机机就就立立即即投投入入运行。运行。下一页下一页捻媒缄裔衅郊酪肢评判徊认逼细撒伏团叶贮高磊胞金逛荣杰赢防庚乎字初第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理图图3.3典型的进程状态演变图典型的进程状态演变图下一页下一页短卑酱红舅藕慨呸纷框初煽躁斥沉决荔建噬笋鞭咨节雍哥胞搞补唁赫醋蹋第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理状态变化状态变化:(1)就绪状态变化到运行状态)就绪状态变化到运行状态。(2)运行状态变化到就绪状态。)运行状态变化到就绪状态。(3)运行状态变化到阻塞状态。)运行状态变化到阻塞状态。(4)阻塞状态变化到就绪状态。)阻塞状态变化到就绪状态。返回本节目录返回本节目录饭鼎颖札扮祁饱裴旧遁晴淹溪死进都毅央姜梯剁缘眯榷腊渭案甘泪洪弥骚第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理3.3.2进程控制块进程控制块 为了刻画进程的动态变化,通常把进程表示为由为了刻画进程的动态变化,通常把进程表示为由程序段、私有数据块和进程控制块组成,如图程序段、私有数据块和进程控制块组成,如图3.4(a)所示。程序部分描述进程本身所要完成)所示。程序部分描述进程本身所要完成的功能,而的功能,而“私有数据块私有数据块”是接受程序规定操作的是接受程序规定操作的一组存储单元的内容,是操作的对象。进程控制一组存储单元的内容,是操作的对象。进程控制块是在进程创建时产生的,当进程存在于系统时块是在进程创建时产生的,当进程存在于系统时(运行),进程控制块就标识了这个进程。如图(运行),进程控制块就标识了这个进程。如图3.4(b)所示。)所示。下一页下一页该皮舒蒂打翅奋冻锭散普迟芬褒叹暑奴吸怀搀羚模残蹲学枉枝睫机循贪屿第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理下一页下一页耻倚惺卒右焉员谆宇美角算楔锅董退怔句闻麻胃斥逸睫旺驶衬肃织体乏晴第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理进程控制块是进程存在的标志,当系统或父进程进程控制块是进程存在的标志,当系统或父进程创建一个进程时,实际上就是为其建立一个进程创建一个进程时,实际上就是为其建立一个进程控制块。控制块。进进程程控控制制块块既既能能标标识识进进程程的的存存在在,又又能能刻刻画画出出进进程程的的动动态态特特征征,它它是是一一个个进进程程仅仅有有的的被被系系统统真真正正感感知知的的部部分分。对对操操作作系系统统而而言言,所所有有进进程程控控制制块块将构成并发执行控制和维护系统工作的依据。将构成并发执行控制和维护系统工作的依据。进程控制块的作用:进程控制块的作用:返回本节目录返回本节目录腔掷告胶萄吗眼只猛圆厄毁闷哭养顿答傻藕班邢葡夏入听孩伤藻琢秧踞陵第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理3.4进程控制进程控制 3.4.1原语原语 3.4.2进程控制原语进程控制原语 返回本章首页返回本章首页津妄足投赂距浑蝎县诊石诌睁贡脸棘搽调邵消攻破扯脸佩伴钨闯鸳暴淖细第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理3.4.1原语原语 在在操操作作系系统统中中,某某些些被被进进程程调调用用的的操操作作,例例如如队队列列操操作作、对对信信号号灯灯的的操操作作、检检查查启启动动外外设设操操作作等等,一一旦旦开开始始执执行行就就不不能能被被中中断断,否否则则就就会会出出现现操操作作错错误误,造造成成系系统统混混乱乱。原原语语就就是是为为实实现现这这些些操操作作而设置的。而设置的。下一页下一页辗尚甚掳宵勤钦卿茫肉酚臼竖白倾吝航嘛区妻厚株把嚷镁认知财冶砚芋签第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理图图3.5进程家族示例进程家族示例返回本节目录返回本节目录坯净崇丛曼量曝怜睫春躇摊功秩绸闻惑供毒烘乏饼绥押歪蕉辖渍复菠镶纶第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理3.4.2 进程控制原语进程控制原语1创建原语创建原语2撤消原语撤消原语3阻塞原语阻塞原语4唤醒原语唤醒原语返回本节目录返回本节目录夏命泄判句签烬寻呜返绿菊衡呜随柒士晕得彝蜡阅胸禁加仲颐痪傍双铭熊第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理3.5线程的基本概念线程的基本概念3.5.1 线程的引入线程的引入3.5.2 线程与进程的比较线程与进程的比较3.5.3 用户级线程和内核支持线程用户级线程和内核支持线程返回本章首页返回本章首页掉馈擦芭弯锌毗吾届函吸丫辟碌淑咨交滚读狱淖耶汽危贰吴肃冶搏滞屿烃第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理3.5.1 线程的引入线程的引入(1 1)创创建建进进程程。系系统统在在创创建建进进程程时时,必必须须为为之之分分配配其其所所必必需需的的、除除处处理理机机以以外外的的所所有有资资源源。如如内内存空间、存空间、I/OI/O设备以及建立相应的设备以及建立相应的PCBPCB结构。结构。(2 2)撤撤消消进进程程。系系统统在在撤撤消消进进程程时时,又又必必须须先先对对这些资源进行回收操作,然后再撤消这些资源进行回收操作,然后再撤消PCBPCB结构。结构。(3 3)进进程程切切换换。在在对对进进程程进进行行切切换换时时,由由于于要要保保留留当当前前进进程程的的CPUCPU环环境境和和设设置置新新选选中中进进程程的的CPUCPU环环境,为此需花费不少处理机时间。境,为此需花费不少处理机时间。返回本节目录返回本节目录吐赘勿摹越刹脆唯咽鞭坠线昆谣可充因莱盅嚎苗夏贬材倔缮围疤强雁姿赏第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理3.5.2 线程与进程的比较线程与进程的比较1调调度度:在在传传统统的的操操作作系系统统中中,拥拥有有资资源源的的基基本本单单位位和和独独立立调调度度、分派的基本单位都是进程。分派的基本单位都是进程。2并并发发性性:在在引引入入线线程程的的操操作作系系统统中中,不不仅仅进进程程之之间间可可以以并并发发执执行行,而而且且在在一一个个进进程程中中的的多多个个线线程程之之间间亦亦可可并并发发执执行行,因因而而使使操操作作系系统统具具有有更更好好的的并并发发性性,从从而而能能更更有有效效地地使使用用系系统统资资源源和和提提高系统吞吐量。高系统吞吐量。3拥拥有有资资源源:不不论论是是传传统统的的操操作作系系统统,还还是是设设有有线线程程的的操操作作系系统,进程都是拥有资源的一个独立单位,它可以拥有自己的资源。统,进程都是拥有资源的一个独立单位,它可以拥有自己的资源。4系系统统开开销销:由由于于在在创创建建或或撤撤消消进进程程时时,系系统统都都要要为为之之分分配配或或回回收收资资源源,如如内内存存空空间间、I/O设设备备等等。因因此此,操操作作系系统统所所付付出出的的开开销将明显地大于在创建或撤消线程时的开销。销将明显地大于在创建或撤消线程时的开销。返回本节目录返回本节目录袱贬玖祝烂长藻挛光伺囊赛愚御旱窒乔屋坍云司亚果送妥楔哀瘁捆镶娄尾第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理3.5.3 用户级线程和内核支持线程用户级线程和内核支持线程比较两种线程的优缺点比较两种线程的优缺点:1线程的调度与切换速度:线程的调度与切换速度:内核支持线程的调度和切换与进内核支持线程的调度和切换与进程的调度和切换十分相似。程的调度和切换十分相似。2系统功能调用:系统功能调用:当传统的用户进程调用一个系统功能调用当传统的用户进程调用一个系统功能调用时,要由用户态进入核心态,用户进程将被阻塞。当内核完成时,要由用户态进入核心态,用户进程将被阻塞。当内核完成系统调用而返回时,才将该进程唤醒,继续执行。系统调用而返回时,才将该进程唤醒,继续执行。3线程执行时间线程执行时间:对于只设置了用户级线程的系统,调度是对于只设置了用户级线程的系统,调度是以进程为单位进行的。在采用轮转调度算法时,各个进程轮流以进程为单位进行的。在采用轮转调度算法时,各个进程轮流执行一个时间片,这对诸进程而言似乎是公平的。执行一个时间片,这对诸进程而言似乎是公平的。返回本节目录返回本节目录雷列诸唯位坛顺硒制羔荔乱缉皋镜攒戚拜谋啮墟兼决状简艇舀弦傣敷痊淘第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理3.6进程调度进程调度 3.6.1进程调度的职能进程调度的职能 3.6.2进程调度算法进程调度算法 3.6.3调度用的进程状态切换图调度用的进程状态切换图 返回本章首页返回本章首页晶搔帆漓蛹舆棋镀楚轿灭贤盐刨宗坚拌拷壶贝馒氛脯峙坞乌戏惭槐搞庆蟹第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理3.6.1进程调度的职能进程调度的职能(1)记录系统中所有进程的有关情况。)记录系统中所有进程的有关情况。(2)确定分配处理机的原则。)确定分配处理机的原则。(3)分配处理机给进程。)分配处理机给进程。(4)从进程收回处理机。)从进程收回处理机。返回本节目录返回本节目录妆熟金蛋汁敝识哄漠殉意蚤腆癌炭奢代脾炉摈少赊赶姚晕肥舟窘惑惩靴淋第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理3.6.2进程调度算法进程调度算法 1先来先服务先来先服务 2轮转调度轮转调度 3分级轮转法分级轮转法4优先数法优先数法 下一页下一页呐骡使好厨殴惫频胞贩挡宋枪唾沧迟丁淀悲枯鬼饯唱孩剪埋掖镁厅辞呸佳第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理1先来先服务先来先服务 这这种种调调度度算算法法按按照照进进程程进进入入就就绪绪队队列列的的先先后后顺顺序序来来调调度度进进程程,到到达达得得越越早早,其其优优先先数数越越高高。获获得得处处理理机机的的进进程程,未未遇遇到到其其他他情情况况时时,一一直直运运行行下下去去,系系统统只只需需具具备备一一个个先先进进先先出出的的队队列列,在在管管理理优优先先数数的的就就绪绪队队列列时时,这这种种方方法法是是一一种种最最常常见见策策略略,并并且且在在没没有有其其他他信信息息时时,也也是是一一种种最最合合理理的的策略。策略。下一页下一页辽孝粱秒戌掠帐吐睛纳墙该霖诊塑迂镶议教然蹿摆蜀淑辣载饶爱杆起竭幢第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理2轮转调度轮转调度 先先来来先先服服务务的的一一个个重重要要变变形形,就就是是轮轮转转规规则则。轮轮转转调调度度算算法法是是系系统统把把所所有有就就绪绪进进程程按按先先后后次次序序排排队队,处处理理机机总总是是优优先先分分配配给给就就绪绪队队列列中中的的第第一一个个就就绪绪进进程程,并并分分配配它它一一个个固固定定的的时时间间片片(如如100毫毫秒秒)。当当该该运运行行进进程程用用完完规规定定的的时时间间片片时时,被被迫迫释释放放处处理理机机给给下下一一个个处处于于就就绪绪队队列列中中的的第第一一个个进进程程,分分给给这这个个进进程程相相同同的的时时间间片片,每每个个运运行行完完时时间间片片的的进进程程,当当未未遇遇到到任任何何阻阻塞塞时时,就就回回到到就就绪绪队队列列的的尾尾部部,并并等等待待下下次次转转到到它它时时再再投投入入运运行行。于于是是,只只要要是是处处于于就就绪绪队队列列中中的的进进程程,按按此此种种算算法法迟迟早早总总可可以以分分得得处处理理机机投投入入运运行。行。下一页下一页殷胃躯磅炼见悔特詹老探着叔企娱账妙坞辞端盯赌播奄锡园痕略恿邱凯斑第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理3分级轮转法分级轮转法所谓分级轮转法就是将先前的一个就绪队列。根所谓分级轮转法就是将先前的一个就绪队列。根据进程的优先数不同划分两个或两个以上的就绪据进程的优先数不同划分两个或两个以上的就绪队列,并赋给每个队列不同的优先数。以两个就队列,并赋给每个队列不同的优先数。以两个就绪队列为例,一个具有较高优先数,另一个具有绪队列为例,一个具有较高优先数,另一个具有较低优先数,前者称为前台队列,后者称为后台较低优先数,前者称为前台队列,后者称为后台队列。队列。下一页下一页或绿姻靡苞结囤桔欲钓议敷敬早呀玻拔巢悄宛门到魂亢苞浊蔼醒速崔板算第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理4优先数法优先数法 根据已占有处理根据已占有处理机的进程是否可被剥夺而分为优先占有机的进程是否可被剥夺而分为优先占有法和优先剥夺法两种法和优先剥夺法两种。优先占有法的原理是:一旦某个最高优先数的就绪进程分优先占有法的原理是:一旦某个最高优先数的就绪进程分得处理机之后,只要不是其自身的原因被阻塞(如要求得处理机之后,只要不是其自身的原因被阻塞(如要求I/O操作)而不能继续运行时,就一直运行下去,直至运操作)而不能继续运行时,就一直运行下去,直至运行结束。行结束。优先剥夺法的原理是:当一个正在运行的进程即使其时间优先剥夺法的原理是:当一个正在运行的进程即使其时间片未用完,无论什么时候,只要就绪队列中有一个比它的片未用完,无论什么时候,只要就绪队列中有一个比它的优先数高的进程,优先数高的进程就可以取代以前正在运优先数高的进程,优先数高的进程就可以取代以前正在运行的进程,投入运行行的进程,投入运行。下一页下一页泳诉虐毕讣捞婶亲熊误桔磅手狞哗验耸利冲宛晕镐寺与耙涯组亢魂胞失腑第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理确定进程的优先数通常应考虑如下确定进程的优先数通常应考虑如下几个因素:几个因素:(1)进程类型。)进程类型。(2)运行时间。)运行时间。(3)作业的优先数。)作业的优先数。(4)动态优先数。)动态优先数。返回本节目录返回本节目录螺纬蜜茅遇诛澜附虽昼禾象箔示剃凤酣害氢寂辩莽矣隐柒圾刺隐殷德职惊第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理3.6.3调度用的进程状态切换图调度用的进程状态切换图 图图3.6调度用的进程状态切换图调度用的进程状态切换图返回本节目录返回本节目录样触磋否窃袄演老颁槐刀往娘揣饼醋娘腑壮栽特唤赴娄期理经口钒呕色胸第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理3.7进程通信进程通信 3.7.1临界资源和临界区临界资源和临界区 3.7.2进程的通信方式之一进程的通信方式之一同步与互斥同步与互斥 3.7.3两个经典的同步两个经典的同步/互斥问题互斥问题 3.7.4结构化的同步结构化的同步/互斥机制互斥机制管程管程 3.7.5进程的通信方式之二进程的通信方式之二消息缓冲消息缓冲 返回本章首页返回本章首页汰评悲烃雷绦帚毖亨亭母挽负蜂迄馏颗句钟秩缀囊温碑役郴览翘篱撮筑镣第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理3.7.1临界资源和临界区临界资源和临界区 在计算机中有许多资源只允许一个进程使用,如果在计算机中有许多资源只允许一个进程使用,如果有多个进程同时去使用这类资源就会产生严重的错误。有多个进程同时去使用这类资源就会产生严重的错误。几个进程若共享同一临界资源,它们必须以互斥的几个进程若共享同一临界资源,它们必须以互斥的方式使用这个临界资源,即当一个进程正在使用临界资源方式使用这个临界资源,即当一个进程正在使用临界资源且尚未使用完毕时,则其他进程必须推迟对该资源的进一且尚未使用完毕时,则其他进程必须推迟对该资源的进一步操作,在当前进程的使用完成之前,不能从中插进去使步操作,在当前进程的使用完成之前,不能从中插进去使用这个临界资源,否则将会造成信息混乱和操作出错。用这个临界资源,否则将会造成信息混乱和操作出错。系统中同时存在有许多进程,它们共享各种资源,系统中同时存在有许多进程,它们共享各种资源,然而有些资源每次只能让一个进程所使用。然而有些资源每次只能让一个进程所使用。返回本节目录返回本节目录讹底揪佩炭驳统别攻银爷楼萧汲啦慢谣亏顾显裁譬慌痛秃捧敌叁咖贤奥家第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理3.7.2进程的通信方式之一进程的通信方式之一同步与互斥同步与互斥 同同步步:我我们们把把进进程程间间的的这这种种必必须须互互相相合合作作的的协协同同工作关系,称为进程同步。工作关系,称为进程同步。互斥:互斥:两个并行的进程两个并行的进程A、B,如果当,如果当A进行某进行某个操作时,个操作时,B不能做这一操作,进程间的这种限不能做这一操作,进程间的这种限制条件称为进程互斥,这是引起资源不可共享的制条件称为进程互斥,这是引起资源不可共享的原因。原因。咬踞鞋入壕椅敲吻丢庐收蚜聊虐式配堡勾哎口舒深森愧寂减颖医耿菏扑蝶第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理lock和unlock大大部部分分同同步步方方案案均均采采用用某某个个物物理理实实体体(如如锁锁、信信号号灯灯等等)实实 现现 通通 信信,进进 程程 通通 信信 原原 语语 中中 关关 锁锁(lock)和和 开开 锁锁(unlock)是是最最简简单单的的原原语语。在在这这两两个个原原语语中中设设置置一一个个公公共共变变量量x代代表表某某个个临临界界资资源源的的状状态态。如如:x=0,表表示示资资源源可可用,用,x=1,表示资源正在使用。,表示资源正在使用。关锁原语关锁原语1ock(x):):L:ifx1thengotoLelsex:=1;开锁原语开锁原语unlock(x):):x:=0;泌痉啥葱烯蓄打俐憾释豁次刘各诣伞津桥绪影致绵颅酿梆蚤悠翅捏乡俺嗓第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理图图3.7开锁和关锁程序流程图开锁和关锁程序流程图返回本节目录返回本节目录蚂梅护防疚涅忌熬棵寓荫带硝峪淡蛾烫皋珊泣手琅赢晶椅据卉焚嗽屡豆傅第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理3.7.3两个经典的同步两个经典的同步/互斥问题互斥问题 1生产者与消费者问题生产者与消费者问题 2读者与写者问题读者与写者问题 檄猎嫡开恬明眨碳钟液踪羊而住销贝揉毙蓑渔状筏所敬见陇邱篆贾境悄艰第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理1生产者与消费者问题生产者与消费者问题 Dijkstra把广义同步问题抽象成一种把广义同步问题抽象成一种“生产者与消费者问题生产者与消费者问题”(Producer-consumer-relationship)的抽象模型。事实)的抽象模型。事实上,计算机系统中的许多问题都可归结为生产者与消费者上,计算机系统中的许多问题都可归结为生产者与消费者问题,生产者与消费者可以通过一个环形缓冲池(见图问题,生产者与消费者可以通过一个环形缓冲池(见图3.8)联系起来,环形缓冲池由几个大小相等的缓冲块组)联系起来,环形缓冲池由几个大小相等的缓冲块组成,每个缓冲块容纳一个产品。每个生产者可不断地每次成,每个缓冲块容纳一个产品。每个生产者可不断地每次往缓冲池中送一个生产产品,而每个消费者则可不断地每往缓冲池中送一个生产产品,而每个消费者则可不断地每次从缓冲池中取出一个产品。次从缓冲池中取出一个产品。下一页下一页藉柜该诗轩净铃避彭草涡莽慧知斜衅敬脖孕蚁懈牙乎尔捻蚜氛令拱琴恐卉第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理图图3.8环形缓冲池环形缓冲池下一页下一页仑翘障姥跳匝池仇搀句翠恨宰乞吗通题淡解打宪师筷虐避兢膳畦进坡沼豺第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理下下面面给给出出基基于于环环形形缓缓冲冲区区的的生生产产者者与与消消费费者者关关系系的的形式描述,设:形式描述,设:(1)公公用用信信号号量量mutex:初初值值为为1,用用于于实实现现临临界界区区互斥。互斥。(2)生生产产者者私私用用信信号号量量empty:初初值值为为n,指指示示空空缓缓冲块数目。冲块数目。(3)消消费费者者私私用用信信号号量量full:初初值值为为0,指指示示满满缓缓冲冲块数目。块数目。(4)整型量)整型量i和和j初值均为初值均为0,i指示首空缓冲块序号,指示首空缓冲块序号,j指示首满缓冲块序号。指示首满缓冲块序号。v模块模块设计如下:设计如下:下一页下一页革信龙哪涡晕贝涵逼杨冕戮蹬星佃展旗以织台谍画漏态嗜接硕垦肯害氮哈第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理Varmutex,empty,full:semaphore;i,j:integer;buffer:array0n一一1ofitem;Procedureproducer;生产者进程生产者进程beginwhiletruedobeginproduceaproduct;P(empty);下一页下一页七愿句扼髓诵靠绚酸弯疗屏懒吠虞眨图祈短晰核银朋触实刻狙瓢持选培驻第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理P(mutex);Buffer(i):Product;i:(i+1)modn;V(mutex);V(full)endend;procedureconsumer;消费者进程消费者进程下一页下一页堰为危掖噪曼袍杏宫朽和朔推藤设镭庙瘩怠卉颈耪沧韧渭锨医下孜久己钱第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理beginWhiletruedobeginP(full);P(mutex)goods:buffer(j);j:(j+1)modn;V(mutex);V(empty);Consumeaproduct;end下一页下一页框面您赖殉缉袁动戏牙座捅辩亿慎绩瞧冻丑朱又沁邹馏酱千栏杜悼涕酬砌第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理end;beginseminitial;i:j:0;cobeginproducer;consumer;coendend下一页下一页臃靡拯蝉互寥困妨件皇椒柿龟茶繁太总湘个彰掂夏戌枝绰陋沫栖钱话跃太第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理2读者与写者问题读者与写者问题 设设某某航航空空公公司司有有2个个售售票票处处,它它们们通通过过远远程程终终端端访访问问设设在在公公司司总总部部的的航航空空订订票票系系统统,并并要要查查询询或或修修改改系系统统中中记记录录所所有有班班机机当当前前订订票票数数的的数数据据库库B。设设Bi为为某某班班机机的的当当前前订订票票数数,P1和和P2分分别别代代表表2个个售售票票处处的的售售票票进进程程,R1和和R2为为进进程程执执行行时时使使用用的的工工作作寄寄存存器器。由由于于售售票票进进程程并并发发执执行行,且且各各自自访访问问数数据据库库B的的时时间间是是随随机机的的,故故有有可可能能出出现现下下面面的访问序列(假定的访问序列(假定Bi的当前值为的当前值为x):):下一页下一页贷远黍亭种岩拾心隆渠轿疙味真怨锤沾妇佐晦稠口眺锭敬蹬谆惠潍率浴瘁第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理P1:R1:=Bi;R1:=R1+1P2:R2=Bi;R2:=R2+1;P1:Bi:=R1;P2:Bi:=R2可见,可见,Bi的新值是的新值是X+1,而不是,而不是X+2。这里的。这里的P1和和P2均为写者,显然,对于写者均为写者,显然,对于写者Bi为临界资源,为临界资源,因此写者应该互斥。因此写者应该互斥。下一页下一页嚼犁惶登馋歼禄盼小深腾邱疮鼎乳马粥蓖降限弗辟絮方庆仅术夸驼尸绩霞第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理下面给出读者进程与写者进程的一般结构。下面给出读者进程与写者进程的一般结构。varmutex,wrt:semaphore;readcount:integer;beginseminit;readcount:=0cobeginprocedurereader;beginP(mutex);Readcount:=readcount+1;Ifreadcount=1thenP(wrt);V(mutex);Readingisperforming;下一页下一页挛剃恭顿庚冗渠贝嘴骂涝单焕丸妻经虹道菲惨涉蒜讳靛攀邓塞姻竭悯计敝第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理P(mutex);readcount:=readcount-1ifreadcount=0thenV(wrt);V(mutex);EndProcedurewriter;BeginP(wrt);writingisperforming;V(wrt);EndCoendEnd;返回本节目录返回本节目录赏里意弊哮丰宜沃发宫孽慕臃孜员父态岔季宇乐酸喜濒憎叹恩插知众桃速第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理3.7.4结构化的同步结构化的同步/互斥机制互斥机制管程管程 建建立立管管程程的的基基本本理理由由是是:由由于于对对临临界界区区的的执执行行分分散散在在各各进进程程中中,这这样样不不便便于于系系统统对对临临界界资资源源的的控控制制和和管管理理,也也很很难难发发现现和和纠纠正正分分散散在在用用户户程程序序中中的的对对同同步步原原语语的的错错误误使使用用等等问问题题。为为此此,应应把把分分散散的的各各同同类类临临界界区区集集中中起起来来。并并为为每每个个可可共共享享资资源源设设立立一一个个专专门门的的管管程程来来统统一一管管理理各各进进程程对对该该资资源源的的访访问问。这这样样既既便便于于系系统统管管理理共共享享资资源源,又又能能保证互斥访问。保证互斥访问。下一页下一页谢几壮泉尸鸿领范脐田谩如琐脯绵钝允溉涩躬久客堑讼慨伸宋混手僻滋三第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理管程主要由两部分组成:管程主要由两部分组成:(1)局局部部于于该该管管程程的的共共享享数数据据,这这些些数数据据表表示了相应资源的状态。示了相应资源的状态。(2)局局部部于于该该管管程程的的若若干干过过程程,每每个个过过程程完完成关于上述数据的某种规定操作。成关于上述数据的某种规定操作。为了实现对临界资源的互斥访问,管程每次为了实现对临界资源的互斥访问,管程每次只允许一个进程进入其内(即访问管程内的只允许一个进程进入其内(即访问管程内的某个过程),这是由编译系统保证的。某个过程),这是由编译系统保证的。下一页下一页网足岿后登贴革尼藩驱卖畴怖训竟呆缨竹讣柠曙风斧沫枪蕾这叼巡衰长尿第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理monitorringbuffer;varrbuffer:array0n-1ofitem;k,nextempty,nextfull:integer;empty,full:condition;procedureentryput(varproduct:item);beginifk=nwait(empty);rbuffernextempty:product;k:=k+1;nextempty:=(nextempty+1)modn;signal(full);end;例:以环形缓冲池为例,给出环形缓冲池的管程结构例:以环形缓冲池为例,给出环形缓冲池的管程结构下一页下一页豁帛愚闽芹架塘曲袖瑟蜒殖斋雹人臆冀缕猜壶闲敖啃迪儒鼓咳遍疡搁商辑第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理procedureentryget(vargoods:item);beginifk=0wait(full);goods:=rbuffernextfull;k:=k-1;nextfull:=(nextfull+1)modn;signal(empty);end;begink:=0;nextempty:=0;nextfull:=0;end;下一页下一页梧计颖犹骡祭倪腥仔荔瓜刽会瞥滴季阁陪峰壬谚遭粹罕膘烯采怨辽创茹烬第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理在利用管程解决生产者、消费者问题时,其中在利用管程解决生产者、消费者问题时,其中的生产者和消费者可描述为:的生产者和消费者可描述为:producer:beginrepeatproduceanitem;ringbuffer.put(item);untilfalse;endconsumer:beginrepeatringbuffer.get(item);consumetheitem;end返回本节目录返回本节目录傀帝传垢拯蓖怯县滥独说宏只鸿绕协柳极妻铲圃定可缩捎蟹掐急土署淹捎第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理3.7.5进程的通信方式之二进程的通信方式之二消息缓冲消息缓冲 1SEND(A)(发送消息)原语(发送消息)原语 2READ(A)(读取消息)原语)(读取消息)原语 下一页下一页洲摇氰壬刨毛僧锻搞塘甭杖度桅瓢打纹镍锯攒糯酣鞍堆扩壹魏遮躺询坝优第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理1SEND(A)(发送消息)原语(发送消息)原语 发发送送消消息息原原语语被被进进程程用用于于把把消消息息发发送送到到存存放放消消息息的的缓缓冲冲区区。A是是原原语语的的参参数数,表表示示发发送送区区的的地地址址。其其工工作作原原理理是是:首首先先调调用用“寻寻找找目目标标进进程程的的PCB”的的程程序序查查找找接接收收进进程程的的PCB,如如果果接接收收进进程程存存在在,申申请请一一个个存存放放消消息息的的缓缓冲冲区区,消消息息缓缓冲冲区区为为空空时时,接接收收此此消消息息的的进进程程因因等等待待此此消消息息的的到到来来而而处处于于阻阻塞塞状状态态,则则唤唤醒醒此此进进程程,并并把把消消息息的的内内容容、发发送送原原语语的的进进程程名名和和消消息息等等,复复制制到到预预先先申申请请的的存存放放消消息息的的缓缓冲冲区区,且且将将存存放放消消息息的的缓缓冲冲区区连连接接到到接接收收进进程程的的PCB上上;如如果果接接收收进进程程不不存存在在,则则由由系系统统给给出出一一个个“哑哑”回回答答;最最后后控控制制返返回回到到发发送送消消息息的的进进程程继继续续执执行行,或或转转入入进进程程调调度度程程序序重重新新分分配配处处理理机机。如如果果消消息息缓缓冲冲区区已已满满,则则返回到非同步错误处理程序入口进行特殊处理。如图返回到非同步错误处理程序入口进行特殊处理。如图3.9所示。所示。下一页下一页恩陛灌拌嫉苇脖坑敲川侵鞘涩镜状唱在仗郡墅磨岳贡凑宅和菊兆劫矮检为第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理图图3.9发发送送消消息息过过程程流流图图下一页下一页灭猴陛昧霉庸以净溃浪怜放叔湿忧篙顿水穿茬茶昂绑嚷孟藐炸塘属督酌篓第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理2READ(A)(读取消息)原语)(读取消息)原语 READ(A)原语用来读取消息,接收进程原语用来读取消息,接收进程读取消息之前,在自己的空间中确定一读取消息之前,在自己的空间中确定一个接收区。当接收进程想要读取消息时,个接收区。当接收进程想要读取消息时,使用使用READ(A)原语,原语,A是接收进程提供是接收进程提供的接收区开始地址。如图的接收区开始地址。如图3.10所示。所示。下一页下一页催杆锅翟摊圃史杆办后周温柿措霸抒豁钢诌饥走纬酌摘恐葱鹏迪择熙辛虐第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理图图3.10读取消息读取消息返回本节目录返回本节目录哺澈业犊诌酷钓侩醇绕杖酞恿路砧梧鉴哥下暮蒋泻耍搁妹糕膝盾毗啃网莱第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理3.8死锁问题死锁问题 3.8.1死锁产生的原因和必要条件死锁产生的原因和必要条件 3.8.2预防死锁预防死锁 3.8.3发现死锁发现死锁 3.8.4解除死锁解除死锁 返回本章首页返回本章首页糟敬塑扮狭查巧礼点驼僻怨巫鸽帧徘污君漱绸舅陨茁鲍怯兢佛娠蝎联链详第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理3.8.1死锁产生的原因和必要条件死锁产生的原因和必要条件 死锁产生的原因死锁产生的原因:当某个进程提出申请资源后,使得有关进程在无当某个进程提出申请资源后,使得有关进程在无外力协助下,永远分配不到必需的资源而无法继外力协助下,永远分配不到必需的资源而无法继续运行,这就产生了一种特殊的现象续运行,这就产生了一种特殊的现象死锁。死锁。在许多实时应用中,比如计算机控制运输和监视在许多实时应用中,比如计算机控制运输和监视系统方面,死锁问题也极为重要。系统方面,死锁问题也极为重要。下一页下一页羞胞踩樊审帆短浩弄干晌个籽酚讫怜尸瓤晶北降澜恃世绚评傲悼莲忠罐禽第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理死锁产生例子死锁产生例子1:我我们们先先来来看看一一个个申申请请不不同同类类型型资资源源的的死死锁锁例例子子,假假定定有有两两个个进进程程Pl和和P2都都要要修修改改文文件件F,修修改改时时都都需需要要一一条条暂暂时时存存放放信信息息的的磁磁带带,而而只只有有一一台台磁磁带带机机T可可用用。又又假假定定由由于于某某种种原原因因,在在进进行行修修改改之之前前,P2需需要要一一暂暂存存磁磁带带(例例如如为为了了修修改改,要要重重新新组组织织输输入入数数据据)。设设F和和T都都是是可可重重用用资资源源,它它们们分分别别表表示示允允许许更更新新文文件件和和允允许许使使用用磁磁带带机机。于于是是Pl和和P2。可有如下形式:。可有如下形式:下一页下一页悟晰溜妓嗓箕煌迢精娶挂酬坪肃奶氧藐排坤燃胁敢散铅驭砌征懈晓勘遁毡第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理分析:分析:从上面的申请从上面的申请-释放过程可以看出,进程释放过程可以看出,进程Pl和和P2有可能有可能“同时同时”分别到达分别到达rl和和r2处,例如,处,例如,P2首先得到首先得到T,然后,然后Pl得到得到F,接着接着Pl到达到达r1,最后,最后P2到达到达r2,此时,若,此时,若Pl继续运行,则占有继续运行,则占有F的进程的进程Pl将阻塞在将阻塞在T上,若上,若P2继续运行,则占有继续运行,则占有T的进程的进程P2将阻将阻塞在塞在F上,如果上,如果P2不能前进,则不能前进,则P1也不能继续下去,反之亦然。也不能继续下去,反之亦然。我们说这两个进程处在死锁状态。我们说这两个进程处在死锁状态。下一页下一页概难绽睦每筏颊嫡僳嗡喻终缀惹仕挡梗挤摩粗品累烷缘杨糜蚁患龙呸桐衰第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理图图3.11简单的死锁例子简单的死锁例子下一页下一页发霞辊避某愚睦汛灸祁仲兼停险奶烟颇龄踪柞橡边溶汐纯宦硼沧衰频次搐第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理死锁产生例子死锁产生例子2:现现在在我我们们再再来来看看一一个个关关于于相相同同类类型型资资源源共共享享的的死死锁锁例例子子,假假设设有有一一类类可可再再使使用用资资源源R,例例如如主主存存或或外外存存,它它包包含含有有m个个页页面面或或扇扇区区,由由n个个进进程程P1,P2,Pn(2mn)共共享享。假假定定每每个个进进程程按按右右图图顺顺序序申申请和释放页面(或扇区):请和释放页面(或扇区):下一页下一页咋祥毡沽缩宜耕说抬仁迭毖获泣炸盖狡范钻致包垢艰狂漠般骇利肮猫裙累第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理分析:分析:这里每次申请和释放只涉及这里每次申请和释放只涉及R的一个分的一个分配单元(页或扇区)。因此,当把所有单元全配单元(页或扇区)。因此,当把所有单元全部分配完毕时,便很容易发生死锁;占有部分配完毕时,便很容易发生死锁;占有R的的单元的所有进程(前单元的所有进程(前m个进程)会永远阻塞在个进程)会永远阻塞在第二次申请上,而有些进程(第二次申请上,而有些进程(nm个进程)类个进程)类似地会阻塞在它们的第一次申请上,在图似地会阻塞在它们的第一次申请上,在图3.12中说明了中说明了n3,m2时这种系统的状态,这类时这种系统的状态,这类死锁是相当普遍的。死锁是相当普遍的。下一页下一页臼抄袁瑰累杯戚氮光脸段浙拣傍崇鸭威及胚羹痴睁轩哎运着摈芋哪薛辰兽第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理图图3.12同类资源共享时的死锁现象同类资源共享时的死锁现象下一页下一页翔乐近浦檬促泞悦邀败紊鬼瓷拾询与约单潘贴尤召泻较绿弓唬恿呢瘤寂屠第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理产生死锁有四个必要条件:产生死锁有四个必要条件:产生死锁有四个必要条件:产生死锁有四个必要条件:(1)互斥条件。)互斥条件。(2)不剥夺条件。)不剥夺条件。(3)请求和保持条件。)请求和保持条件。(4)环路等待条件。)环路等待条件。返回本节目录返回本节目录啪烁因涯酣土妮嘴嘲嗣砧捏离霹阻尚素蚕签融绅哟辉羊琴挟堂狸许穴襟克第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理3.8.2预防死锁预防死锁 1破坏破坏“请求与保持条件请求与保持条件”2破坏环路条件破坏环路条件 3资源受控动态分配资源受控动态分配 陇隶漾碧菠橙橱雇茵桃扩毒缀臃匆蔗设眼驰敏癌稽轰阂蚁赡枝姑蝇舱察疽第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理1破坏破坏“请求与保持条件请求与保持条件”这这种种方方法法的的基基本本思思想想是是:每每个个进进程程在在运运行行之之前前,必必须须预预先先提提出出自自己己所所要要使使用用的的全全部部资资源源,调调度度程程序序在在该该进进程程所所需需要要的的资资源源末末得得到到满满足足之之前前,不不让让它它们们投投入入运运行行,并并且且当当资资源源一一旦旦分分配配给给某某个个进进程程之之后后,那那么么在在该该进进程程的的整整个个运运行行期期间间相相应应资资源源一一直直被被它它占占有有,这这就就破破坏坏了了产产生生死死锁锁的的请请求求与与保保持持条件。条件。下一页下一页路述切湖浓通咏邱者酒姿芯泛髓褂荤律桅峪哗筋熔煽有羹颠凝曼亮途行牺第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理2破坏环路条件破坏环路条件 这种方法的基本思想是:对系统提供的每一项资源,由系这种方法的基本思想是:对系统提供的每一项资源,由系统设计者将它们按类型进行线性排队,并赋予不同的序号。统设计者将它们按类型进行线性排队,并赋予不同的序号。例如,设卡片输入机为例如,设卡片输入机为1,打印机为,打印机为2,磁带机为,磁带机为3,磁盘,磁盘机为机为4,。所有的进程都只能严格地按照编号递增。所有的进程都只能严格地按照编号递增(或递减)的次序去请求资源,亦即,只有低编号的资源(或递减)的次序去请求资源,亦即,只有低编号的资源要求满足后,才能对高编号资源提出要求;释放资源时,要求满足后,才能对高编号资源提出要求;释放资源时,应按编号递减的次序进行。由此可以看出,对资源请求采应按编号递减的次序进行。由此可以看出,对资源请求采取了这种限制之后,所形成的进程取了这种限制之后,所形成的进程资源图不可能再产生资源图不可能再产生环路。如图环路。如图3.13所示所示.下一页下一页淆人朴症亢帛冶笋静鸥磊刮株仍耕活糙修趟轴爆还跃彻黍折窒遣彤瞄匀腥第3章 进程管理第3章 进程管理第第3 3章章 进程管理进程管理图图3.13资资源源申申请请和和释释放放顺顺序序图图下一页下一页迟滞梭鲤赂散昏讳檄撰撤绸满煎潜默笨编脚斥练郴心辟敢政瑞逐莫
展开阅读全文
相关资源
相关搜索

最新文档


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


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

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


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