У меня есть несколько вопросов по пользовательскому и супервизорному режимам на Unix-подобных машинах.
В чем разница между режимом пользователя и режимом супервизора? Я знаю, что пользовательские процессы не могут получить доступ ко всей памяти и оборудованию и выполнить все инструкции. Есть ли еще что-то к этому?
Каковы преимущества наличия разных режимов?
Какие шаги предпринимаются при переходе из режима пользователя в режим супервизора?
Когда системный вызов выполняется пользовательской программой, режим должен переключаться с режима пользователя на режим супервизора. Я читал в другом месте, что это достигается на машинах x86 с помощью int x80. Так чем же отличается переключение режимов от обработки прерываний?
Чем он отличается от переключения контекста?
Как режимы супервизора реализованы в разных архитектурах?
Любые ответы или указатели будут оценены!