基本概念
死锁的定义:一组迚程中,每个进程都无限等待被该组进程中另一进程所占有的资源,因而永进
无法得到的资源,这种现象称为迚程死锁,这一组迚程就称为死锁迚程。如果死锁发生,会浪费大量
系统资源,甚至导致系统崩溃。
从死锁的定义中可以得到几个推论:
1.参与死锁的所有进程都在等待资源。
2.参与死锁的进程是当前系统中所有进程的子集。
死锁的产生的原因:资源数量有限、锁和信号量错误使用都可能导致死锁,锁和信号量的使用
可能是开发人员编程导致的。
下面着重介绍一下有限资源导致的死锁问题:
在操作系统中资源使用的一般模式是:进程提出申请,操作系统进行相应的分配,
如果进程所需要的资源不能满足的话,这个进程就进入阻塞或者等待状态,如果可以满足的
话进程就直接使用资源,当进程使用完毕之后就释放资源。由于资源的使用方式就是申请-
分配-使用-释放,因此有些进程得不到资源就会处理阻塞等待状态,资源有限的话就有可能
出现死锁。