安全状态的例子 例:假定系统有三个进程P1、P2、P3,共有12台磁带机。进程P1总共要求10台磁带机,P2和P3分别要求4台和九台。设在T0时刻,进程P1、P2和P3已经获得5台、2台和2台,还有3台空闲没有分配。 进程 最大需求 已分配 可用 P1 10 5 3 P2 4 2 P3 9 2 T0时刻系统时安全的。这时存在一个安全序列<P2,P1,P3>

Slides:



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

輔導處八月份主管會報 報告人 : 洪自強. 輔導組本月工作 【行政文書】 建置 100 學年度工作資料夾 擬訂 100 學年度第一學期行事曆 【認輔工作】 匯整 100 學年度續接個案資料 輔導教師持續關心責任班級高關懷個案 統整國小轉銜個案資料 (3 位 ) 【通報案件】 通報性騷擾案件 1 件.
第二节 交通运输布局变化的影响 北京市第十一中学 张芊丽 2008年1月.
第五十章 旅外华人现代汉语文学 回目录.
区位因素分析专题.
文题: (1)请以“从此,我(他/她)不再________”为题,写一篇不少于600字的记叙文。 (2)以“做人从_____开始” 为题,写一篇不少于600字的文章。 (3)请以“你还会____吗”为题写一篇600字以上的文章,文体不限,诗歌除外。
第八章   股利分配 本章主要介绍了影响股利政策的因素、主要的股利政策、股利支付的程序及方式、 股票分割及股票回购等问题。通过本章的学习,要求掌握不同股利政策的具体做法,掌握股票股利的作用,了解股票分割和股票回购的涵义及影响。
导入新课 俄罗斯首任总统叶利钦.
1Z 会计基础与财务管理 1Z 会计的职能与核算方法 …2011 会计的职能(熟悉) 一、会计的概念
文明史范式.
金陵科技学院·思想政治理论课教学部 思想道德修养与法律基础 “基础”教研室.
政府採購法規概要 報告人:杜國正 行政院公共工程委員會企劃處.
项目二、资金运动管理 模块三、营运资金管理
脾胃病的饮食调理和中医治疗 贵州省中医院脾胃病肝病内科 医生:朱国琪.
学校消防安全培训.
教育老兵教學經驗談 何進財 曾任 教育部社教司司長 訓委會常務委員 中央警官學校兼任講師 台北市立師範學院兼任副教授 國立陽明大學兼任副教授
龙腾炎盛鞋业 打造卓越管理人员特训营.
教育的“麦田”,我们该如何守望? ——读《麦田里的守望者》 王振中 二0一二年九月二十六日.
之 魔 析 妖 鬼 解 怪 大 沈家仪小组出品.
第八章 海岸地貌 海南三亚天涯海角.
马克思主义基本原理概论 上海理工大学社会科学学院 张欢欢.
七年级历史上册 第二单元 国家产生和社会的变革.
第四章 会计职业道德 第三节 会计职业道德教育.
第四节 世界的聚落 鸭暖中学地理备课组 学习目标 聚落的主要形式 了解 聚落的形成和发展 世界文化遗产 探索 聚落的形成和发展 环保意识 增强 人地协调发展的环境观.
纳税是有收入的成年人的事,与我们中学生无关。
我的自述 —— 近代中国民族资本主义的发展历程。
作業系統 第六章 同步與死結.
第八章 所有者权益 第一节 所有者权益概述.
交通事故處置 當事人責任與損害賠償 屏東縣政府警察局交通隊.
●车辆消防安全知识——讲座 车辆消防安全知识 2017/3/17 巫山县公安消防大队 1.
省示范校建设项目验收工作汇报 赵小平
婴幼儿意外伤害预防与急救 上海人口与发展研究中心母婴健康工作室 原上海长海医院儿科 方 凤 宝优网:
新课程高考数学试卷特点分析及复习备考 刘延彬 年3月6日 合肥.
2013年普通高等学校招生全国统一 考试(四川卷)考试说明解读
普通高等教育 “十五”国家级规划教材 新世纪全国高等中医药院校规划教材
学习目标: 1、掌握田径运动竞赛的主要规则和裁判方法。 2、通过教学与实践,初步具备小型田径运动会的裁判工作能力。
岗位分析与岗位评价 阿里巧巧
98年桃園縣農村再生總體規劃 社區輔導提案研習營
复习专题: 协调发展 社会和谐 学校:上师大附属外国语中学 说课者:李瑞英.
《采购管理暂行办法》讲解 采购管理办公室
综述政府法制监督工作.
固定资产相关案例 【例1】华西股份有限公司于2012年1月从华东公司购入两辆同型号的二手汽车,价格为12万元,这两辆汽车均需要修理才能使用。其中一辆汽车是由于发动机损坏需进行大修理,估计支出为50 000元,而另一辆是由于电气路线损坏只需简单维修即可使用,预计修理支出为3000元。 在对上述汽车发生的修理费用进行会计处理时,该公司会计王某认为,由于这两辆汽车均需修理才能投入使用,因此根据受益原则,这两辆汽车的维修费用支出作为资本性支出计入所购汽车的成本之中,增加汽车的账面价值;而另一会计李某认为,这两辆汽
升旗仪式 1、你能讲一讲天安门广场升旗仪式的整个过程吗?你 2、在学校活动中,哪些礼仪最能体现我们的风采? 印象最深的是什么?
节日安全防范 人员安全 损耗 消防安全 紧急及意外事件处理.
第17课 科学技术的成就(一).
习题课四.
第九章 长期资产及摊销 2017/3/21.
高考第一轮复习课件—— 中国的交通、商业和旅游业.
广东省高校招生 志 愿 填 报 浅 析 广东省教育考试院
关注消防 关爱生命 ——中小学生消防常识培训辅导 3/22/2017.
模块: 中国近代史 主题: 近代化的起步.
2.1.3分层抽样.
第五章 联系和发展 教学要求:本章阐述了唯物辩证法的基本原理。要求掌握唯物辩证法的总特征。全面理解唯物辩证法的体系和核心。
《采购管理暂行办法》讲解 采购管理办公室
荆门市农业水价综合改革 工作情况汇报 湖北省荆门市水务局 二0一六年九月.
崇拜即將開始,請大家安靜片刻, 預備心靈敬拜上帝。
中学生易产生的心理问题 与应对方式.
计量法相关规定 一、计量器具的基本规定 1.计量器具是指能用以直接或间接测出被测对象量值的装置、仪器仪表、量具和用于统一量值的标准物质,包括计量基准器具、计量标准器具、工作计量器具。 2.计量器具具有准确性、统一性、溯源性、法制性四个特点。 3.衡量计量器具质量和水平的主要指标是它的准确度等级、灵敏度、鉴别率(分辨率)、稳定度、超然性以及动态特性等,这也是合理选用计量器具的重要依据。
紧抓PPP项目为招标代理机构 带来的转型发展机遇
心理咨询师论文撰写及答辩辅导.
物理学专业 光学实验绪论 主讲人:路莹 洛阳师范学院物理与电子信息学院 2009年3月.
也許你很疑惑: 最近升官的同事,專業能力又沒你強! 情場得意的朋友,長的又沒你帥或美! 小曹要交新朋友,為什麼就是比較簡單!
Deadlocks P0 P1 Example System has 2 tape drives.
和春技術學院資訊管理系 九十三學年度第一學期 系統程式 第三章 死結(Deadlock)
第三章 处理机调度与死锁 3.1 处理机调度的层次和调度算法的目标 3.2 作业与作业调度 3.3 进程调度 3.4 实时调度
作業系統 第六章 同步與死結.
詩文的形成 有意義的字詞 句子 段落 一首詩文的形成,是由有意義的字詞組成句子,再由句子組成段落。
1.ATP的结构: A-P~P~P 高能磷酸键 ADP+ Pi+ 能量 酶 磷酸基团 腺苷.
小学5.
李元金 计算机与信息工程学院 第 10讲 处理机调度与死锁(4) 李元金 计算机与信息工程学院 1/
Presentation transcript:

安全状态的例子 例:假定系统有三个进程P1、P2、P3,共有12台磁带机。进程P1总共要求10台磁带机,P2和P3分别要求4台和九台。设在T0时刻,进程P1、P2和P3已经获得5台、2台和2台,还有3台空闲没有分配。 进程 最大需求 已分配 可用 P1 10 5 3 P2 4 2 P3 9 2 T0时刻系统时安全的。这时存在一个安全序列<P2,P1,P3>

虽然并非所有不安全状态都是死锁状态,但当系统进入不安全状态后,便有可能进入死锁状态;反之只要系统处于安全状态,系统便可避免进入死锁状态。因此,避免死锁的实质是如何使系统不进入不安全状态。 系统的状态可能通过下述来描述: 进程剩余申请数=最大申请数-占有数。 可分配资源数=总数-占有数之和。

银行家算法 银行家算法是最有代表性的避免死锁算法,是Dijkstra提出的银行家算法。这是由于该算法能用于银行系统现金贷款的发放而得名。为实现银行家算法,系统中必须设置若干数据结构。

一、银行家算法中的数据结构 1 可利用资源向量Available 是一个含有m个元素,其中的每一个元素代表一类可利用的资源数目,其初值是系统中所配置的该类全部可用资源数目。如果Available[j]=k, 表示系统中现有Rj类资源k个。 2 最大需求矩阵Max 是一个含有nm的矩阵,它定义了系统中n个进程中的每一个进程对m类资源的最大需求。如果Max(i,j)=k, 表示进程i需要Rj类资源的最大数目为k。 Available= 3 5 4 2 8 3 8 6 1

3 分配矩阵Allocation 是一个含有nm的矩阵,它定义了系统中每一类资源当前已分配给每一进程的资源数。如果Allocation(i,j)=k, 表示进程i当前已分得Rj类资源k个。 4 需求矩阵Need 是一个含有nm的矩阵,用以表示每一个进程尚需的各类资源数。如果Need(i,j)=k, 表示进程i还需要Rj类资源k个,方能完成其任务。 Need(i,j)= Max(i,j)-Allocation(i,j)

设Requesti是进程Pi的请求向量,如果进程Pi需要K个Rj类资源,当Pi发出资源请求后,系统按下述步骤进行检查: 二、银行家算法 设Requesti是进程Pi的请求向量,如果进程Pi需要K个Rj类资源,当Pi发出资源请求后,系统按下述步骤进行检查: 1 如果Requesti≤Needi,则转向步骤2;否则认为出错。(因为它所需要的资源数已超过它所宣布的最大值。 2如果Requesti≤Available,则转向步骤3;否则,表示系统中尚无足够的资源,Pi必须等待 3 系统试探把要求的资源分配给进程Pi,并修改下面数据结构中的数值: Available:=Available-Requesti; Allocation:=Allocation+Requesti; Needi:= Needi- Requesti; 4 系统执行安全性算法,检查此次资源分配后,系统是否处于安全状态。若安全,正式将资源分配给进程Pi,以完成本次分配;否则,将试探分配作废,恢复原来的资源分配状态,让进程Pi等待。

三、安全性算法 系统所执行的安全性算法可描述如下: 1 设置两个向量 ①工作向量Work.它表示系统可提供给进程继续运行所需要的各类资源的数目,它含有m个元素,执行安全算法开始时,Work:=Available。 ②Finish.它表示系统是否有足够的资源分配给进程,使之运行完成。开始时先做Finish[i]:=false;当有足够的资源分配给进程时,令Finish[i]:=true. 2 从进程集合中找到一个能满足下述条件的进程:①Finish[i]=false; ②Needi≤Work. 如找到,执行步骤3;否则执行步骤4。 3 当进程Pi获得资源后,可顺利执行,直至完成,并释放出分配给它的资源,故执行: Work:=Work+Allocation; Finish[i]:=true; Goto step2; 4 如果所有进程的Finish[i]=true,则表示系统处于安全状态;否则,系统处于不安全状态。

要记住的一些变量的名称 1 Available(可利用资源向量) 某类可利用的资源数目,其初值是系统中所配置的该类全部可用资源数目。 2 Max最大需求矩阵 某个进程对某类资源的最大需求数 3 Allocation分配矩阵 某类资源当前非配给某进程的资源数。 4 Need需求矩阵 某个进程还需要的各类资源数。 Need= Max-Allocation 系统把进程请求的资源分配给它以后要修改的变量 Available:=Available-Request; Allocation:=Allocation+Request; Need:= Need- Request;

银行家算法之例 假定系统中有五个进程{P0、P1、P2、P3、P4}和三种类型的资源{A,B,C},每一种资源的数量分别为10、5、7,在T0时刻的资源分配情况如图 资源情况 Max A B C Allocation A B C Need A B C Available A B C 进程 P0 P1 P2 P3 P4 0 1 0 7 4 3 3 3 2 ( 2 3 0 ) 3 2 2 2 0 0 1 2 2 ( 3 0 2 ) ( 0 2 0 ) 9 0 2 3 0 2 0 0 2 2 2 2 1 1 0 1 1 4 3 3 0 0 2 4 3 1

10,5 7 最大值 已分配 还需要 可用 资源情况 进程 Allocation A B C Max Need Available P0 0 1 0 3 2 2 9 0 2 2 2 2 4 3 3 2 0 0 ( 3 0 2 ) 3 0 2 2 1 1 0 0 2 7 4 3 1 2 2 ( 0 2 0 ) 6 0 0 0 1 1 4 3 1 3 3 2 ( 2 3 0 ) 7 5 3 work Work+Allocation finish 若P1发出请求向量 Request(1,0,2) 工作向量Work.它表示系统可提供给进程继续运行所需要的各类资源的数目 true 3 3 2 1 2 2 2 0 0 5 3 2 5 3 2 0 1 1 2 1 1 7 4 3 true 7 4 3 4 3 1 true 0 0 2 7 4 5 7 4 5 6 0 0 3 0 2 10 4 7 true 10 4 7 7 4 3 0 1 0 10 5 7 true

假定系统中有五个进程{P0、P1、P2、P3、P4}和 三种类型的资源{A,B,C},每一种资源的数量 思考和练习 假定系统中有五个进程{P0、P1、P2、P3、P4}和 三种类型的资源{A,B,C},每一种资源的数量 分别为10、5、7,在T0时刻的资源分配情况如图 请找出该表中T0时刻以后存在的安全序列(至少2种) 资源情况 Max A B C Allocation A B C Need A B C Available A B C 进程 P0 P1 P2 P3 P4 7 5 3 0 1 0 7 4 3 3 3 2 3 2 2 2 0 0 1 2 2 9 0 2 3 0 2 6 0 0 2 2 2 2 1 1 0 1 1 4 3 3 0 0 2 4 3 1

3 死锁的检测和恢复 死锁的检测和恢复技术是指定期启动一个软件检测系统的状态,若发现有死锁存在,则采取措施恢复之。 (1)死锁的检测 3 死锁的检测和恢复 死锁的检测和恢复技术是指定期启动一个软件检测系统的状态,若发现有死锁存在,则采取措施恢复之。 (1)死锁的检测 检查死锁的办法就是由软件检查系统中由进程和资源构成的有向图是否构成一个或多个环路,若是,则存在死锁,否则不存在。

死锁的检测:实质是确定是否存在环路等待现象,一旦发现这种环路便认定死锁存在,并识别出该环路所涉及的有关进程,以供系统采取适当的措施来解除死锁。最常用的是一种基于资源分配图RAG和死锁定理的检测死锁算法。

资源分配图(RAG) 系统死锁可用资源分配图来描述,该图是由一组结点N和一组边E所组成的一对偶G=(N,E)。(用圆圈代表一个进程,用方框代表一类资源,由于一种类型的资源可能有多个,可用方框中的一个点代表一类资源中的一个资源) 几个概念:请求边,分配边 P1 请求r2 r2 r1 P2 资源分配图

封锁进程:是指某个进程由于请求了超过了系统中现有的未分配资源数目的资源,而被系统封锁的进程。 非封锁进程:即没有被系统封锁的进程资源分配图的化简方法:假设某个RAG中存在一个进程Pi,此刻Pi是非封锁进程,那么可以进行如下化简:当Pi有请求边时,首先将其请求边变成分配边(即满足Pi的资源请求),而一旦Pi的所有资源请求都得到满足,Pi就能在有限的时间内运行结束,并释放其所占用的全部资源,此时Pi只有分配边,删去这些分配边(实际上相当于消去了Pi的所有请求边和分配边),使Pi成为孤立结点。(反复进行)  。

系统中某个时刻S为死锁状态的充要条件是S时刻系统的资源分配图是不可完全简化的。 P1 P1 P2 r1 r2 P1 r2 r1 r2 r1 P2 P2 死锁定理: 系统中某个时刻S为死锁状态的充要条件是S时刻系统的资源分配图是不可完全简化的。 在经过一系列的简化后,若能消去图中的所有边,使所有的进程都成为孤立结点,则称该图是可完全简化的;反之的是不可完全简化的。

死锁的恢复。是与检测死锁相配套的一种措施,用于将进程从死锁状态下解脱出来。常用的方法有: 1撤消进程;最简单撤消进程的方法是使全部死锁的进程夭折掉;另一方法是按照某种顺序逐个地撤消进程,直至有足够的资源可用,死锁状态消除为止 2挂起进程(剥夺资源)。使用挂起/激活机构挂起一些进程,剥夺它们的资源以解除死锁,待条件满足时,再激活进程。目前挂起法比较受到重视。

例题 1.(北大95)一个OS有20个进程,竞争使用65个同类资源,申请方式是逐个进行的,一旦某个进程获得它所需要的全部资源,则立即归还所有资源。每个进程最多使用三个资源。若仅考虑这类资源,该系统有无可能产生死锁,为什么? 2.死锁和饥饿的主要差别是什么?

1 答:不可能。因为死锁产生的原因有两点:系统资源不足或推进顺序不当,在本题中,进程所需的最大资源数为60,而系统共有该类资源65个,其资源数已足够系统内各进程使用。 2 答:简言之,死锁是某进程等待一个不会发生的事件的一种现象;而饥饿现象是某进程正等待这样一个事件,它发生了但总是受到其它进程的影响,以至轮不到(或很难轮到)该进程。

作业 1.在某系统中,三个进程共享四台同类型的设备资源,这些资源一次只能一台地为进程服务和释放,每个进程最多需要二台设备资源,试问在系统中是否会产生死锁? 2.某系统中有n个进程和m台打印机,系统约定:打印机只能一台一台地申请、一台一台地释放,每个进程需要同时使用的打印机台数不超过m。如果n个进程同时使用打印机的总数小于m+n,试讨论,该系统可能发生死锁吗?并简述理由。 3.仅涉及一个进程的死锁有可能存在吗?为什么?

小 结 进程的并发执行,使得它们之间存在着两种制约关系:由共享资源引起的间接制约关系称为互斥;由于协作完成同一任务而引起的直接制约关系称为同步。为了正确地解决进程之间的同步和互斥,系统设置同步机构:锁和信号量机构。这种同步机构称为低级通信。进程之间的高级通信机构有消息缓冲、信箱、管道、共享内存和共享文件等机构,其最大特点是通信双方可交换大量的数据。

系统中并发运行进程由于共享资源或相互通信,如果调度不当,可能导致系统死锁。解决死锁的方法有三种: (1) 预防死锁,它是通过破坏死锁的四个必要条件实现的。 (2) 避免死锁,它是在进程请求分配资源时,采用银行家算法等防止系统进入不安全状态。 (3) 检测和恢复死锁,它是通过设置一个死锁检测机构进行死锁检测,一旦检测出来,通过逐一撤消进程使系统恢复。

3.9 线程(Thread) 3.9.1 线程的概念 引入的线程目的:提高系统的执行效率,减少处理机的空转时间和调度切换(保护现场信息)的时间,便于系统管理。(减少程序并发执行时所付出的时空开销,使OS具有更好的并发性。)  

分析说明: 进程的两个基本属性: 1 进程是一个可拥有资源的独立单位; 2 进程又是一个可独立调度和分配的基本单位。合起来,进程便成为一个能独立运行的基本单位,从而构成了程序并发执行的基础。 简言之,由于进程是一个资源的拥有者,在执行这些操作时会付出较大的时间开销。因此在系统中所设的进程数目不宜过多,切换不宜过于频繁,这就限制了系统的并发程度。

线程的定义 定义:线程是进程中的一个实体,是被系统独立调度和分配的基本单位,故又称为轻权(轻型)进程(Light Weight Process),它由线程控制表、存储线程上下文的用户栈以及核心栈组成。{传统的进程称为重型进程(Heavy Weight Process)。}

线程与进程的主要区别 1进程是资源管理的基本单位,它拥有自己的地址空间和各种资源;线程只是处理机调度的基本单位,它只和其他线程一起共享进程资源,它自己没有任何资源。 2以进程为单位进行处理机切换和调度时,处理机切换时间长,资源利用率降低。以线程为单位进行进行处理机切换和调度时,由于不发生资源变化,特别是地址空间的变化,处理机切换时间较短,从而处理机效率较高。

3对用户来说,多线程系统比无线程系统可减少用户的等待时间,提高系统的响应速度。 4线程和进程一样,都有自己的状态,也有相应的同步机制,不过由于线程没有单独的数据和程序空间,因此线程不能像进程的数据与程序那样,交换到外存存储空间,从而线程没有挂起状态。

5进程的调度、同步等大多由OS内核完成,而线程的控制既可以由OS内核进行,也可以由用户控制。

3.9.2 线程的适用范围 几种典型的应用:1服务器中的文件管理和进程通信控制;2 前后台处理;3 异步处理;4 数据的批处理;5 网络系统中信息发送和接受;6 其他相关的处理。