目录
什么是安全序列?
不安全情况
安全情况
安全序列
系统的不安全状态
银行家算法
寻找安全序列
寻找不安全序列
代码实现
重点回顾
什么是安全序列?
偷图小能手
不安全情况
安全情况
安全序列
概念:指如果系统按照这种序列分配资源,则每个进程都能顺利完成,只要能找出一个安全序列,系统就是安全状态,可以有多个安全序列
系统的不安全状态
概念:如果分配了资源后,系统中找不出任何一个安全序列,系统就进入了不安全状态,这就意味着之后可能所有进程都无法顺利的执行下去(如果有进程提前归还了一些资源,那系统也有可能重新回到安全状态,不过我们在分配资源之前总是要考虑到最坏的情况)
结论:如果系统处于安全状态,就一定不会发生死锁,如果系统进入不安全状态,就可能发生死锁(处于不安全状态未必就是发生了死锁,但发生死锁时一定是在不安全状态)
银行家算法
核心思想:在进程提出资源申请时,先预判此次分配是否会导致系统进入不安全状态,如果会,则暂时不答应此次请求,让该进程先阻塞等待
寻找安全序列
寻找不安全序列
代码实现
重点回顾
~over~