第6章 死結(Deadlock).

Slides:



Advertisements
Similar presentations
Multicore Programming Final Review. Outline Intro to Parallelism and Concurrency Parallel Programming – Algorithms and Analysis Concurrent Programming.
Advertisements

定 格 入 格 破 格 —— 新诗仿写复习训练 仿照下列句子,再把 “ 人生 ” 比喻成 “ 大海 ”“ 天空 ” , 造两个句子。 如果说人生是一首优美的乐曲,那么痛苦则 是其中一个不可或缺的音符。 参考答案: 1 、如果说人生是一望无际的大海,那么挫折则 是其中一个骤然翻起的浪花。 2 、如果说人生是一片湛蓝的天空,那么失意则.
维普考试资源检索指南 漳州卫生职业学院图书馆. 什么是 VERS 维普考试资源系统?  《 VERS 维普考试资源系统》( VIP Exam Resources System ,简称 VERS )是维普资讯专门研发的集日常学 习、考前练习、在线考试、模拟测试等功能于一体的大型 教育资源数据库。 
重庆维普资讯有限公司 二 O 一四年六月 VIP Exam Resources System VERS 维普考试资源系统.
VERS 维普考试资源系统 VIP Exam Resources System 重庆维普资讯有限公司 2016年8月10日 2016年8月10日 2016年8月10日.
VERS 维普考试资源系统 VIP Exam Resources System 重庆维普资讯有限公司 2016年8月10日 2016年8月10日 2016年8月10日.
VERS 维普考试资源系统 VIP Exam Resources System. 培训内容  系统简介  系统功能 模拟自测 随机组卷 专项训练 题库检索 我 的题库 在线考试 自建资源.
商业主体的设立 商业主体的设立. 学习重点 1. 公司的设立方式 商个人的设立 个人独资企业 一. 设立依据 《中华人民共和国个人独资企 业法》1999年8月通过, 自2000年1月1日起施 行 二. 设立条件 1. 投资人为一个自然人; 2. 有合法的企业名称; 3. 有投资人申报的出资; 4.
变废为宝.
靜坐時身體的反應 反應一:兩腿發麻 會隨著靜坐的工夫而消失 甚至覺得舒服 血管被壓迫 神經被刺激 一般的常識是認為 其實不盡然
信息学科特点及“十二五”规划思路 信息科学部  2010年12月3日 厦门.
研(修)定學校災害防救計畫 李佳昕.
個人簡介 姓名:黃義翔 學歷:國立台灣體育學院體育學學士    國立台灣體育學院體育學碩士 經歷:台南縣私立新榮高中體育教師
人力资源管理 human resource management
國中適性輔導宣導 生涯導航 談國中學生適性輔導 石牌國中 輔導室葉嘉惠.
《 桥文化》专题研究性学习.
VIP Exam Resources System
第10章 并发控制技术 10.1 并发控制概述 10.2 并发控制的正确性准则 10.3 加锁协议 10.4 死锁的检测、处理和预防
第一章 疾病概论 健康与疾病的概念 病因学 发病学 疾病的经过与转归.
作業系統 第六章 同步與死結.
低碳生活.
VIP Exam Resources System
五階段團體發展模式 組織行為期末報告-影片欣賞 指導老師:蕭金蘭 老師 組長:b 陳俐榕
國立臺灣大學醫學院 物理治療學系暨研究所 系所簡介.
2012届(数计院) 企业人事管理系统 ——指导老师: 学生:.
采编班的“三朵奇葩”? 精品团会主题.
焦化电气设备维护管理 山西省焦炭集团龙源园区授课
第6章 程序设计与算法 计算机应用基础 数学与计算机工程学院.
人力资源管理 human resource management
口才与思辨并重 专业与职业共扬 -----法学院 “口才训练营” 精品活动介绍.
An Introduction to Database System
教育信息技术学院 2014年11月 《教育传播学》 第二章 教育传播过程和模式 第一节 教育传播过程 主讲人:胡钦太教授.
Chapter 6 同步 (Synchronization)
Claim Report 台风、暴雨应急措施指南 保护项目 保护措施 预防效果 建筑物开口部 建筑物屋面、外部结构 排水 仓库、存货
Operating System Process Management - 4 Monday, August 11, 2008.
第 2 章 走出迷茫,提高认识.
王耀聰 陳威宇 國家高速網路與計算中心(NCHC)
Deadlocks P0 P1 Example System has 2 tape drives.
中国科学技术大学计算机系 陈香兰 2013Fall 第六讲 死锁及其处理 中国科学技术大学计算机系 陈香兰 2013Fall.
Applied Operating System Concepts
和春技術學院資訊管理系 九十三學年度第一學期 系統程式 第三章 死結(Deadlock)
Chapter 7 死結(Deadlocks)
Java语言程序设计 第七部分 多线程.
第三章 处理机调度与死锁 3.1 处理机调度的层次和调度算法的目标 3.2 作业与作业调度 3.3 进程调度 3.4 实时调度
保險學第二章 授課教師:楊富龍 資料來源:華泰書局.
第5章 資料倉儲的資料建置.
刘红岩 清华大学 管理科学与工程系 第17章 事务管理 刘红岩 清华大学 管理科学与工程系
邹佳恒 第十八届全国科学计算与信息化会议 • 威海,
李元金 计算机与信息工程学院 第 3 讲 进程管理(1) 李元金 计算机与信息工程学院 1/
第五章 資訊管理導論 本章重點 5-1 資訊管理導論 5-2 企業電子化的潮流與工具.
運動競賽制度 授課教師:鄭俊傑副教授.
Operation System(OS).
作業系統 Operating System 第四單元 檔案系統
高正宗 System Consultant Manager
資四B 鍾宇豪 資四B 宋忠霖 資四B 林書漢 資四B 曾聖棋
17 交易處理與鎖定 17-1 交易的基礎 17-2 交易處理 17-3 並行控制 17-4 資料鎖定 17-5 死結問題.
價值溪流圖 少量多樣的生產方式.
103學年度上學期 專任輔導工作期初報告 專任輔導教師:陳維如
李元金 计算机与信息工程学院 第 10讲 处理机调度与死锁(4) 李元金 计算机与信息工程学院 1/
CHAPTER 6 Concurrency:deadlock And Starvation
Solid State System (3S) 鑫創科技: 年第ㄧ季 投資人說明會 05/18/2016.
Wireless Link Layer and IEEE
以西結書.
资源分配与调度 第5章 资源分配与调度.
中華民國公立醫院協會 年度秋季學術研討會 精實醫療 選項 vs 萬靈丹 郭倉義 中山大學 企業管理學系 中華民國公立醫院協會 年度秋季學術研討會.
Operating System Software School of SCU
Race Conditions and Semaphore
第11章 儲存裝置 與其管理.
兩岸政治參與 高永光老師 上課使用 Classroom Only.
中正大學,資工系,作業系統實驗室 陽春副教授 羅習五
Presentation transcript:

第6章 死結(Deadlock)

基本觀念 很多人都有堵車的經驗 打了死結的路口被堵住的車流也擋住了其他車道的車流,大家都動彈不得 作業系統發生的死結(deadlock)也是類似的情況,處理元就像是車子,處理元掌握的資源就像車子占有的車道,處理元所需要的資源剛好掌握在別的處理元手上,而自己所占有的資源又剛好是別的處理元正需要的

死結(deadlock) 多工的環境中容許多個程式同時執行,這可以看成是一種多個處理元同步執行的現象,同步會產生死結的處理問題 死結的一般情況是指兩個或更多的處理元擁有其他處理元需要的資源,請求資源(request for resource)的動作使處理元進入阻絕(blocked)的狀態,必須等資源得到之後才能繼續執行 假如所等待的資源無法取得,處理元就會一直處於阻絕的狀態

死結處理的方式 預防(prevention) 避免(avoidance) 偵測(detection)與復原(recovery) 自行解決(manual handling)

處理元產生死結

應用系統與作業系統產生死結

處理元取得與使用資源的動作 請求(request) 使用(use) 釋出(release)

資源(resources)的涵義 可以分成實體資源(physical resources)與邏輯資源(logical resources) 印表機、記憶體空間與CPU都算是實體資源 檔案、semaphores與monitors則算是邏輯資源

發生死結的4個必要條件 互斥(mutual exclusion) 占有與等待(hold and wait) 循環等待(circular wait) 不間斷(no preemption)

系統資源分配圖(system resource-allocation graph)

用集合來表示圖型

處理死結的方法 透過協定(protocol)來預防或避免死結的發生,確定系統永遠不會進入死結的狀態(deadlock state)。 允許系統進入死結的狀態,但是必須能夠偵測死結,回復系統。 完全忽略有死結的問題。

死結的預防(prevention)策略(1) 處理元分配得到某種資源的使用權以後,就有了完全的使用權利(exclusive use) ,其他的處理元無法再使用這種資源 有的資源原本就具有互斥的特性,無法避免,例如印表機就是很典型的無法分享的資源。唯讀的檔案(read-only files)則是可分享的資源,所以不必要求互斥

死結的預防(prevention)策略(2) 處理元可以占有某種資源同時請求使用另外一種資源 假如要避免這種情形發生,通常有兩種方式,一種是要求處理元在執行以前必須先取得所需要的資源,另外一種方式是要求處理元必須在沒有擁有任何資源的情況下才能請求使用資源

死結的預防(prevention)策略(3) 一個處理元p1擁有資源R1,請求使用資源R2。而剛好處理元p2擁有資源R2,請求使用資源R1。這就是循環等待 也有可能發生兩個以上的處理元形成循環等待的情況。要避免循環等待的發生可以採用下面的方法,先將所有的資源類型加以排序並且編號,然後要求處理元在請求使用資源時必須按照資源類型編號的遞增順序 例如處理元已經擁有編號1與3的資源類型,則接下來不能請求使用編號為2的資源類型,因為2小於3,理論上可以證明這樣能預防的發生循環等待

死結的預防(prevention)策略(4) 資源的釋出只能透過處理元自行發出的動作,無法由外界強制取得 這包括處理元請求使用資源的狀況,所以若是資源無法釋出,處理元也無法取消其請求 要避免這種情況可以要求無法取得資源的處理元先釋出自己擁有的資源,等於是中斷了這些資源的使用,對於這個處理元來說,這些釋出的資源都成為自己等待取得的資源 假如擁有資源的處理元並沒有請求並等待其他的資源,我們不會要求該處理元釋出其已經擁有的資源

死結的避免(avoidance)策略 死結的預防(prevention)限制處理元請求的送出,原則是確定死結形成的4個要件不會同時發生 不過可能產生的副作用是資源的使用率降低、系統的完成率(throughput)也降低 另外一種避免死結發生的方式是預先了解處理元對於資源的使用狀況,例如處理元將要使用資源的順序、以及將釋出資源的順序,則系統就能判定是否有進入死結狀態的可能性

死結的避免(avoidance) 資源分配圖型演算法(Resource-Allocation-Graph algorithm) 班克演算法(Banker’s algorithm)

加入claim edge的資源分配圖型

系統的狀態

班克演算法(Banker’s algorithm) 資料結構中的數值

死結的偵測(detection) 採用偵測與復原的策略可以讓資源的分配大膽一些,因為避免死結發生的方法只要碰到系統可能在不安全的狀態(unsafe state)下,就絕不會分配資源,其實不一定會造成死結 在偵測與復原的方法中,系統可以儘量地把資源分配出去 ,假如發現有處理元長久停滯,即可執行偵測演算法(detection algorithm),若是真正發生死結,只有使用復原(recovery)的方法把系統還原到沒有死結的狀態

死結的偵測(detection)方法 資源類型只有單一案例的情況 資源類型只有多個案例的情況

資源類型只有單一案例的情況

死結的復原(recovery) 死結偵測的演算法發現有死結存在之後,有幾種處理的方式,其中一種是通知管理者來處理,另外一種則是讓系統透過復原來解決死結的問題 打破死結最直接的方式是終止一些處理元的執行,或是中斷某些資源的使用

處理元的終止(process termination) 中斷所有參與死結的處理元 一次中斷一個處理元直到死結解套

選擇中斷的處理元時要考量的一些因素 處理元的優先順序。 處理元已經執行了多久? 處理元使用了多少資源?資源是否容易中斷? 處理元還需要多少資源才能繼續執行。 有多少處理元需要中斷? 處理元是批次作業還是互動的?

中斷資源時考量的問題 資源與處理元的選擇 回復(rollback)的處理 饑餓(starvation)的問題