2017 年 6 月 西安电子科技大学学报(自然科学版) Jun.2017
第 X 卷 第 X 期 JOURNAL OF XIDIAN UNIVERSITY Vol.X No.X
doi:
矩阵在计算机线程死锁的检测与防止中的应用
xxx
西安电子科技大学 计算机学院,陕西 西安 710071;
摘要:在多线程操作系统中,死锁是一个必须解决的问题,本文对操作系统中经常出现的死锁问题进行
了讨论,阐述了死锁出现的原因、必要条件,提出了使用线程和资源的邻接矩阵对操作系统死锁状态进
行判断,谈论了一个避免死锁的经典算法——银行家算法,并进行了实际验证模拟。最后提出了死锁状
态的恢复办法。
关键词:多线程 死锁 邻接矩阵 银行家算法
中图分类号:TP3-05 文献标识码:A 文章编号:
Application of Matrix in Detection and Prevention of Deadlock in Computer Thread
School of Computer, Xidian University, Xi'an 710071, China;
Abstract: In the multi-threaded operating system, deadlock is a problem that must be solved. In this paper, the
deadlock problem often found in the operating system is discussed. The reasons and the necessary conditions of
deadlock are expounded, and the use of threads and resources The adjacency matrix is used to judge the deadlock
state of the operating system, and a classic algorithm to avoid deadlock - banker algorithm is discussed and the actual
verification is carried out. Finally, the deadlock state of the recovery approach.
Key Words: multi - thread deadlock adjacency matrix banker algorithm
1 死锁
1.1 死锁的定义
在多道程序系统中,虽可借助于多个进程的并发执行,来改善系统的资源利用率,提高系统的吞吐量,
但可能发生一种危险━━死锁。所谓死锁(Deadlock),是指多个进程在运行中因争夺资源而造成的一种僵局
(Deadly_Embrace),当进程处于这种僵持状态时,若无外力作用,它们都将无法再向前推进。一组进程中,
每个进程都无限等待被该组进程中另一进程所占有的资源,因而永远无法得到的资源,这种现象称为进程
死锁,这一组进程就称为死锁进程。
1.2 死锁产生的原因
产生死锁的原因主要是:
(1) 因为系统资源不足。