Stillstand
Stillstand er når hver datamaskin venter på en ressurs som er tilordnet en annen prosess. I denne situasjonen blir prosessene kun utført hvis ressursen som kreves, er låst av en annen prosess som venter på at en ressurs skal frigis. Det er viktig å forhindre stillstand før den har mulighet til å oppstå. Ressursplanleggeren kan oppdage forekomster av stillstand, noe som hjelper operativsystemet med å holde oversikt over alle ressursene som er tildelt forskjellige prosesser. Stillstand kan oppstå hvis disse fire betingelsene oppfylles samtidig:
•Ingen forebyggende handling – Ressurser kan bare frigis frivillig av prosessen som holder dem, etter at prosessen har fullført oppgaven sin.
•Gjensidig utelatelse – En spesiell type binær semafor som brukes til å kontrollere tilgangen til den delte ressursen. Dette gjør det mulig å unngå at oppgaver med høyere prioritet blokkeres lenger enn nødvendig.
•Hold og vent – I denne tilstanden må prosesser forhindres fra å holde på en eller flere ressurser samtidig som de venter på en eller flere andre.
•Sirkulær venting – Dette innfører en absolutt rekkefølge for alle ressurstyper. Sirkulær venting krever også at hver enkelt prosess forespør ressurser i stigende oppregningsrekkefølge.
Det er tre måter å håndtere stillstand på:
•Ikke la systemet havne i en situasjon med stillstand.
•La stillstanden oppstå, og iverksett deretter forebyggende tiltak for å håndtere den når den oppstår.
•Hvis det oppstår en stillstand, start systemet på nytt.