Планировщики процессов реализованы на уровне ОС или аппаратного уровня?
Планировщики процессов реализованы в программном или аппаратном обеспечении? Если это сделано аппаратно, то как оно отслеживает количество процессов и где они находятся, когда они неактивны? Если это программное обеспечение, обычно ли оборудование предоставляет инструкции для планирования, такие как загрузка или хранение регистров по адресу в памяти?
1 ответ
Процессоры x86 на вашей обычной платформе ПК не реализуют аппаратное планирование, это задача ядра. Ни один из других распространенных процессоров, таких как ARM, MIPS, PowerPC и т. Д.
аппаратное обеспечение обычно предоставляет инструкции для планирования, например, для загрузки или хранения регистров по адресу в памяти?
"Загрузка и хранение регистров по адресу в памяти" - это фундаментальная операция ЦП, которая помогает практически во всем, что делает ЦП, а не только в планировании задач.
И не совсем - продолжая с x86 в качестве примера, нет никаких специальных инструкций планирования процессов.
Единственное, что требуется от оборудования с точки зрения планирования - если вы хотите иметь упреждающую многозадачную систему в отличие от кооперативной многозадачной системы - это способ прервать задачу, которая занимает слишком много времени, а платформа ПК предоставляет таймеры это вызывает прерывания, когда они истекают, как способ заставить процесс отказаться от управления процессором.