Ответ
Переключение контекста (context switch) — это процедура, в ходе которой операционная система (ОС) приостанавливает выполнение одного процесса или потока и возобновляет выполнение другого.
Контекст — это вся информация, необходимая для возобновления работы, включая:
- Значения регистров процессора (счётчик команд, указатель стека и др.)
- Состояние памяти процесса
- Служебная информация ядра ОС (например, открытые файлы, права доступа)
Почему это важно?
Это фундаментальный механизм для реализации многозадачности в современных ОС. Он позволяет нескольким процессам поочередно использовать один процессор, создавая иллюзию одновременного выполнения.
Основные этапы:
- Сохранение: ОС сохраняет текущий контекст приостанавливаемого процесса в специальной структуре данных (Process Control Block).
- Выбор: Планировщик ОС выбирает следующий процесс для выполнения.
- Восстановление: ОС загружает контекст нового процесса из его PCB в регистры процессора.
- Передача управления: Выполнение продолжается с того места, где новый процесс был остановлен.
Ключевой аспект: Переключение контекста — это ресурсоёмкая операция, так как она требует вмешательства ядра ОС и может приводить к сбросу кэшей процессора, что временно снижает производительность.