Каково различие между Прерыванием и Прерыванием?

Каково различие между Прерыванием и Прерыванием?

Если терминология отличается для различных систем, то, что они имеют в виду на x86?

143
задан Peter Cordes 1 June 2016 в 16:43
поделиться

3 ответа

Прерывание является исключением в пользовательском процессе. Это вызвано делением на ноль или недопустимым доступом к памяти. Это также обычный способ вызова подпрограммы ядра (системный вызов ), потому что они выполняются с более высоким приоритетом, чем код пользователя. Обработка выполняется синхронно (поэтому код пользователя приостанавливается и продолжается после этого). В некотором смысле они «активны» - большую часть времени код ожидает, что ловушка произойдет, и полагается на этот факт.

прерывание генерируется оборудованием (такими устройствами, как жесткий диск, графическая карта, порты ввода-вывода и т. Д.). Они бывают асинхронными (т.е. они не происходят в предсказуемых местах пользовательского кода) или «пассивными», поскольку обработчик прерывания должен ждать, пока они в конечном итоге произойдут.

Вы также можете рассматривать ловушку как своего рода внутреннее прерывание ЦП, поскольку обработчик для обработчика прерывания выглядит как обработчик прерывания (регистры и указатели стека сохраняются, есть переключение контекста, выполнение может возобновиться в некоторых случаях, когда оно остановился).

185
ответ дан 23 November 2019 в 22:59
поделиться

Ловушка - это особый вид прерывания , которое обычно называют программным прерыванием . прерывание - это более общий термин, который охватывает как аппаратные прерывания (прерывания от аппаратных устройств), так и программные прерывания (прерывания от программного обеспечения, такие как прерывания ).

6
ответ дан 23 November 2019 в 22:59
поделиться

Ловушка вызывается кодом, подобным программам, и используется e. грамм. для вызова подпрограмм ОС (т.е. обычно синхронных). Прерывание вызывается событиями (часто аппаратными средствами, такими как сетевая карта, получившая данные, или таймер ЦП), и, как следует из названия, прерывает нормальный поток управления, поскольку ЦП должен переключиться на процедуру драйвера для обработки событие.

3
ответ дан 23 November 2019 в 22:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: