ESET-ova mrežna pomoć

Traži Hrvatski
Odaberite temu

Mrtva petlja

Mrtva petlja je situacija u kojoj svaki računalni proces čeka resurs koji je dodijeljen drugom procesu. U takvoj situaciji nijedan proces se ne izvršava jer resurs koji mu je potreban zadržava drugi proces koji isto tako čeka da se oslobodi drugi resurs. 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 operativnom sustavu da prati sve resurse dodijeljene različitim procesima. Mrtva petlja se može 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, ponovno pokrenite sustav.