Sobes.tech
Senior

¿Qué sucede dentro del planificador cuando hay una llamada al sistema bloqueante?

sobes.tech AI

Respuesta de la IA

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

В деталях:

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

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