Innehållsförteckning:
- Definition - Vad betyder Critical Section Routine (CSR)?
- Techopedia förklarar Critical Section Routine (CSR)
Definition - Vad betyder Critical Section Routine (CSR)?
Critical section routine (CSR) är ett kodavsnitt för vilket en process får ett exklusivt lås så att ingen annan process får utföra den samtidigt. Ofta körs en eller flera processer samtidigt i ett operativsystem, vilket tvingar dessa processer att konkurrera med varandra för åtkomst till filer och resurser. Endast en process bör få åtkomst till resursen medan en del av koden relaterad till resursen körs.
För att säkerställa att en process i CSR inte misslyckas medan andra processer väntar, sätts en tidsgräns av processhanteringskomponenten. Således kan en process ha åtkomst till ett exklusivt lås under endast en begränsad tid.
Techopedia förklarar Critical Section Routine (CSR)
De viktigaste kraven för att implementera en CSR är:
- Ömsesidig uteslutning: När en process körs i en CSR kan ingen annan process gå in.
- Framstegstillstånd: Om ingen process körs i en CSR och det finns några processer som vill ange den, kan de göra det på en bestämd tid. En av processerna kommer in i CSR medan andra väntar.
- Begränsad vänta: När en process begär att ange en CSR och innan begäran beviljas måste det finnas en övre gräns för antalet processer som väntar på att komma in i CSR under denna period för att säkerställa att ingen process svälter och varje process i väntekön får en tur att gå in i CSR.
CSR, i en viss kodkod, kan identifieras genom följande egenskaper:
- Koden kännetecknas av en operation-läs-skriv-uppdateringssekvens.
- Avsnitt av kodändringsvariablerna i en annan kod, som utför en läs-skriv-uppdateringssekvens.
- Närvaron av kod som har åtkomst till en datastruktur för någon annan kod genom att modifiera den, eller kod som använder en datastruktur som kan modifieras av någon annan process.
Begreppet kritisk sektion kan tillämpas på hårdvara som använder avbrottsfaciliteten. När en process kommer in i ett kritiskt avsnitt ska alla avbrott på processorn inaktiveras så att andra processer inte kan begära ett lås på resursen. På liknande sätt aktiveras avbrott igen när en process avslutas. En annan metod är att använda en semafor, en speciell variabel som fungerar som en signal för att styra exekveringen eller avslutningen av en process.
