/**
* TODO 《操作系统原理》 记录(14)
* @死锁
* @死锁的系统模型
* 申请
*
* 使用
*
* 释放
*
* @死锁特点
* 进程不能完成执行、而此时进程占用的资源也无法释放
*
* @必要条件
* @互斥
* 至少一个资源处于非共享模式_只有一个进程使用该资源
* 如果另一个进程申请该资源、则必须等待该进程释放资源后才可以准入
*
* @占有并等待
* 一个进程只能占有一个资源的同时请求下一个资源释放————该资源被其他资源占有
*
* @非抢占
* 资源不能被抢占————关系操作系统的进程调度模式————非抢占式——只能得到该资源释放
*
* @循环等待
* 资源集合中的进程形成闭环而无法请求被占用的资源、同时也无法释放
*
* @资源分配图
* 有向图是否有环————有则可能存在死锁
*
*
* @死锁的处理方法
* 可以使用协议避免进程进入死锁状态
* 可允许系统进入死锁状态、然后检查并且修复
* UNIX 认为死锁不会发生——————鸵鸟算法
*
* @死锁预防
* @互斥
* 对于非共享数据必须存在互斥条件
*
* @占有并等待
* 确保占有并等待不会出现在系统中、
* 申请资源的线程不能同时拥有其他资源
* ---
* 缺点————资源利用率低下——————发生读写饥饿
*
* @非抢占
* 对于已分配的资源不能被抢占
* 申请资源的同时检查资源是否可用——————请求内存的过程
*
* @忙等待{自旋}
* 对所有资源进行排序然后进程按照递增的顺序申请资源
*
*/