读书笔记-现代操作系统-6死锁-6.5死锁避免
来源:互联网 发布:10元淘宝店 编辑:程序博客网 时间:2024/04/29 06:36
6.5 死锁避免
系统判断分配资源是否安全,并且只能在保证安全的条件下分配资源。
6.5.1 资源轨迹图
当在t点时系统必须做出正确的判断,应该将一部分程序挂起以避免产生死锁
6.5.2 安全状态和不安全状态
- 安全状态
如果没有死锁状态,而且即使所有进程突然请求对资源的最大需求,也仍然存在某种调度次序能够使得每个进程运行完毕,则该状态是安全的。
如果线程可以通过仔细的调度避免死锁,所有状态时安全的,
需要区别的是不安全状态并不是死锁状态。
从安全状态出发,系统能够保证所有进程都能完成,而从不安全状态吃饭,就没有这样的保证。
从个人的理解看:
不安全状态有可能进入死锁状态但是不一定进入,是处于安全状态和死锁状态之间的情况。
关键点就是安全状态对所有资源的都突然请求最大资源也是可以科学调度后完成的,不安全状态所有进程同时请求最大资源后是无法完成调度的,但是未必所有资源都会同时产生最大资源请求,而死锁是已经发生了请求资源互斥而休眠的的情况。
6.5.3 单个资源的银行家算法
算法要做的判断是对请求的满足是否会导致进入不安全的状态,如果是则拒绝请求,如果不是则予以分配。
银行家算法就是对每一个请求,进行检测,先执行需要资源最少的进程,完成后资源返回资源池,不断进行直到所有进程都完成或者有无法完成的进程
6.5.4 多个资源的银行家算法
检测一个状态是否安全的算法:
1. 查找仍然需要资源矩阵中年是否有一行,其没有被满足的资源均小于或等于A。如果不存在,那么系统将死锁。
2. 如果找到这样的行,可以假设它所获得的资源并运行结束,该进程标记为终止,并将其资源返还给向量A。
3. 重复以上两步。
实际中很少使用,因为无法判断进程需要多少资源。
0 0
- 读书笔记-现代操作系统-6死锁-6.5死锁避免
- 读书笔记-现代操作系统-6死锁-6.1资源6.2 死锁概述
- 读书笔记-现代操作系统-6死锁-6.6死锁预防
- 《现代操作系统》读书笔记---死锁篇
- 读书笔记-现代操作系统-6死锁-6.3鸵鸟算法6.4死锁检测和死锁恢复
- 读书笔记-现代操作系统-6死锁-6.7其他问题
- 现代操作系统:死锁
- 《现代操作系统》第6章 死锁
- 现代操作系统——死锁
- 现代操作系统——死锁
- 现代操作系统在之死锁
- 【操作系统】银行家算法避免死锁
- 【操作系统】银行家算法避免死锁
- 操作系统原理读书笔记之死锁
- 死锁以及避免死锁
- java死锁,避免死锁
- 避免死锁
- 避免死锁
- Caused by: com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.
- 资深首席架构师眼中的架构应该是怎样的?
- 使用ApplicationContext启动standard模式的Activity报错原因解析
- HDU3613 Best Reward - exkmp/Manacher
- PI3体验之无线网AP模式设定及热点分享
- 读书笔记-现代操作系统-6死锁-6.5死锁避免
- 基于Ymodem协议的IAP升级程序
- 合并两个有序数组
- ftell
- 无线路由器WiFi密码破解
- [Android]异步任务AsyncTask使用解析
- LeetCode 14. Longest Common Prefix最长公共前缀
- 获取图像文件中每张图像的路径
- react Uncaught TypeError: Cannot read property 'title' of undefined