Почему системный вызов должен переключиться в режим ядра?

StackOverflow https://stackoverflow.com/questions/821665

  •  03-07-2019
  •  | 
  •  

Вопрос

Я готовлюсь к выпускным экзаменам на свои операционные системы, и мне было интересно, кто-нибудь может сказать мне, почему ОС должна переключиться в режим ядра для системных вызовов?

Это было полезно?

Решение

Системный вызов используется специально для запуска работы в режиме ядра, поскольку обычному пользовательскому коду это запрещено по соображениям безопасности.

Например, если вы хотите выделить память, операционная система имеет право делать это (поскольку она знает таблицы страниц и имеет доступ к памяти других процессов), но вам, как пользовательской программе, не следует разрешать заглянуть или испортить память о других процессах. Это способ песочницы. Таким образом, вы отправляете системный вызов с просьбой операционной системы выделить память, и это происходит на уровне ядра.

Изменить. Теперь я вижу, что статья Википедии на удивление полезна в этом отношении

Другие советы

Так как это помечено как "домашняя работа", я не просто дам ответ, но и дам подсказку:

Ядро отвечает за доступ к аппаратному обеспечению компьютера и гарантирует, что приложения не наступают друг на друга. Что произойдет, если какое-либо приложение сможет получить доступ к аппаратному устройству (скажем, жесткому диску) без взаимодействия с ядром?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top