死锁
根据操作系统中的定义:死锁是指在一组进程中的各个进程均占有不会释放的资源,但因互相申请被其他进程所站用不会释放的资源而处于的一种永久等待状态。
产生死锁的四个必要条件:
(1)互斥条件(Mutual exclusion): 资源不能被共享,只能由一个进程使用。即在一段时间内某资源只由一个进程占用。如果此时还有其它进程请求资源,则请求者只能等待,直至占有资源的进程用毕释放。
(2)请求与保持条件(Hold and wait):已经得到资源的进程,可以再次申请新的资源,且对自己已获得的其它资源保持不放。
(3)非剥夺条件(No pre-emption): 已经分配的资源不能从相应的进程中被强制地剥夺,只能由自己释放。
(4)循环等待条件(Circular wait): 若干进程之间形成一种头尾相接的循环等待资源关系。即进程集合{P0,P1,P2,···,Pn}中的P0正在等待一个P1占用的资源;P1正在等待P2占用的资源,……,Pn正在等待已被P0占用的资源。
时间: 2024-12-20 15:35:13