论文部分内容阅读
随着计算机技术的发展,多核计算机系统应用日益广泛,也使并发编程有了更多的需求,Petri网作为计算机科学中的重要形式模型,能有效地对并发程序进行建模分析。当前,基于Petri网的并发程序的研究热点之一是死锁控制问题。死锁在并发程序中的具体表现就是进程等待永不可能发生的事件而产生阻塞的状态。死锁问题会造成程序的崩溃和系统开销上升,尤其是在实时系统中,死锁会造成严重的后果。为解决系统的死锁问题,保证并发程序正常运行,死锁控制成为了一项重要的研究内容。本文首先研究了具有同步信号的并发程序,定义了Petri网的一种子网S3PS(简单连续信号进程系统)网对其建模分析,主要证明了S3PS网活性的充分必要条件是其严格极小虹吸非空,而活性是非死锁的充分条件,Petri网满足活性就不会死锁。并在此基础上,进行死锁预防控制策略的设计,即添加控制连接弧使每个严格极小虹吸在S3PS网运行时的每个状态都非空,使形成的受控网满足活性,保证受控网不会死锁。本文又进一步扩展了研究内容,在具有同步信号的并发程序中引入共享资源分配系统,定义了S3PRS(简单连续资源与信号进程系统)网,并根据其无信号子网是这种网的无信号子网属于S4PR网的特性,用S4PR网的虹吸计算方法计算S3PRS网的无信号极小虹吸,在此基础上,提出计算含有信号库所的极小虹吸计算方法,从而得到S3PRS网的极小虹吸集合。而后证明了S3PRS网活性的充分必要条件是其严格极小虹吸非空,并设计了迭代地加入控制库所控制其严格极小虹吸非空的死锁预防策略,使最终的受控网满足活性,系统不会死锁。