Sadržaj:
- Definicija - Što znači Rutinski kritični odjeljak (CSR)?
- Tehopedia objašnjava rutinski kritični odsjek (CSR)
Definicija - Što znači Rutinski kritični odjeljak (CSR)?
Rutina kritičnog odjeljka (CSR) je odjeljak koda za koji proces dobiva ekskluzivno zaključavanje tako da ga nijedan drugi proces ne može istovremeno izvršavati. Često se jedan ili više procesa pokreću istovremeno u operativnom sustavu, prisiljavajući te procese da se međusobno natječu za pristup datotekama i resursima. Samo je jednom procesu dopušten pristup resursu dok se izvršava dio koda koji se odnosi na resurs.
Kako bi se osiguralo da proces u DOP-u ne uspijeva dok drugi procesi čekaju, komponenta upravljanja procesom postavlja vremensko ograničenje. Stoga proces može imati pristup ekskluzivnoj bravi samo ograničeno vrijeme.
Tehopedia objašnjava rutinski kritični odsjek (CSR)
Glavni zahtjevi za provedbu DOP-a su:
- Međusobno isključivanje: Kada se proces izvodi u CSR-u, nijedan drugi proces ne može ući.
- Stanje napretka: Ako se niti jedan proces ne izvrši u CSR-u i postoje neki procesi koji to žele unijeti, oni to mogu učiniti u određeno vrijeme. Jedan od procesa ulazi u CSR, dok drugi čekaju.
- Ograničeno čekanje: Kada proces zahtijeva unos CSR-a i prije nego što zahtjev bude odobren, mora postojati gornja granica broja procesa koji čekaju da uđu u CSR tijekom ovog razdoblja kako bi se osiguralo da nema nikakvih gladovanja procesa i svakog procesa u redu čekanja dobiva red za ulazak u CSR.
CSR se u određenom dijelu koda može prepoznati putem sljedećih svojstava:
- Kôd karakteriše redoslijed čitanja-pisanja-ažuriranja.
- Odjeljci kodnih varijabli mijenjaju se u drugom kodu, koji izvodi operativni slijed čitanja-pisanja-ažuriranja.
- Prisutnost koda koji pristupa strukturi podataka nekog drugog koda modificiranjem, ili koda koji koristi strukturu podataka koju bi neki drugi postupak mogao izmijeniti.
Koncept kritičnog presjeka može se primijeniti na hardver koji koristi uređaj za prekide. Kad god proces uđe u kritični odjeljak, svi prekidi na procesoru trebaju biti onemogućeni tako da drugi procesi ne mogu zahtijevati zaključavanje resursa. Slično tome, kada postupak završi izvršenje, prekidi su ponovno omogućeni. Drugi pristup je korištenje semafore, posebne varijable koja djeluje poput signala za usmjeravanje izvršenja ili prekida postupka.
