操作系统第三篇.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
还需(剩余需求)矩阵 总共资源数 r = (6, 3, 4, 2) 已分资源数 s = (5, 3, 2, 2) 余下资源数 t = (1, 0, 2, 0) (1) 寻找剩余矩阵的某一未标记的行x,使得它的每一个元素都不大于向量t 的对应元素,如果找不到转(4)。 (2) 对于找到的行x(上图中的D),表示可以满足它,标记此进程,并将它占有的资源加到向量t。 (3) 重复上述步骤,转(1)。 (4) 如果所有进程都已标记,则状态是安全的,否则为不安全。 死锁的检测与恢复 状态变迁/转移图 PETRI网 由著名学者Carl Adam Petri于1962引入. 建模并发和同步系统 基于状态机模型(并发和同步的状态机) 图形化的描述方式 完整的理论(逻辑、数学、形式语义)基础 PETRI网的状态变化 系统状态的改变由库所内托肯(token)数量的变化和托肯在网内的流动所表征. 变迁的触发,表示由变迁所代表的系统行为的实施. 变迁的触发,受到输入条件的限制:输入库所必须具有足够数量的托肯. 变迁触发以后,托肯将从输入库所转移到输出库所 死锁:某状态下任何一个变迁都无法发生,系统陷入停顿 实例: 自动售货机 售货机出售两种小吃:15美分的和20美分的. 只有两种硬币:10美分和5美分的. 售货机不找零 售货机流程图 0 cent 5 cents 10 cents 15 cents 20 cents Deposit 5c Deposit 10c Deposit 10c Deposit 10c Deposit 5c Deposit 5c Deposit 5c Take 20c snack bar Take 15c snack bar 5c Take 15c bar Deposit 5c 0c Deposit 10c Deposit 5c 10c Deposit 10c Deposit 5c Deposit 10c 20c Deposit 5c 15c Take 20c bar 死锁的恢复策略 剥夺法恢复 将某些资源从其它进程强占过来分配给另一些进程 要求:强占不影响原进程恢复后的执行 问题:与资源的属性有关,难实现 回退法恢复 系统执行过程中设置若干断点,并保存现场 采用回滚方式释放资源以解除死锁 要求:保护的现场不能频繁覆盖 问题:断点的设置时机与多大的空间开销 杀死进程 从系统中撤消某些进程,释放资源以解除死锁 要求:保证系统的数据等的一致性 问题:难于判断是否能保证一致性 §8、线程 概念 进程的基本属性 资源的拥有者 给每个进程分配一虚拟地址空间,控制一些资源(文件,I/O设备),有状态、优先级、调度 调度单位 进程是一个执行轨迹 以上两个属性构成进程并发执行的基础 进程的不足 时间空间开销大 进程的创建、撤消和切换要花费大量的时间 进程控制块较复杂,使空间开销较大 限制并发度的提高 进程作为执行单位,仍使得一些本可以并发的操作不能并发执行 例 对局域网中的文件服务器,有几个独立的文件服务请求时,能否同时处理? 程序执行时,能否把菜单显示与部分数据处理同时进行(前后台程序)? 一个由多个独立部分组成的程序能否着几个部分同时执行(没有数据依赖性的部分进行异步处理)? 一个进程当I/O阻塞时,与I/O无关的部分能否继续执行? RPC消息交互 线程的定义 线程有时称轻量级进程,它是进程中的一个运行实体,是CPU调度的更基本单位 线程是由进程派生出来的一组代码(指令组)的执行过程 线程的特点 轻量级的进程 将进程的两个属性分开处理(线程只影响了CPU执行,没有改变进程拥有的其他所有资源) 资源分配单位是进程 代码执行的单位是线程 线程是由进程派生出来的 一个进程可以产生多个线程 线程共享进程的资源 更好的并发性 进程并发 线程并发 更小的系统开销 创建和撤消一个新线程花费时间少 两个线程的切换花费时间少。如果机器设有“存储[恢复]所有寄存器”指令,则整个切换过程用几条指令即可完成 同一进程内的线程之间相互通信无须调用内核 适合多处理机系统 线程模型 线程与进程的关系 (a) Three processes each with one thread (b) One process with three threads 线程与进程数据间的关系 线程的结构 多线程进程模型 P C B 用户 地址 空间 用 户 栈 核 心 栈 线程 控制块 用 户 栈 核 心 栈 线程 控制块 用 户 栈 核 心 栈 线程 控制块 线程的分类 用户级线程(User Level Thread) 线程表:用于到线程的映射 特点 由用户的应用程序完成所有线程的管理 核心不知道线程的存在(进程出现切换时,线程可能仍然处于运行状态) 线

文档评论(0)

xiaofei2001128 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档