У меня есть вопрос относительно функции сна, объявленной в unistd.hВызов вызова функции сна, к которому относится планировщик?
Предположим, мы используем планировщик CFS.
У нас есть процесс, который готов к запуску (позволяет называть это состояние «ГОТОВО»), он выбирается для запуска и теперь работает (так называемое состояние «RUNNING»).
Во время его выполнения в состоянии RUNNING он встречает оператор сна, скажем, спящий (10), который заставляет его спать в течение 10 секунд или до тех пор, пока сигнал не будет доставлен или в зависимости от того, что наступит раньше.
Теперь, когда выполняется спящий режим (10), выполняется процесс в состоянии READY или он возвращается в исходный приоритет в очереди RUNNING или помещается в очередь WAIT.
Я не в состоянии визуализировать правильную последовательность событий. Один мыслимый процесс предполагает, что он остается в очереди READY, в то время как другая мысль заключается в том, что его помещают в очередь WAIT, ожидая истечения срока действия таймера.
Пожалуйста, дайте мне знать, как это будет работать, или если в моем вопросе что-то не так. Спасибо
Это не вопрос. Вы должны точно знать, что такое планировщик. –
@EricUrban: Предположим, что планировщик, основанный на приоритетах, более конкретный планировщик CFS – Rohit