У меня есть общий вопрос о планировщике linux и некоторых других подобных системных вызовах системы.
Является ли планировщик linux "процессом", и каждый вызов планировщику требует контекстного переключателя, как его еще один процесс?
Скажем, у нас есть тактик, который прерывает текущий текущий режим пользовательского режима, и теперь нам нужно вызвать планировщик. Вызывает ли вызов самого планировщика контекстный переключатель? Имеет ли планировщик свой собственный набор регистров и U-области, а также то, что он должен восстановить при каждом вызове?
И этот вопрос относится ко многим другим системным вызовам. Процессы ядра ведут себя как обычные процессы в отношении переключения контекста, единственное различие заключается в том, что они имеют больше разрешений и доступ к процессору?
Я спрашиваю об этом, потому что накладные расходы на коммутатор являются дорогостоящими. И звучит странно, что вызов самого планировщика провоцирует коммутатор контекста для восстановления состояния планировщика, после чего планировщик вызывает другой процесс для запуска и снова другой переключатель контекста.