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