Cuprins:
- Definiție - Ce înseamnă rutina secțiunii critice (CSR)?
- Techopedia explică rutina secțiunii critice (CSR)
Definiție - Ce înseamnă rutina secțiunii critice (CSR)?
Rutina secțiunii critice (CSR) este o secțiune de cod pentru care un proces obține un blocaj exclusiv, astfel încât niciun alt proces nu îl poate executa simultan. Adesea, unul sau mai multe procese se execută simultan într-un sistem de operare, forțând aceste procese să concureze între ele pentru accesul la fișiere și resurse. Un singur proces ar trebui să fie permis să acceseze resursa în timp ce o parte a codului aferent resursei este executată.
Pentru a vă asigura că un proces din CSR nu reușește în timp ce alte procese sunt în așteptare, o componentă de gestionare a procesului este stabilită de o limită de timp. Astfel, un proces poate avea acces la un blocaj exclusiv doar pentru o perioadă limitată de timp.
Techopedia explică rutina secțiunii critice (CSR)
Principalele cerințe pentru implementarea CSR sunt:
- Excluderea reciprocă: Atunci când un proces se execută într-un CSR, nu se poate intra în alt proces.
- Condiție de progres: Dacă niciun proces nu se execută într-un CSR și există unele procese care doresc să îl introducă, acestea pot face acest lucru într-un timp determinat. Unul dintre procese intră în CSR în timp ce alții așteaptă.
- Așteptare legată: Când un proces solicită să intre într-o CSR și înainte de a fi solicitată, trebuie să existe o limită superioară a numărului de procese care așteaptă să intre în CSR în această perioadă pentru a se asigura că niciun proces nu moare de foame și fiecare proces din coada de așteptare. primește rândul să intre în CSR.
CSR, într-un anumit fragment de cod, poate fi identificat cu următoarele proprietăți:
- Codul se caracterizează printr-o secvență de operații de citire-scriere-actualizare.
- Secțiunile codului modifică variabilele dintr-un alt cod, care efectuează o secvență de operare de citire-scriere-actualizare.
- Prezența codului care accesează o structură de date a unui alt cod prin modificarea acestuia sau cod care utilizează o structură de date care ar putea fi modificată de un alt proces.
Conceptul de secțiune critică poate fi aplicat hardware-ului care utilizează funcția de întrerupere. Ori de câte ori un proces intră într-o secțiune critică, toate întreruperile procesorului ar trebui să fie dezactivate, astfel încât alte procese să nu poată solicita blocarea resursei. În mod similar, când un proces termină execuția, întreruperile sunt din nou activate. O altă abordare este utilizarea unui semafor, o variabilă specială care acționează ca un semnal pentru a direcționa execuția sau încheierea unui proces.