饿死是一种与死锁相反的情况。它发生在当操作系统对进程分配资源有太多限制的时候。例如,假使一个操作系统中规定一个进程只有在所需的所有资源都为其占有时才能执行。
在图7-18中,假设进程A需要两个文件File1和File2。File1正在被进程B使用,File2正在被进程E使用。进程B将首先终止并释放File1,但进程A一直不能执行是因为File2一直不被释放。与此同时,进程C由于只需要File1而被允许执行。这时进程E终止且释放File2,但进程A还是不能执行,因为File1正被使用。
问题:三个进程(A、B和C)同时运行,进程A占有File1,进程B占有File2但需要File1,进程C占有File3但需要File2。为这几个进程画一个框图。这种情况是不是死锁?如果不是,说明进程怎样最后完成它们的任务。
点点赞赏,手留余香
给TA打赏
评论0