李元金 计算机与信息工程学院 E-mail: liyuanjin10@126.com 第 10讲 处理机调度与死锁(4) 李元金 计算机与信息工程学院 E-mail: liyuanjin10@126.com 1/

Slides:



Advertisements
Similar presentations
渡黑水溝 郁永河. 2 戎克船:是明末清初時期往返兩岸的主要交通工具 ∗ 1. 關於台灣的開發歷史,我們到底了解多少呢?不妨試著說出 就我們所知有關台灣開發史的故事、小說、電影、音樂與大 家分享。 ∗ 2. 什麼是黑水溝?黑水溝為什麼會成為大陸移民渡海來臺時最 大的威脅? ∗ 3. 有聽過「六死三留一回頭」、「有唐山公,無唐山嬤」這兩.
Advertisements

商业主体的设立 商业主体的设立. 学习重点 1. 公司的设立方式 商个人的设立 个人独资企业 一. 设立依据 《中华人民共和国个人独资企 业法》1999年8月通过, 自2000年1月1日起施 行 二. 设立条件 1. 投资人为一个自然人; 2. 有合法的企业名称; 3. 有投资人申报的出资; 4.
盈泰盛世精选 - 华泰并购投资基金 宝蓄财富 - 产品部. 产品基本要素 产品名称盈泰盛世精选华泰并购投资基金 管理人北京恒宇天泽投资管理有限公司 托管人国信证券股份有限公司 发行规模 1.2 亿元,以实际募集规模为准 人数限制 200 人上限 投资标的本基金委托将主要投向于华泰瑞联二期并 购基金中心(有限合合)(以企业登记的.
第六章 交际礼仪 学习目标 案例导入 主要内容 互动训练 思考练习.
性別平等教育實施成效 之 檢視與評鑑 主講人: 廖芳娟
都是作假惹的禍 假 GO ~.
96學生團體保險開辦說明 國泰人壽團險部團險管理科.
授課者:陳月端 法律倫理 授課者:陳月端
三普聯合會計師事務所 講師:莊汧驊 會計師 : 中華民國103年03月10日
主題─ 悌 授課教師:謝宛琳.
遊程規劃實務 中華民國遊程規劃設計協會.
学 校 名 称: 乐山师范学院 课 程 名 称: 声 乐 学 课程层次 (本/专): 本 科 所属一级学科名称: 文 学
政府機關綠色採購申報系 統操作說明及問題疑義
自 我 介 紹 班級:運促一乙 姓名:林以權 學號:D
公文製作與品質 彰化縣政府秘書 劉玉平 中 華 民 國 104 年 7 月 31 日 .
歷史建築清水國小宿舍群修復工程 施工說明會
應用文寫作規範 書信 便條 摘要 心得報告.
福建省毕业生就业公共网 注册流程 就业中心 二O一二年九月.
初念淺~轉念深 網路~小品一則~分享.
支援報備之重要性.
第三讲: 如何获取和处理就业信息.
企業設置哺(集)乳室與托兒服務觀摩座談及補助說明會
國立花蓮高級工業職業學校 圖書館簡介 歡迎各位蒞臨.
课程改革呼唤科学教育 常州市教育局教研室 蔡正秋.
「一領一‧新倍加」 門徒培育教材 一領一友誼傳道 (領人系列 12).
作業系統 第六章 同步與死結.
网瘾的危害.
從無薪假談勞動契約條件之變更 主講人:建業法律事務所 李育錚律師.
明道大學 教師扣考系統 操作說明.
会计与财务学院 2010届毕业实习与毕业论文 学生应知注意事项.
预防老年痴呆的15个 生活习慣   背景音乐:红楼箫曲─秋窗风雨夕 文 字 资 料 来 自 网 络.
抓根本、强内涵 落实教学全过程管理 阿克苏广播电视大学 讲师 党委委员、副校长赵建胜.
國立臺灣海洋大學 【教務處】 簡報者:李國誥 教授兼教務長 中華民國98年9月23日.
刘 汉 德 广东省糖业协会 广东中轻糖业集团有限公司
備審資料準備 黃思倫 教授 逢甲大學資訊電機學院 院長
如何準備實習的履歷與自傳 吳秀照
國立高雄應用科技大學招生委員會 104 學年度碩士在職專班招生 在職服務證明書 表一 報考所 別 姓名 性別 生日 年月日 服務機 構
民法总论 丘志乔 民法学习网: 民法学习网:
澄清误区 探求共识 高冀生 海峡两岸大学图书馆建筑学术研讨会 高校图书馆建设理念再认识 中国图书馆学会 建筑专业委员会委员
于 雷 教育部高等职业院校人才培养工作评估研究课题组成员 沈阳工程学院教授
营销培训 农药渠道运作实务 迪智成咨询:程绍珊 迪智成咨询 3/21/2017
教育部補助公立大專校院辦理學生事務與輔導工作~ 有情天地~看見生命裡的陽光
国家自然科学基金 项目预算编制 财 务 处 二〇〇九年九月.
師資培育評鑑說明~教育實習篇 報告人:楊智穎主任.
中国建设银行企业金融服务方案 中国建设银行广州经济技术开发区支行 2016年9月21日.
马克思主义基本原理概论 第三章 人类社会及其发展规律.
待遇福利法規及案例分享 臺中市立后綜高級中學 林 春 榮.
物理学专业 光学实验绪论 主讲人:路莹 洛阳师范学院物理与电子信息学院 2009年3月.
2018/9/19.
慈濟大學101學年度(下) 公文寫作與文書處理 102年5月30日上午 總務處文書組 潘杰秀.
Deadlocks P0 P1 Example System has 2 tape drives.
和春技術學院資訊管理系 九十三學年度第一學期 系統程式 第三章 死結(Deadlock)
第三章 处理机调度与死锁 3.1 处理机调度的层次和调度算法的目标 3.2 作业与作业调度 3.3 进程调度 3.4 实时调度
作業系統 第六章 同步與死結.
項目五、畢業生表現 第一節 現況描述 一、畢業生專業能力符合系所教育目標之程度
國立勤益科技大學 技專校院校務基本資料庫 填表說明會
安全状态的例子 例:假定系统有三个进程P1、P2、P3,共有12台磁带机。进程P1总共要求10台磁带机,P2和P3分别要求4台和九台。设在T0时刻,进程P1、P2和P3已经获得5台、2台和2台,还有3台空闲没有分配。 进程 最大需求 已分配 可用 P P2 4 2 P3 9 2 T0时刻系统时安全的。这时存在一个安全序列
服務教育 「服務教育」之課程,即為愛校環境清潔的服務,此門課為必修課為新生一年級必修課程,上、下學期各一學分。
昂首踏實- 大專校院校外實習媒合資訊平台.
國立臺灣師範大學 邁向頂尖大學計畫 補助出國經費作業要點
服務教育 「服務教育」之課程,即為愛校環境清潔的服務,此門課為必修課為新生一年級必修課程,上、下學期各一學分。
購料平台訂購系統 教育訓練_操作手冊 製作:台塑購物網
我們讓自己相信,當我們結婚後,有了孩子以後,或者其它的什麼事情之後,我們會更加幸福。
向後退 有一天我在 信箱中收到一位朋友轉寄來的圖檔。一打開來,我只看見一個黑色塊上面堆了一些類似亂碼的白色文字,而排列方式也毫無規則可言,完全不知那個是什麼東西。
李元金 计算机与信息工程学院 第 12 讲 存储器管理(1) 李元金 计算机与信息工程学院 1/
指導老師:張慶寶 第13組 組員:許芙碩 郭民政 林孟璁 傅瑞翔 陳柏誠
提昇教師專業會議(華人社區) 「教師專業行為表現」專題討論 學生和家長眼中的教師專業行為 日期:2005年10月29日 地點:香港教育學院C-Lp-01室 主講 :香港教育工作者聯會 韓湛恩老師.
赤壁赋 苏轼. 赤壁赋 苏轼 赋是一种有韵的文体,讲求声律、押韵、对比等形式,有辞赋、骈赋和律赋等。 关于赋 赋是一种有韵的文体,讲求声律、押韵、对比等形式,有辞赋、骈赋和律赋等。     
備審資料準備 逢甲大學 資訊電機學院 黃思倫 教授兼院長
鑑定安置期程說明 特教資源中心 鑑定安置組 陳翠綾.
Presentation transcript:

李元金 计算机与信息工程学院 E-mail: liyuanjin10@126.com 第 10讲 处理机调度与死锁(4) 李元金 计算机与信息工程学院 E-mail: liyuanjin10@126.com 1/

教学目标与内容 教学目标 教学内容 掌握银行家算法 理解死锁的检测与解除的方法 银行家算法 死锁的检测与解除 计算机科学与技术系 2/ 信息与教育技术中心 2/

复习 死锁的定义 死锁的原因 死锁的必要条件 处理死锁的基本方法 预防死锁有哪些方法? 什么是安全状态?什么是不安全状态? 3/

利用银行家算法避免死锁 银行家算法中的数据结构 可利用资源向量Available。这是一个含有m个元素的数组,其中的每一个元素代表一类可利用的资源数目,其初始值是系统中所配置的该类全部可用资源的数目,其数值随该类资源的分配和回收而动态地改变。如果Available[j]=K,则表示系统中现有Rj类资源K个。 4/

利用银行家算法避免死锁 最大需求矩阵Max。这是一个n×m的矩阵,它定义了系统中n个进程中的每一个进程对m类资源的最大需求。如果Max[i,j]=K,则表示进程i需要Rj类资源的最大数目为K。 分配矩阵Allocation。这也是一个n×m的矩阵,它定义了系统中每一类资源当前已分配给每一进程的资源数。如果Allocation[i,j]=K,则表示进程i当前已分得Rj类资源的数目为K。 5/

利用银行家算法避免死锁 需求矩阵Need。这也是一个n×m的矩阵,用以表示每一个进程尚需的各类资源数。如果Need[i,j]=K,则表示进程i还需要Rj类资源K个,方能完成其任务。 Need[i,j]=Max[i,j]-Allocation[i,j] 6/

利用银行家算法避免死锁 银行家算法 设Requesti是进程Pi的请求向量,如果Requesti[j]=K,表示进程Pi需要K个Rj类型的资源。当Pi发出资源请求后,系统按下述步骤进行检查: (1)如果Requesti[j]≤Need[i,j],便转向步骤(2);否则认为出错,因为它所需要的资源数已超过它所宣布的最大值。 (2)如果Requesti[j]≤Available[j],便转向步骤(3);否则, 表示尚无足够资源,Pi须等待。 7/

利用银行家算法避免死锁 (3)系统试探着把资源分配给进程Pi,并修改下面数据结构中的数值: Available[j]∶=Available[j]-Requesti[j]; Allocation[i,j]∶=Allocation[i,j]+Requesti[j]; Need[i,j]∶=Need[i,j]-Requesti[j]; 8/

利用银行家算法避免死锁 系统执行安全性算法,检查此次资源分配后,系 统是否处于安全状态。若安全,才正式将资源 分配给进程Pi,以完成本次分配;否则, 将本次 的试探分配作废,恢复原来的资源分配状态,让 进程Pi等待。 9/

利用银行家算法避免死锁 安全性算法 (1)设置两个向量 (2) 从进程集合中找到一个能满足下述条件的进程: a.工作向量Work: 它表示系统可提供给进程继续运行所需的各类资源数目,它含有m个元素,在执行安全算法开始时,Work∶=Available; b.Finish: 它表示系统是否有足够的资源分配给进程,使之运行完成。开始时先做Finish[i]:=false; 当有足够资源分配给进程时, 再令Finish[i]:=true。 (2) 从进程集合中找到一个能满足下述条件的进程: Finish[i]=false; Need[i,j]≤Work[j]; 若找到, 执行步 骤(3), 否则,执行步骤(4)。 10/

利用银行家算法避免死锁 (3)当进程Pi获得资源后,可顺利执行,直至完成,并释放出 分配给它的资源,故应执行: Work[j]:=Work[j]+Allocation[i,j]; Finish[i] :=true; go to step 2; (4)如果所有进程的Finish[i]=true都满足, 则表示系统处于安 全状态;否则,系统处于不安全状态。 11/

利用银行家算法避免死锁 银行家算法举例 假定系统中有五个进程{P0, P1, P2, P3, P4}和三类资源{A, B, C},各种资源的数量分别为10、5、7,在T0时刻的资源分配情况如图 3-16 所示。 12/

利用银行家算法避免死锁 图 3-16 T0时刻的资源分配表 13/

利用银行家算法避免死锁 T0时刻的安全性: 图 3-17 T0时刻的安全序列 14/

利用银行家算法避免死锁 Request1(1, 0, 2)≤Need1(1, 2, 2) P1请求资源:P1发出请求向量Request1(1,0,2),系统按银行家算法进行检查: Request1(1, 0, 2)≤Need1(1, 2, 2) Request1(1, 0, 2)≤Available (3, 3, 2) 系统先假定可为P1分配资源,并修改Available, Allocation1和Need1向量,由此形成的资源变化情况如图 3-18所示。 再利用安全性算法检查此时系统是否安全。 15/

利用银行家算法避免死锁 Request1(1,0,2) 图 3-18 资源变化情况 16/

利用银行家算法避免死锁 图 3-19 申请分配后 17/

利用银行家算法避免死锁 图 3-20 P1申请资源时的安全性检查 18/

利用银行家算法避免死锁 P4请求资源:P4发出请求向量Request4(3,3,0),系统按银行家算法进行检查: Request4(3, 3, 0)≤Need4(4, 3, 1); Request4(3, 3, 0) ≤ Available (2, 3, 0),让P4等待。 P0请求资源:P0发出请求向量Requst0(0,2,0),系统按银行家算法进行检查: Request0(0, 2, 0)≤Need0(7, 4, 3); Request0(0, 2, 0)≤Available(2, 3, 0); 系统暂时先假定可为P0分配资源,并修改有关数据,如图 3-21 所示。 19/

利用银行家算法避免死锁 图 3-21为P0分配资源后的有关资源数据 20/

利用银行家算法避免死锁 P0请求:Reqest(0,1,0) Allocation A B C Need Available P0 0 1 0 7 4 3 2 3 0 P1 3 0 2 0 2 0 P2 6 0 0 P3 2 1 1 0 1 1 P4 0 0 2 4 3 1 21/

利用银行家算法避免死锁 试探分配后 2 2 0 P1 5 2 2 P3 7 3 3 P4 7 3 5 P0 7 5 5 P2 10 5 7 2 2 0 P1 5 2 2 P3 7 3 3 P4 7 3 5 P0 7 5 5 P2 10 5 7 Allocation Need Available P0 0 2 0 7 3 3 2 2 0 P1 3 0 2 P2 6 0 0 P3 2 1 1 0 1 1 P4 0 0 2 4 3 1 22/

预防死锁的方法 Work Allocation Need W+A Finish P1 2 2 0 3 0 2 0 2 0 5 2 2 T 2 2 0 3 0 2 0 2 0 5 2 2 T P3 2 1 1 0 1 1 7 3 3 P4 0 0 2 4 3 1 7 3 5 P0 7 5 5 P2 6 0 0 10 5 7 安全系列 23/

死锁的检测与解除 死锁的检测 当系统为进程分配资源时,若未采取任何限制性措施,则系统必须提供检测和解除死锁的手段。 保存有关资源的请求和分配信息; 提供一种算法,以利用这些信息来检测系统是否已经进入死锁状态。 24/

死锁的检测与解除 资源分配图(Resource Allocation Graph) 图 3-120 每类资源有多个时的情况 25/

死锁的检测与解除 凡属于E中的一个边e∈E,都连接着P中的一个结点和R中的一个结点,e={pi, rj}是资源请求边,由进程pi指向资源rj, 它表示进程pi请求一个单位的rj资源。e={rj, pi}是资源分配边,由资源rj指向进程pi, 它表示把一个单位的资源rj分配给进程pi。 26/

死锁的检测与解除 死锁定理 S为死锁状态的充分条件是:当且仅当S状态的资源分配图是不可完全简化的。 图 3-21 资源分配图的简化 27/

死锁的检测与解除 死锁检测中的数据结构 可利用资源向量Available,它表示了m类资源中每一类资源的可用数目。 把不占用资源的进程(向量Allocation∶=0)记入L表中, 即Li∪L。 从进程集合中找到一个Requesti≤Work的进程,做如下处理: 将其资源分配图简化,释放出资源,增加工作向量Work∶=Work+Allocationi。 将它记入L表中。 28/

死锁的检测与解除 若不能把所有进程都记入L表中, 便表明系统状态S的资源分配图是不可完全简化的。 因此,该系统状态将发生死锁。 Work ∶=Available; L∶={Li|Allocationi=0∩Requesti=0} for all Li L do begin for all Requesti≤Work do Work∶=Work+Allocationi; Li∪L; end deadlock∶ = (L={p1, p2, …, pn}); 若不能把所有进程都记入L表中, 便表明系统状态S的资源分配图是不可完全简化的。 因此,该系统状态将发生死锁。 29/

死锁的检测与解除 死锁的解除 剥夺资源 撤消进程 30/

小结 银行家算法 死锁的检测与解除 31/

作业 P119 21 ,22,30,31 32/