死锁问题(二)
-
如何避免死锁的发生?
-
通常使用银行家算法,原理是通过每次进程申请资源的时候都会检测这个操作是否安全,但会增加系统开销。在申请资源时进行判断,若该过程会产生死锁,则不分配给进程资源。
-
银行家算法的思想:当进程向系统第一次申请资源的时候,系统会检测该进程需要的最大的资源数,如果系统资源≥进程需要的最大资源数则给其分配资源,否则不;当进程第n次(n>1)向系统申请资源的时候,如果系统剩下的资源>=进程需要的资源数,则系统给分配资源,否则不。
-
如何避免死锁的发生?
通常使用银行家算法,原理是通过每次进程申请资源的时候都会检测这个操作是否安全,但会增加系统开销。在申请资源时进行判断,若该过程会产生死锁,则不分配给进程资源。
银行家算法的思想:当进程向系统第一次申请资源的时候,系统会检测该进程需要的最大的资源数,如果系统资源≥进程需要的最大资源数则给其分配资源,否则不;当进程第n次(n>1)向系统申请资源的时候,如果系统剩下的资源>=进程需要的资源数,则系统给分配资源,否则不。