考察:
- 主要考察节点的情况,是否会产生死锁
- 了解图示中的一些含义
- 知道在资源分配当中如何体现死锁这样的一个描述
进程资源图
- 进程资源图是表示资源调度的一种方式
- 进程资源图是某一时刻它的静态状况
进程资源图解释
- 圆形节点是进程,中间写进程的名称P
- P1,P2资源用矩形圈起来,里面圆圈的个数就是资源总数,外面是资源的名称R1
- 资源——>进程【资源指向进程】:表示资源已经分配给进程了
- 资源<——进程【资源被进程指向】:表示当前进程向资源所申请的资源数
- 申请资源是需要登台R1来分配的
- 一个箭头表示分配了一个资源
- 双向箭头时:先分析资源分配情况(r—>p),在判断申请后进程是否能够执行
- P进程完成后可以化简,此时R1资源就为两个
阻塞节点和非阻塞节点区别
- 能够有资源支持完成的就叫做非阻塞节点
- 非阻塞的可以化简
- 没有足够的资源支持完成的就叫做阻塞节点
什么是可化简
- 有进程可以执行完成,从而释放资源
什么是死锁
- 如果化简到最后还有进程没有完成,就称为死锁
- 如果化简到最后,我们的资源是可以正常执行的,就称为非死锁
例题讲解
- 选:D
- 先分析资源分配情况,R1=0,R2=1
- P1需要一个R2资源,系统有一个可用,所以P1为非阻塞的【B错】
- P2需要一个R1资源,系统没有可用的,所以P2为阻塞的【A,C错】
- 注:P3需要一个R2资源,系统有一个可用,所以P3为非阻塞的
- 【非阻塞的可以化简】
- P1和P3找任意一个来执行,P1执行用一个R2,释放一个R1
- P2就变成可执行了,就会释放一个R2出去,这时候R2还有两个资源可以用
- P3只要一个R2,所以也可以执行,这时候三个都可以执行,则称为:该图可以化简,所以是非死锁的。