Sobes.tech
Back to questions
Senior
7

Что происходит внутри планировщика при блокирующем системном вызове?

Companies where asked
.wrk

Answer from AI

sobes.tech AI

При блокирующем системном вызове планировщик ОС приостанавливает выполнение текущего потока или процесса, ожидающего завершения этого вызова. В это время поток не использует процессор, и планировщик переключается на выполнение других потоков или процессов.

В деталях:

  • Когда поток вызывает блокирующую операцию (например, чтение из файла или ожидание ввода-вывода), он переводится в состояние ожидания (blocked).
  • Планировщик убирает этот поток из очереди готовых к выполнению и выбирает другой поток, который может выполняться.
  • Как только системный вызов завершается (например, данные готовы), поток переводится обратно в состояние готовности (ready).
  • Планировщик в дальнейшем выделит этому потоку процессорное время.

Таким образом, блокирующий вызов приводит к переключению контекста и позволяет эффективно использовать CPU, не простаивая в ожидании завершения операции.