进程管理 -死锁问题 系统有三个进程:A B C 这3个进程都需要5个系统资源。如果系统至少有多少个资源,则不可能发生死锁

所有的进程都在等待别的进程释放资源,而自己又不愿意释放资源,这就是进程死锁的原因。如果一个或多个进程死锁,那么就会造成系统死锁。
例:系统有三个进程:A B C 这3个进程都需要5个系统资源。如果系统至少有多少个资源,则不可能发生死锁。

首先 假设只有五个资源。
造成死锁的情况:比如 进程A分2个资源 进程B分2个资源 进程C分一个资源,三者都无法完成任务,都无法释放资源因此造成死锁。
不会死锁的情况:比如一开始将五个资源全部分给A进程,A进程执行完释放五个资源全部分给B进程,B进程执行完再全部分给C进程。这样就不会造成死锁。

所以,我们想要得到至少需要的资源数,就必须要有一个进程可以分到五个资源使其成功执行任务,那么就是一共需要13个资源,也就是,每个进程分配四个依旧会造成死锁,这个时候再加一个资源,那么一定不会造成死锁
在这里插入图片描述

发布了36 篇原创文章 · 获赞 3 · 访问量 5007

猜你喜欢

转载自blog.csdn.net/nb_zsy/article/details/104194614