产业气象站|写给大忙人看的死锁全详解( 三 )


圆形表示进程
方形表示资源
从资源节点到进程节点表示资源已经被进程占用 , 如下图所示
产业气象站|写给大忙人看的死锁全详解
文章图片
在上图中表示当前资源R正在被A进程所占用
由进程节点到资源节点的有向图表示当前进程正在请求资源 , 并且该进程已经被阻塞 , 处于等待这个资源的状态
产业气象站|写给大忙人看的死锁全详解
文章图片
在上图中 , 表示的含义是进程B正在请求资源S 。 Holt认为 , 死锁的描述应该如下
产业气象站|写给大忙人看的死锁全详解
文章图片
【产业气象站|写给大忙人看的死锁全详解】这是一个死锁的过程 , 进程C等待资源T的释放 , 资源T却已经被进程D占用 , 进程D等待请求占用资源U , 资源U却已经被线程C占用 , 从而形成环 。
总结一点:吃着碗里的看着锅里的容易死锁
那么如何避免死锁呢?我们还是通过死锁模型来聊一聊
假设有三个进程(A、B、C)和三个资源(R、S、T) 。 三个进程对资源的请求和释放序列如下图所示
产业气象站|写给大忙人看的死锁全详解
文章图片
操作系统可以任意选择一个非阻塞的程序运行 , 所以它可以决定运行A直到A完成工作;它可以运行B直到B完成工作;最后运行C 。