Obsah:
- Definice - Co znamená rutina kritické sekce (CSR)?
- Techopedia vysvětluje rutinní kritickou sekci (CSR)
Definice - Co znamená rutina kritické sekce (CSR)?
Rutina kritické sekce (CSR) je část kódu, pro kterou proces získá výhradní zámek, takže jej žádný jiný proces nemůže provést současně. Jeden nebo více procesů se často provádí současně v operačním systému, což nutí tyto procesy vzájemně konkurovat o přístup k souborům a prostředkům. Přístup ke zdroji by měl mít povolen pouze jeden proces, zatímco je spuštěna část kódu týkajícího se zdroje.
Aby se zajistilo, že se proces v CSR nezdaří, zatímco ostatní procesy čekají, je komponentou správy procesů stanoven časový limit. Proces tedy může mít přístup k exkluzivnímu zámku pouze po omezenou dobu.
Techopedia vysvětluje rutinní kritickou sekci (CSR)
Hlavní požadavky na implementaci CSR jsou:
- Vzájemné vyloučení: Když se proces provádí v CSR, nemůže vstoupit žádný jiný proces.
- Podmínka pokroku: Pokud v CSR neprobíhá žádný proces a existují nějaké procesy, které jej chtějí zadat, mohou tak učinit v určitém množství času. Jeden z procesů vstupuje do CSR, zatímco ostatní čekají.
- Ohraničené čekání: Když proces požaduje zadání CSR a před udělením požadavku, musí existovat horní limit počtu procesů čekajících na vstup do CSR během tohoto období, aby bylo zajištěno, že žádný proces nebude hladovět a každý proces v čekací frontě dostane zase vstoupit do CSR.
CSR v určitém kusu kódu lze identifikovat pomocí následujících vlastností:
- Kód je charakterizován posloupností operací čtení-zápis-aktualizace.
- Sekce kódu mění proměnné v jiném kódu, který provádí sekvenci operace čtení a zápis a aktualizace.
- Přítomnost kódu, který přistupuje k datové struktuře jiného kódu jeho úpravou, nebo kódu, který používá datovou strukturu, kterou by bylo možné upravit jiným procesem.
Koncept kritické sekce lze použít na hardware, který používá zařízení přerušení. Kdykoli proces vstoupí do kritické sekce, všechna přerušení na procesoru by měla být deaktivována, aby ostatní procesy nemohly požadovat zámek zdroje. Podobně, když proces dokončí provádění, přerušení jsou znovu povolena. Dalším přístupem je použití semaforu, speciální proměnné, která se chová jako signál k řízení provádění nebo ukončení procesu.
