3.4预防死锁&3.5避免死锁

预防死锁
在这里插入图片描述
在这里插入图片描述
预先静态分配法:进程执行要么分配全部资源,要么一个资源都不给。
在这里插入图片描述
要使用的资源按照编号依次申请,所有资源申请完毕再执行,申请的资源顺序并不代表执行的顺序,执行时根据进程情况而定。
在这里插入图片描述
避免死锁
在这里插入图片描述
在这里插入图片描述
银行家算法
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
available向量:每个元素代表可用资源数
i代表进程,j代表资源数量,
MAX[i, j]矩阵:最大需求量矩阵,[i, j]代表当前i进程需要j类资源的数量。
allocation[i, j]矩阵:代表以获得资源的数量。
need[i, j]矩阵:代表还需要资源的数量

如果请求资源数小于或者等于可用资源数
修改可用资源数 :原来的数量减去请求的的数量
修改分配矩阵当前进程的以获得的资源数量:原来的加上请求的
修改需求资源数:原来的减去请求的。
request和need不同,need是指总的需要的资源数,在申请资源时可以分几次申请,不一定一次申请完,所以request可以一次申请部分资源。
在这里插入图片描述
在这里插入图片描述
MAX - Allocation = Need 需要的减去已有的等于还需要的
可用资源数 = 查看Allocation矩阵某列即可得知当前某类资源的分配情况,用总共的减去当前的即是可用的。
A:可用资源数 = 10 - 2 + 3 + 2 = 3
执行完一个进程后可以直接用原来的可用资源数加上Allocation矩阵的对应的进程一行得到当前可用资源数(也可以慢慢先分配再求和算)
执行完P1后当前可用资源数 = 3 3 2 + 2 0 0 = 5 3 2
在这里插入图片描述
1)在这里插入图片描述
1)处于安全状态,安全序列为:p0——>1,5,3,2 p2——>2,8,8,6 p1——>3,8,8,6 p3——>3,8,9,10

2)need>request可以立刻满足,p1的Allocation变为1,4,2,0,need变为0,3,3,0。Avaliable1,1,0,0。

安全,安全序列:

p0——>1,1,1,2 p2——>2,4,6,6 p1——>3,8,8,6 p3——>3,8,9,10
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第1章概论 1.l计算机系统概述 1.2操作系统的形成和发展 1.2.l手工操作阶段 1.2.2脱机输入输出技术 1.2.3批处理技术 1.2.4多道程序设计技术 1.2.5操作系统的形成 1.3操作系统的基本类型 1.3.l批处理操作系统 1.3.2分时操作系统 1.3.3实时操作系统 1.3.4其他操作系统 1.4操作系统的特征和功能 1.4.l操作系统的特征 1.4.2操作系统的功能 l.5研究操作系统的几种观点 1.6本章基础要点 1.7练习题及参考答案 第2章进程描述与控制 2.l进程的引入 2.1.l前趋图 2.l.2程序的顺序执行 2.1.3程序的并发执行 2.1.4程序并发执行的条件 2.2进程的定义及描述 2.2.1进程的定义 2.2.2进程的特征 2.2.3进程和程序的关系 2.2.4进程控制块 2.3进程的状态 2.3.l进程的三种基本状态 2.3.2进程的创建状态和退出状态 2.3.3进程的挂起状态 2.4进程的控制 2.4.l进程的创建 2.4.2进程的撤消 2.4.3进程的阻塞与唤醒 2.4.4进程的挂起与激活 2.5线程 2.5.l线程的概念 2.5.2线程与进程的比较 2.6本章基础要点 2.7练习题及参考答案 第3章进程同步与通信 3.1基本概念 3.1.l临界资源与临界区 3.1.2互斥的概念与要求 3.1.3同步的概念与实现机制 3.2互斥的实现方法 3.2.1软件方法 3.2.2硬件方法 3.3信号量 3.3.1信号量及同步原语 3.3.2利用信号量实现进程互斥 3.3.3利用信号量描述前趋关系 3.3.4经典进程同步问题 3.4管程 3.4.1管程的定义 3.4.2用管程实现同步 3.5进程通信 3.5.l进程通信的类型 3.5.2消息传递系统 3.6本章基础要点 3.7练习题及参考答案 第4章调度与 4.l调度的层次 4.1.1作业调度 4.1.2进程调度 4.l.3中级调度 4.2进程调度 4.2.1进程调度的功能 4.2.2进程调度的方式 4.2.3进程调度算法 4.3 4.3.l的概念 4.3.2产生的原因和必要条件 4.3.3处理的基本方法 4.3.4预防 4.3.5避免 4.3.6的检测和解除 4.4本章基础要点 4.5练习题及参考答案 第5章作业管理和用户接口 5.l用户与操作系统之间的接日 5.1.1命令接日 5.1.2程序接口 5.1.3图形用户接口 5.2作业调度 5.2.l作业的状态及转换 5.2.2作业调度 5.2.3调度性能的衡量 5.2.4常用的作业调度算法 5.3本章基础要点 5.4练习题及参考答案 第6章存储管理 6.l存储管理概述 6.1.1存储管理的功能 6.1.2存储分配的方式 6.1.3重定位 6.1.4虚拟存储器 6.2单一连续分配式存储管理 6.3分区存储管理 6.3.l固定分区 6.3.2动态分区分配 6.3.3分区分配的动态管理 6.3.4分区的存储保护 6.4覆盖与交换 6.4.l覆盖技术
自己花钱买的电子书,高清完整版!很实用的教材,读起来一点也不晦涩。 目 录 译者序 前言 第1章 概论 1.1 推动因素 1.2 基本计算机组成 1.3 分布式系统的定义 1.4 我们的模型 1.5 互连网络 1.6 应用与标准 1.7 范围 1.8 参考资料来源 参考文献 习题 第2章 分布式程序设计语言 2.1 分布式程序设计支持的需求 2.2 并行/分布式程序设计语言概述 2.3 并行性的表示 2.4 进程通信与同步 2.5 远程过程调用 2.6 健壮性 第 3 章 分布式系统设计的形式方法 3.1 模型的介绍 3.1.1 状态机模型 3.1.2 佩特里网 3.2 因果相关事件 3.2.1 发生在先关系 3.2.2 时空视图 3.2.3 交叉视图 3.3 全局状态 3.3.1 时空视图中的全局状态 3.3.2 全局状态:一个形式定义 3.3.3 全局状态的“快照” 3.3.4 一致全局状态的充要条件 3.4 逻辑时钟 3.4.1 标量逻辑时钟 3.4.2 扩展 3.4.3 有效实现 3.4.4 物理时钟 3.5 应用 3.5.1 一个全序应用:分布式互斥 3.5.2 一个逻辑向量时钟应用:消息的 排序 3.6 分布式控制算法的分类 3.7 分布式算法的复杂性 第4章 互斥和选举算法 4.1 互斥 4.2 非基于令牌的解决方案 4.2.1 Lamport算法的简单扩展 4.2.2 Ricart和Agrawala的第一个算法 4.2.3 Maekawa的算法 4.3 基于令牌的解决方案 4.3.1 Ricart和Agrawala的第二个算法 4.3.2 一个简单的基于令牌环的算法 4.3.3 一个基于令牌环的容错算法 4.3.4 基于令牌的使用其他逻辑结构的 互斥 4.4 选举 4.4.1 Chang和Roberts的算法 4.4.2 非基于比较的算法 4.5 投标 4.6 自稳定 第5章 预防避免和检测 5.1 问题 5.1.1 发生的条件 5.1.2 图论模型 5.1.3 处理的策略 5.1.4 请求模型 5.1.5 资源和进程模型 5.1.6 条件 5.2 预防 5.3 一个预防的例子:分布式数据库 系统 5.4 避免 5.5 一个避免的例子:多机器人的 灵活装配单元 5.6 检测和恢复 5.6.1 集中式方法 5.6.2 分布式方法 5.6.3 等级式方法 5.7 检测和恢复的例子 5.7.1 AND模型下的Chandy,Misra和Hass 算法 5.7.2 AND模型下的Mitchell和Merritt 算法 5.7.3 OR模型下的Chandy,Misra和Hass 算法 第6章 分布式路由算法 6.1 导论 6.1.1 拓扑 6.1.2 交换 6.1.3 通信类型 6.1.4 路由 6.1.5 路由函数 6.2 一般类型的最短路径路由 6.2.1 Dijkstra集中式算法 6.2.2 Ford的分布式算法 6.2.3 ARPAnet的路由策略 6.3 特殊类型网络中的单播 6.3.1 双向环 6.3.2 网格和圆环 6.3.3 超立方 6.4 特殊类型网络中的广播 6.4.1 环 6.4.2 2维网格和圆环 6.4.3 超立方 6.5 特殊类型网络中的组播 6.5.1 一般方法 6.5.2 基于路径的方法 6.5.3 基于树的方法 第7章 自适应、无和容错路由 7.1 虚信道和虚网络 7.2 完全自适应和无路由 7.2.1 虚信道类 7.2.2 逃逸信道 7.3 部分自适应和无路由 7.4 容错单播:一般方法 7.5 2维网格和圆环中的容错单播 7.5.1 基于局部信息的路由 7.5.2 基于有限全局信息的路由 7.5.3 基于其他故障模型的路由 7.6 超立方中的容错单播 7.6.1 基于局部信息的模型 7.6.2 基于有限全局信息的模型:安全 等级 7.6.3 基
《计算机操作系统》可作为计算机硬件和软件以及计算机通信专业的本科生教材,也可作为从事计算机及通信工作的相关科技人员的参考书。 目录 第一章 操作系统引论 1.1 操作系统的目标和作用 1 1.1.1 操作系统的目标 1 1.1.2 操作系统的作用 2 1.1.3 推动操作系统发展的主要动力 4 1.2 操作系统的发展过程 5 1.2.1 无操作系统的计算机系统 5 1.2.2 单道批处理系统 6 1.2.3 多道批处理系统 7 1.2.4 分时系统 9 1.2.5 实时系统 11 1.2.6 微机操作系统的发展 12 1.3 操作系统的基本特性 14 1.3.1 并发性 14 1.3.2 共享性 15 1.3.3 虚拟技术 16 1.3.4 异步性 17 1.4 操作系统的主要功能 18 1.4.1 处理机管理功能 18 1.4.2 存储器管理功能 19 1.4.3 设备管理功能 21 1.4.4 文件管理功能 21 1.4.5 操作系统与用户之间的接口 22 1.5 OS结构设计 24 1.5.1 传统的操作系统结构 24 1.5.2 客户/服务器模式 26 1.5.3 面向对象的程序设计 27 1.5.4 微内核OS结构 29 习题 33 第二章 进 程 管 理 2.1 进程的基本概念 34 2.1.1 程序的顺序执行及其特征 34 2.1.2 前趋图 35 2.1.3 程序的并发执行及其特征 36 2.1.4 进程的特征与状态 37 2.1.5 进程控制块 41 2.2 进程控制 43 2.2.1 进程的创建 43 2.2.2 进程的终止 45 2.2.3 进程的阻塞与唤醒 46 2.2.4 进程的挂起与激活 47 2.3 进程同步 47 2.3.1 进程同步的基本概念 47 2.3.2 信号量机制 50 2.3.3 信号量的应用 53 2.3.4 管程机制 55 2.4 经典进程的同步问题 58 2.4.1 生产者—消费者问题 58 2.4.2 哲学家进餐问题 61 2.4.3 读者—写者问题 63 2.5 进程通信 65 2.5.1 进程通信的类型 65 2.5.2 消息传递通信的实现方法 66 2.5.3 消息传递系统实现中的若干问题 68 2.5.4 消息缓冲队列通信机制 69 2.6 线程 71 2.6.1 线程的基本概念 72 2.6.2 线程间的同步和通信 75 2.6.3 线程的实现方式 77 2.6.4 线程的实现 78 习题 81 第三章 处理机调度与 3.1 处理机调度的层次 84 3.1.1 高级调度 84 3.1.2 低级调度 86 3.1.3 中级调度 87 3.2 调度队列模型和调度准则 88 3.2.1 调度队列模型 88 3.2.2 选择调度方式和调度算法的若干准则 90 3.3 调度算法 91 3.3.1 先来先服务和短作业(进程)优先调度算法 91 3.3.2 高优先权优先调度算法 93 3.3.3 基于时间片的轮转调度算法 95 3.4 实时调度 97 3.4.1 实现实时调度的基本条件 97 3.4.2 实时调度算法的分类 99 3.4.3 常用的几种实时调度算法 100 3.5 产生的原因和必要条件 103 3.5.1 产生的原因 103 3.5.2 产生的必要条件 105 3.5.3 处理的基本方法 105 3.6 预防的方法 106 3.6.1 预防 106 3.6.2 系统安全状态 107 3.6.3 利用银行家算法避免 108 3.7 的检测与解除 111 3.7.1 的检测 111 3.7.2 的解除 113 习题 114 第四章 存 储 器 管 理 4.1 存储器的层次结构 116 4.1.1 多级存储器结构 116 4.1.2 主存储器与寄存器 117 4.1.3 高速缓存和磁盘缓存 117 4.2 程序的装入和链接 118 4.2.1 程序的装入 118 4.2.2 程序的链接 120 4.3 连续分配方式 121 4.3.1 单一连续分配 121 4.3.2 固定分区分配 122 4.3.3 动态分区分配 123 4.3.4 伙伴系统 126 4.3.5 哈希算法 126 4.3.6 可重定位分区分配 127 4.3.7 对换 129 4.4 基本分页存储管理方式 130 4.4.1 页面与页表 130 4.4.2 地址变换机构 131 4.4.3 两级和多级页表 133 4.5 基本分段存储管理方

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值