操作系统_死锁
来源:互联网 发布:goodbye my lover知乎 编辑:程序博客网 时间:2024/06/06 10:59
去ZTE面试,被问到了以上的知识点,之前有涉猎过相关书籍了解过,由于在项目中体现的不多,导致概念理解不清析,回答起来也是模棱两可,太丢人了真是。现特此总结一下。
当两个任务都在等待被对方持有的资源时,两个任务都无法再继续执行,这种情况就被称为死锁。
死锁发生必须具备4个条件:
1)互斥条件:指进程对所分配到的资源进行排它性使用,即在一段时间内某资源只由一个进程占用。如果此时还有其它进程请求资源,则请求者只能等待,直至占有资源的进程用毕释放。
2)请求和保持条件:指进程已经保持至少一个资源,但又提出了新的资源请求,而该资源已被其它进程占有,此时请求进程阻塞,但又对自己已获得的其它资源保持不放。
3)不可剥夺条件:指进程已获得的资源,在未使用完之前,不能被剥夺,只能在使用完时由自己释放。
4)环路等待条件:指在发生死锁时,必然存在一个进程——资源的环形链,即进程集合{P0,P1,P2,···,Pn}中的P0正在等待一个P1占用的资源;P1正在等待P2占用的资源,……,Pn正在等待已被P0占用的资源。
1、可剥夺资源(也被称为可重用资源):
是指某进程在获得这类资源后,该资源可以再被其他进程或系统剥夺。例如,优先权高的进程可以剥夺优先权低的进程的处理机。又如,内存区可由存储器管理程序,把一个进程从一个存储区移到另一个存储区,此即剥夺了该进程原来占有的存储区,甚至可将一进程从内存调到外存上,可见,CPU和主存均属于可剥夺性资源。
2、不可剥夺资源:
当系统把这类资源分配给某进程后,再不能强行收回,只能在进程用完后自行释放,如磁带机、打印机等。否则会出现程序出紊乱。
0 0
- 操作系统_死锁
- 操作系统实验_利用银行家算法避免死锁
- 面试知识储备_操作系统:处理机调度与死锁
- 操作系统死锁
- 操作系统死锁
- 操作系统死锁
- 操作系统死锁
- 操作系统 死锁
- 死锁---操作系统
- 操作系统------死锁
- 操作系统-死锁
- 【操作系统】死锁
- 操作系统程序设计 死锁
- 操作系统之死锁
- 操作系统死锁 四个必要条件
- 死锁——操作系统
- 操作系统 第九章 死锁
- 操作系统七死锁
- Xcode6编译SDWebImage报错解决方法(SDWebImageDownloaderOperation.m错误)
- Java二分查找源码
- 写出健壮的Bash脚本
- SpringMVC学习
- git回退到某个历史版本
- 操作系统_死锁
- Ionic构建项目命令
- [Arcgis10.0ArcgisEngine10.0安装破解
- 10G整数中寻找中位数
- spark学习4-倾斜数据join
- TCP/IP网络编程 基于Linux编程_2 --I/O流分离的半关闭问题
- android图片模糊处理
- 在工作中的一点点体会
- IOS NSURL基本操作