Inhoudsopgave:
- Definitie - Wat betekent Critical Section Routine (CSR)?
- Techopedia verklaart Critical Section Routine (CSR)
Definitie - Wat betekent Critical Section Routine (CSR)?
Critical section routine (CSR) is een codedeel waarvoor een proces een exclusief slot krijgt, zodat geen ander proces dit gelijktijdig kan uitvoeren. Vaak worden een of meer processen tegelijkertijd in een besturingssysteem uitgevoerd, waardoor deze processen met elkaar moeten concurreren om toegang tot bestanden en bronnen. Er mag slechts één proces toegang krijgen tot de bron, terwijl een deel van de code met betrekking tot de bron wordt uitgevoerd.
Om ervoor te zorgen dat een proces in de CSR niet faalt terwijl andere processen wachten, wordt een tijdslimiet ingesteld door de component voor procesbeheer. Een proces kan dus slechts voor een beperkte tijd toegang hebben tot een exclusief slot.
Techopedia verklaart Critical Section Routine (CSR)
De belangrijkste vereisten voor het implementeren van een CSR zijn:
- Wederzijdse uitsluiting: wanneer een proces wordt uitgevoerd in een CSR, kan er geen ander proces worden ingevoerd.
- Voortgangsvoorwaarde: als er geen proces wordt uitgevoerd in een CSR en er zijn enkele processen die dit willen invoeren, kunnen ze dit binnen een bepaalde tijd doen. Een van de processen komt in de CSR terwijl anderen wachten.
- Bounded Waiting: wanneer een proces vraagt om een CSR in te voeren en voordat het verzoek wordt ingewilligd, moet er een bovengrens zijn aan het aantal processen dat wacht om de CSR in te voeren tijdens deze periode om ervoor te zorgen dat er geen proces verhongert en elk proces in de wachtrij krijgt een beurt om de CSR in te voeren.
De CSR, in een bepaald stuk code, kan worden geïdentificeerd door de volgende eigenschappen:
- Code wordt gekenmerkt door een reeks lees-schrijf-update-bewerkingen.
- Secties van de code veranderen variabelen in een andere code, die een lees-schrijf-update reeks bewerkingen uitvoert.
- De aanwezigheid van code die toegang heeft tot een gegevensstructuur van een andere code door deze te wijzigen, of code die een gegevensstructuur gebruikt die door een ander proces kan worden gewijzigd.
Het concept kritische sectie kan worden toegepast op hardware die de interrupts-faciliteit gebruikt. Wanneer een proces een kritieke sectie binnengaat, moeten alle interrupts op de processor worden uitgeschakeld, zodat andere processen geen vergrendeling van de resource kunnen aanvragen. Evenzo worden onderbrekingen opnieuw ingeschakeld wanneer een proces is voltooid. Een andere benadering is om een semafoor te gebruiken, een speciale variabele die fungeert als een signaal om de uitvoering of beëindiging van een proces te sturen.
