Mrtva petlja
Mrtva petlja je situacija u kojoj svako računalo čeka resurs koji je dodijeljen drugom procesu. U takvoj situaciji procesi se pokreću samo ako je potreban resurs zadržan drugim procesom koji isto tako čeka da se drugi resurs oslobodi. Važno je spriječiti mrtvu petlju prije nego što do nje dođe. Planer resursa može otkriti pojavu mrtve petlje, što pomaže operacijskom sustavu da prati sve resurse dodijeljene različitim procesima. Mrtva petlja može se dogoditi ako se sljedeća četiri uvjeta ispune istovremeno:
•Nema preventivne radnje – resurs može osloboditi proces koji ga zadržava samo dobrovoljno nakon što taj proces završi svoj zadatak.
•Uzajamni izuzetak – posebna vrsta binarnog semafora koji se upotrebljava za kontrolu pristupa zajedničkom resursu. Omogućuje da se trenutačni zadaci višeg prioriteta blokiraju tijekom što kraćeg razdoblja.
•Zadržavanje i čekanje – u ovom uvjetu potrebno je spriječiti procese da zadržavaju jedan resurs ili nekoliko resursa dok istovremeno čekaju jedan ili više drugih resursa.
•Kružno čekanje – nameće stvaranje ukupnog redoslijeda svih vrsta resursa. Kružno čekanje isto tako zahtijeva da svaki proces zahtijeva resurse od manjeg prema većem prebrojavanju.
Postoje tri načina za rješavanje mrtve petlje:
•Nemojte dopustiti sustavu da uđe u stanje mrtve petlje.
•Pustite da dođe do mrtve petlje, a zatim poduzmite preventivnu radnju kako biste je riješili.
•Ako dođe do mrtve petlje, restartajte sustav.