ОС проверяет прерывания на наличие разрешений
Я не уверен, что нахожусь в правильном месте, чтобы спросить это, но я изучаю операционные системы, и я не могу найти никакой информации по этому вопросу.
Я читал, что прерывания создаются, когда в пользовательском режиме выполняется вызов, который запрашивает системный сервис. Но я не могу найти причину, почему это происходит. Я предполагаю, что прерывание также проверяет разрешения или что-то еще?
Спасибо, что просветили меня,
1 ответ
Прерывания - это способ для ядра ОС разрешить определенный доступ к исполняемому коду, обычно прерывая процесс, в котором выполняется код.
Ctrl-C или kill -9
оба используют прерывания (в UNIX) в качестве низкоуровневого способа для внешнего процесса (возможно, пользователь вошел в терминал) для взаимодействия с другой изолированной программой.
Ядро допускает прерывания - в основном хуки системного уровня - но исполняемый код может решить, как реагировать на большинство из них. Процесс (или пользователь), инициирующий сигнал прерывания, должен иметь разрешения для исполняемого файла.