我们先不给出死锁的正式定义,先看一个例子。假定有两个进程A和B,进程A已经占有了一个名为Filel的文件(Filel已经分配给了A),而它只有得到另一个名为File2的文件(A已经请求了File2)才能够释放File1。进程B已经占有了File2文件(File2已经分配给了B),而它只有得到Filel文件(B已经请求了File1)才能够释放File2。在大多数操作系统中,文件都是不可共享的;当文件被一个进程使用时,将不能再被别的进程使用。在图7-17用窄桥来模拟死锁。窄桥的情况与死锁类似,因为资源(桥的一端)被一辆车占用,该车只有到达桥的另一端才会释放资源,而此时另一端正被另一辆车占用着。反过来看情况也一样。
问题:
三个进程(A、B和C)同时运行,进程A占用Filel但需要File2。进程B占用File3但需要Filel。进程C占用File2但需要File3。为这几个进程画一个框图。这种情况是不是死锁?
点点赞赏,手留余香
给TA打赏
评论0