Должен ли быть переключатель режима для чего-то, что можно квалифицировать как переключение контекста? - PullRequest
3 голосов
/ 02 октября 2011

Должен ли быть переключатель режима, т. Е. От user mode до kernel mode, чтобы действие называлось context switch?

Ответы [ 3 ]

6 голосов
/ 02 октября 2011

Нет.Не все процессоры даже имеют уровни привилегий .

Переключение контекста обычно означает восстановление состояния выполнения из блока управления процессом .Однако понятие context определяется реализацией.From Wikipedia :

То, что составляет контекст, определяется процессором и операционной системой.
...
Когда в операционной системе требуется переход между режимом пользователя и режимом ядра, переключение контекста не требуется;изменение режима само по себе не является переключением контекста.Однако, в зависимости от операционной системы, переключение контекста также может происходить в это время .

5 голосов
/ 14 октября 2012

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

0 голосов
/ 02 октября 2011

Переключение режима - когда режим одного процесса переключается с уровня пользователя на уровень ядра или наоборот.Это происходит через системные вызовы.Когда процесс вызывает системный вызов, режим процесса изменится на режим ядра, и ядро ​​начнет действовать от имени пользовательского процесса.И как только системный вызов вернется, режим процесса изменится с режима ядра на режим пользователя.«Режим» - это свойство, связанное с процессом.Таким образом, переключатель режима - это переключатель режима отдельного процесса.

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

...