разница между сигналом, программным прерыванием и аппаратным прерыванием? - PullRequest
4 голосов
/ 14 февраля 2011

В чем разница между сигналом, программным прерыванием и аппаратным прерыванием? Пожалуйста, скажите мне один пример ??

Ответы [ 2 ]

2 голосов
/ 14 февраля 2011

На языке C под сигналами понимается форма внутренней программной связи, обнаруженная в signal.h. Возможно, вы могли бы сравнить их с «событиями» или «исключениями» на других языках или в ОС. Это была попытка дать языковую поддержку такой функциональности ОС. http://en.wikipedia.org/wiki/Signal.h

Программное прерывание относится к конкретным прерываниям в ЦП, которые были вызваны ошибкой программного обеспечения на низком фундаментальном уровне, т.е. выполнением неизвестного OP-кода или попыткой доступа к неиспользуемым областям памяти. Программное прерывание вызывается самим ЦП, а не ОС или приложением.

Аппаратные прерывания - это любые другие виды прерываний, которые не являются программными. Они вызываются самим процессором. Их природа зависит от приложения и оборудования.

1 голос
/ 14 февраля 2011

Из Википедия :

В вычислениях прерывание является асинхронный сигнал, указывающий потребность во внимании или синхронность событие в программном обеспечении, указывающее на необходимость для изменения в исполнении. Аппаратное обеспечение прерывание заставляет процессор сохранять его состояние исполнения и начала выполнение обработчика прерываний. Программные прерывания обычно реализовано в виде инструкций в набор инструкций, которые вызывают контекст переключиться на аналогичный обработчик прерываний на аппаратное прерывание.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...