Выбранный процесс - это, готовый к запуску в памяти, поэтому на этой диаграмме есть пунктирная линия между состояниями «Принудительная» и «Готов к работе в памяти». Процессор с интенсивным использованием ЦП обычно выполняет работу и использует процессор для всего временного среза, пока таймер не срабатывает на аппаратном уровне и заставляет ядро упредить процесс. Это не делает процесс менее подготовленным к запуску, потому что в процессе вытеснения процесса ядро сохраняет все необходимые ему структуры данных для контекстного коммутатора.
Однако выгруженный процесс не обязательно готов к работе в режиме пользователя.. Вместо этого ядро может вытеснить себя, потому что ядро выполняет некоторую работу при поступлении сетевого пакета или завершении чтения диска или при срабатывании таймера, или какое-то другое событие вызывает приостановку. Если процесс был изначально запущен в пользовательском режиме, когда он был выгружен (ситуация, описанная в первом абзаце), тогда он возвращается в пользовательский режим всякий раз, когда планировщик решает, что он должен запускаться снова. Это самая красная красная стрелка. С другой стороны, если процесс был выгружен во время работы в режиме ядра, он возвращается в режим ядра всякий раз, когда планировщик решает, что он должен запускаться снова. Это другая красная стрелка.
На мой взгляд, это не тема. Этот вопрос пришел мне на ум, изучая перед экзаменом Unix <>. –