2016-11-06 5 views
0

Мое понимание по этим вопросам несколько нечеткое. Многие люди в Интернете говорят, что они одинаковые. Есть несколько вопросов, подобных моему, но ни один из них не дает хороший пример реальной жизни на уровне программного обеспечения.Примеры прерываний и исключений программного обеспечения на уровне приложения

Возможно ли, чтобы кто-нибудь дал мне чистый пример, который поможет мне разобраться в различиях между собой?

Например, это деление на ноль программного прерывания? Или исключение?

ответ

0

Прерывания и исключения имеют тот же метод отправки (обычно через вектор прерывания системы). Однако прерывания и исключения срабатывают по-разному.

Исключение происходит посредством выполнения потока команд. Таким образом, исключения возникают в предсказуемых точках приложения.

Прерывания происходят в результате событий, внешних по отношению к потоку выполнения.

Деление на ноль происходит в результате потока команд, что делает его исключением.

Некоторые операционные системы основаны на прерываниях (например, Windoze и VMS). Они позволяют прерывать приложение в пользовательских (или других режимах) по различным причинам.

Например. в обеих операционных системах вы можете выполнить операцию ввода-вывода в очередь, а затем прервать приложение при завершении ввода-вывода (прерывание программного обеспечения, инициированное операционной системой, а не аппаратным).

Смежные вопросы