Lukkiutuminen
Lukkiutuminen on tilanne, jossa tietokone odottaa resurssia, joka on osoitettu toiselle prosessille. Tässä tilanteessa prosessit suoritetaan vain, jos tarvittava resurssi on toisen prosessin hallussa, joka odottaa toisen resurssin vapautumista. Lukkiutuminen on tärkeää estää, ennen kuin se voi ylipäätään ilmetä. Resurssiajastin voi havaita lukkiutumisen, mikä auttaa käyttöjärjestelmää seuraamaan kaikkia eri prosesseille varattuja resursseja. Lukkiutuminen voi ilmetä, jos seuraavat neljä ehtoa toteutuvat samanaikaisesti:
•Ei korvaavia toimia – Resurssin voi vapauttaa omasta tahdostaan vain se prosessi, joka pitää resurssia hallussaan sen jälkeen, kun prosessi on suorittanut tehtävänsä.
•Keskinäinen poissulkeminen – Erityinen binaarinen semaforityyppi, jota käytetään jaetun resurssin käytön hallintaan. Sen avulla suuremman prioriteetin tehtävien eston kesto voidaan pitää mahdollisimman lyhyenä.
•Pitäminen ja odottaminen – Tällä ehdolla prosesseja estetään pitämästä yksittäisiä tai useita resursseja hallussaan, jos samanaikaisesti odotetaan yhtä tai useampaa muuta prosessia.
•Kehäodotus – Järjestää kaikki resurssityypit järjestykseen kattavasti. Kehäodotus edellyttää myös, että jokainen prosessi pyytää resursseja luettelon mukaisessa järjestyksessä.
Lukkiutuminen voidaan käsitellä kolmella tavalla:
•Älä anna järjestelmän lukkiutua.
•Anna järjestelmän lukkiutua, ja tee sitten korvaavat toimet sen käsittelemiseksi, kun se tapahtuu.
•Jos lukkiutuminen ilmenee, käynnistä järjestelmä uudelleen.