Patstelling
Een patstelling is een situatie waarin elke computer wacht op een resource die aan een ander proces is toegewezen. In deze situatie is de uitvoering van de processen afhankelijk van een vereiste resource die wordt vastgehouden door een ander proces dat zelf ook weer wacht op de vrijgave van een andere resource. Het is belangrijk om een patstelling te voorkomen voordat deze kan optreden. Een patstelling kan worden gedetecteerd door de resourceplanner, waarmee het besturingssysteem alle resources kan bijhouden die aan verschillende processen zijn toegewezen. Er kan een patstelling optreden als de volgende vier omstandigheden zich tegelijkertijd voordoen:
•Geen preventieve actie: een bron kan alleen vrijwillig worden vrijgegeven door het proces dat het vasthoudt nadat dat proces zijn taak heeft voltooid.
•Wederzijdse uitsluiting: een speciaal type binaire semafoor dat wordt gebruikt om de toegang tot de gedeelde bron te beheren. Hiermee kunnen huidige taken met een hogere prioriteit zo kort mogelijk geblokkeerd worden gehouden.
•Vasthouden en wachten: in deze situatie moeten processen worden gestopt met het vasthouden van enkele of meerdere bronnen terwijl deze tegelijkertijd op een of meer andere wachten.
•Circulair wachten: legt een totale volgorde van alle resourcetypen op. Circulair wachten vereist ook dat elk proces middelen aanvraagt in toenemende volgorde van opsomming.
Er zijn drie manieren om met een patstelling om te gaan:
•Laat het systeem niet in een patstelling komen.
•Laat de patstelling optreden en geef voorrang aan het oplossen ervan wanneer er zich een patstelling voordoet.
•Als er een patstelling optreedt, start u het systeem opnieuw op.