Почему системный вызов должен переключиться в режим ядра?
-
03-07-2019 - |
Вопрос
Я готовлюсь к выпускным экзаменам на свои операционные системы, и мне было интересно, кто-нибудь может сказать мне, почему ОС должна переключиться в режим ядра для системных вызовов?
Решение
Системный вызов используется специально для запуска работы в режиме ядра, поскольку обычному пользовательскому коду это запрещено по соображениям безопасности.
Например, если вы хотите выделить память, операционная система имеет право делать это (поскольку она знает таблицы страниц и имеет доступ к памяти других процессов), но вам, как пользовательской программе, не следует разрешать заглянуть или испортить память о других процессах. Это способ песочницы. Таким образом, вы отправляете системный вызов с просьбой операционной системы выделить память, и это происходит на уровне ядра.
Изменить. Теперь я вижу, что статья Википедии на удивление полезна в этом отношении
Другие советы
Так как это помечено как "домашняя работа", я не просто дам ответ, но и дам подсказку:
Ядро отвечает за доступ к аппаратному обеспечению компьютера и гарантирует, что приложения не наступают друг на друга. Что произойдет, если какое-либо приложение сможет получить доступ к аппаратному устройству (скажем, жесткому диску) без взаимодействия с ядром?