网站建设 移动端,只做早餐的网站,展示型网站都包括什么模块,wordpress数据库丢失2.3操作系统-进程管理#xff1a;死锁、死锁的产生条件、死锁资源数计算死锁死锁的产生条件死锁资源数计算死锁
进程管理是操作系统的核心#xff0c;如果设计不当#xff0c;就会出现死锁的问题。如果一个进程在等待意见不可能发生的事#xff0c;进程就会死锁。而如果一…
2.3操作系统-进程管理死锁、死锁的产生条件、死锁资源数计算死锁死锁的产生条件死锁资源数计算死锁
进程管理是操作系统的核心如果设计不当就会出现死锁的问题。如果一个进程在等待意见不可能发生的事进程就会死锁。而如果一个或多个进程产生死锁就会造成系统死锁。
死锁的产生条件
死锁的产生有四大条件互斥、保持和等待、不剥夺、环路等待。 打破其中一项即可。
假设资源是现在有两个进程A、B进程A需要进程B需要现在状态是AB。
B拿到了但是缺少A拿到了但是没有二者都无法继续执行此时都不释放资源而是一直占有着。
打破死锁破坏互斥条件 互斥表示同一时间资源只给一个线程用线程之间资源不共享。
破坏互斥条件资源不再是不可共享的也就是说B的可以给A用这样A进程就可以拿到缺少的资源然后继续执行A用完释放掉资源再给B用。
打破死锁破坏保持和等待 破坏保持和等待B等待一会儿没有资源就释放调自己占用的资源这样A进程就可以拿到缺少的资源然后继续执行A用完释放掉资源再给B用。
打破死锁不剥夺 破坏不剥夺A去抢B的抢到后这样A进程就可以拿到缺少的资源然后继续执行A用完释放掉资源再给B用。
打破死锁环路等待 环路等待就是A等待BB等待A此时没有其它进程参与AB循环等待。 进程C也参与进来了C有用完释放掉资源。
死锁资源数计算
系统有3个进程ABC这三个进程都需要5个资源。如果系统至少有多少个资源则不可能发生死锁。
资源数记作n进程数记作m每个进程需要的资源数记作W或者Wi
每个进程需要的资源数相同的情况下 n≥m×(w−1)1n \geq m×(w-1)1 n≥m×(w−1)1 即最小资源数≥进程数×(单进程需要的资源数−1)1即最小资源数 \geq 进程数×(单进程需要的资源数-1)1 即最小资源数≥进程数×(单进程需要的资源数−1)1
n3×(5-1)113系统至少有13个资源则不可能发生死锁。
每个进程需要的资源数不同的情况下对(w-1)进行累加操作即可
系统有3个进程ABC这三个进程依次需要3、4、5个资源。如果系统至少有多少个资源则不可能发生死锁。 n≥(3−1)(4−1)(5−1)110n \geq (3-1)(4-1)(5-1)110 n≥(3−1)(4−1)(5−1)110