Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Linux: context, switch

Как происходит переключение между потоками на уровне операционной системы

Вопрос проверяет базовое понимание того, как ОС управляет выполнением потоков и делит процессорное время.

Короткий ответ

Переключение между потоками выполняется планировщиком операционной системы. Когда поток блокируется или истекает его квант времени, ОС сохраняет его состояние и передает управление другому потоку. Этот процесс называется контекстным переключением. Он позволяет нескольким потокам «делить» один или несколько CPU.

Длинный ответ

Операционная система должна обеспечивать иллюзию параллельного выполнения потоков, даже если физически процессоров меньше.

Определение

Context switch — сохранение состояния одного потока и восстановление состояния другого для передачи управления CPU.

1) Что хранится при переключении

При контекстном переключении ОС сохраняет:

  • регистры процессора;

  • указатель инструкций;

  • состояние стека;

  • информацию о планировании.

Это позволяет позже продолжить выполнение с того же места.

2) Когда происходит переключение

Основные причины:

  • истек квант времени CPU;

  • поток ушёл в ожидание I/O;

  • появился поток с более высоким приоритетом.

3) Роль таймера

Аппаратный таймер:

  • периодически прерывает выполнение;

  • передает управление планировщику.

Планировщик решает:

  • продолжать текущий поток;

  • или переключиться на другой.

4) Цена переключения

Контекстное переключение:

  • не выполняет полезной работы;

  • занимает время CPU;

  • при большом количестве потоков может снижать производительность.

Вывод

Переключение потоков — базовый механизм многозадачности ОС. Оно делает возможной конкурентность, но чрезмерное количество потоков может привести к потере производительности.

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    4

  • Сложность:

    7

Навыки

  • Linux

    Linux

Ключевые слова

#context

#switch

Подпишись на Python Developer в телеграм

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.