- 1、本文档共155页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
众所周知,避免死锁的著名算法叫做“银行家算法(Banker’s Algorithm)。其设计思想是当用户申请一组资源时,系统必须确定:如果把这些资源分出去,系统是否还处于安全状态。若是,就可以分出这些资源;否则,该申请暂不予满足。 3.8死锁问题 银行家算法 死锁的排除方法 例:有三个客户C1,C2,C3,向银行家贷款。该银行家的资金总额为10个资金单位,其中C1客户要借9个资金单位,C2客户要借3个资金单位,C3客户要借8个资金单位,总计20个资金单位。若T0时刻,客户占用及还需资源的状态如下图所示,银行家该如何分配资金? 客户 已分配资源 还需申请资源 C1 2 7 C2 2 1 C3 4 4 3.8死锁问题 练习:假定系统中有三个进程P1、P2和P3,共有12台磁带机。进程P1总共要求10台磁带机,P2和P3分别要求9台和4台。假设在T0时刻,进程P1、P2和P3已分别获得5台、2台和2台磁带机,尚有3台空闲未分配。 进 程 最大需求 已分配 可用 P1 P2 P3 10 9 4 5 2 2 死锁的排除方法 3.8死锁问题 死锁的排除方法 死锁的检测和恢复:是指系统设有专门的机构,当死锁发生时,该机构能够检测到死锁发生的位置和原因,并能通过外力破坏死锁发生的必要条件,从而使得并发进程从死锁中恢复出来。 3.8死锁问题 3.9 线程的概念 线程的概念 线程与进程的区别 线程的适用范围 进程的两个基本属性: 3.9线程的概念 线程的引入 调度单位: 进程是一个执行轨迹 资源的拥有者: 给每个进程分配——虚拟地址空间,保存进程映象,控制的一些资源(文件、I/O设备),有状态、优先级调度 进程作为计算机的基本计算调度单位,在现代操作系统的发展中出现了一些问题: 进程的并发执行使得进程调度的工作量日益增大,系统将大量精力耗费在进程调度和分配内存上,系统效率得不到有效的提高。 进程之间的通信延迟很大,使得频度较高的通信过程效率低下。 进程间的并行度不是人们预想的效果。 3.9线程的概念 线程的引入 多线程(multithread)指的是操作系统支持在单个进程中执行多个线程的能力。传统的单进程单线程的执行方法使线程的概念并不引起人们的注意。MS-DOS是一个支持单用户进程、单线程的操作系统。UNIX操作系统支持多用户进程,但每个进程也只支持一个线程。这些设计方法称为单线程机制。在WindowsNT、OS/2及一些其他操作系统中采用了多进程且每个进程支持一个以上线程的多线程机制。 3.9线程的概念 线程的引入 单线程式和多线程式的进程 3.9线程的概念 线程的概念 线程(thread): 轻型实体 独立调度和分派的基本单位 可并发实体 共享进程资源 3.9线程的概念 线程与进程的比较 (1)进程是资源分配的基本单位。同一进程的所有线程共享该进程的所有资源。 (2)线程是分配处理机的基本单位,它与资源分配无关。 (3)一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。 3.9线程的概念 线程的引入相对进程来说带来很多好处 创建和撤消线程的开销非常小。无论从时间的长短上,还是从占用内存空间的大小上,线程都有不可小看的优势。 切换迅速。线程间的切换需要换进/换出的内容远比进程小得多,速度自然就快得多。 通信效率高。同一进程中的线程由于共享同一地址空间,通信时不需要借助内核功能。 并发度高。在多处理机系统中,对进程的个数是有所限制的,但对线程的个数不存在这种限制,这更发挥了多处理机系统的优势。 线程的适用范围 3.9线程的概念 线程的典型应用 图3.28 RPC请求处理 3.9线程的概念 3.10 线程分类与执行 线程的分类 线程的执行特性 线程的分类 用户级线程是由用户应用程序建立的,并由用户应用程序负责对这些线程进行调度和管理,操作系统内核并不知道有用户级线程的存在,只对进程进行管理。 3.10线程分类与执行 线程的分类 用户级线程处理与进程处理的不同点: 用户线程的调度算法和调度过程全部由用户自行选择和确定,与操作系统内核无关。 用户线程的调度算法只进行线程上下文切换而不进行处理机切换,且其线程上下文切换是在内核不参与的情况下进行的。 有时可能发生尽管相关进程的状态是阻塞的或等待的,但所属线程状态却是执行的。 3.10线程分类与执行 线程的分类 2.内核级线程 内核级线程简称为KLT,通常也称为“纯KLT”方法。内核级线程中所有线程的创建、调度和管理全部由操作系统内核负责完成。 3.10线程分类与执行 线程的分类 3.10线程分类与执行 线程的分类 3.10线程分类与执行 图3.29线程、进程等的上下文切换开销 线程的分类 3.用户级线程与核心态线程相结合的模式 将两种方法结
您可能关注的文档
- 《Visual C#程序设计教程及上机指导》第6章:Windows程序设计.ppt
- 《理论力学》第九篇 质点动力学.ppt
- 《生活及哲学》第二单元综合复习.ppt
- 【免费】新标准中文版Office XP五合一基础培训教程-第十三篇.ppt
- 08数字逻辑电路实验备课新2a.ppt
- ★数学五年级下苏教版4.4分数及除法课件3.ppt
- 1 绪论研究生.ppt
- 粤教版_六年级品德及社会上册教案.docx
- 11-11反射光与折射光的偏振(大学物理).ppt
- 11土木工程施工第十一节.ppt
- 科学一年级上册《第二单元 我们自己》( 我们的身体)教学设计.docx
- 新人音版音乐一年级上册《第一单元 好朋友》( 我爱大自然 你我都是好朋友 )教学设计.docx
- 新人音版音乐一年级上册《第三单元 快乐的一天》(快乐的一天 请你像我这样做 )教学设计.docx
- 科学一年级上册《第一单元 周围的植物》( 植物的变化)教学设计.docx
- 科学二年级下册《第二单元 玩磁铁》(隔物吸铁)教学设计.docx
- 科学一年级上册《第二单元 我们自己》 通过感官来发现计划一课时教学设计.docx
- 科学二年级下册《第一单元 探秘恐龙》(挖掘恐龙“化石”)教学设计.docx
- 情以物迁,辞以情发——统编六下第三单元整体教学设计.docx
- 新教材新课标学习心得:“高中语文大单元教学设计的研究”.docx
- 上海市金山区2025届高三下学期二模数学试题(解析版).docx
最近下载
- 2025年湖北省襄阳市襄阳四中学初三下学期四月调考化学试题含解析.doc VIP
- GBT 42706.1-2023 电子元器件 半导体器件长期贮存 第1部分:总则.doc
- 2018人教版七年级数学下册练习:期末达标检测卷.docx VIP
- AC-25厂拌热再生沥青混凝土试验段施工方案.doc
- 行业联盟与竞争格局演变-深度研究.pptx
- 2024-2025学年北京西城区九年级初三(上)期末道德与法治试卷(含答案).pdf
- 2025年山东省枣庄市滕州市高三二模物理试卷及答案.docx
- 第九章 压强和浮力(知识清单)【教师版】.docx VIP
- 2025保安员理论考试100题(附答案) .pdf VIP
- 2022年三级教育测试题.docx
文档评论(0)