Junior
Шта је прелазак контекста?
sobes.tech АИ
Одговор од АИ
Прекид контекста (Context Switching) је процес чувања стања једног процеса (или тока) и враћања стања другог процеса (или тока) од стране оперативног система. Ово омогућава више процеса да деле један процесор.
Алгоритам укључује следеће кораке:
- Сачувавање тренутног контекста: Регистри процесора, бројач инструкција (PC), стање стека и друге информације о тренутном процесу се чувају у његовом опису (PCB - Блок контроле процеса).
- Избор следећег процеса: Планер оперативног система бира следећи процес за извршавање.
- Враћање контекста: Сачувано стање изабраног процеса се учита из његовог PCB у регистре процесора.
Трошкови (overhead) преласка контекста укључују:
- Време посвећено чувању и враћању стања.
- Губитак ефикасности због cache misses, јер кеш, попуњен подацима једног процеса, постаје неактуалан за други.
- Трошкови извршавања инструкција планера.
Пример:
Замислимо да имамо два процеса, A и B, који се извршавају на једном процесорском језгру.
// У почетку се извршава процес A
// Процес A користи ресурсе ЦПУ
// Догађа се догађај који захтева прелазак, нпр. истек квант времена процеса A
// Стање процеса A (регистри, PC) се чува
// Оперативни систем бира процес B за извршавање
// Стање процеса B се учита
// Процес B почиње извршавање
Прекид контекста је основни механизам мултизадањског рада у оперативним системима, који омогућава стварање илузије паралелног извршавања више процеса на једном физичком процесору.