Прочее компьютерное

Разница между программными и аппаратными прерываниями

Проблемные вопросы с разъяснениями
1. Может ли прикладной пользовательский процесс использовать системную
часть виртуальной памяти?
2.Какие этапы включает в себя разработка OC для новой аппаратной платформы?
Vahag Abrahamyan
Vahag Abrahamyan
647
главное отличие между аппаратным и программным прерыванием является то, что аппаратное прерывание генерируется внешним устройством, а программное прерывание - исполняемой программой.


Прерывание - это событие, которое происходит компонентом устройства, отличным от ЦП. Это указывает процессору, что он должен предпринять немедленные действия. Сетевые устройства, таймеры и т. Д. Могут вызывать прерывания. Однако большинство современных компьютеров могут обрабатывать прерывания быстрее. Кроме того, существует два основных типа прерываний: аппаратное и программное прерывание. Мы будем обсуждать здесь эти два типа прерываний и тем самым различать разница между аппаратным и программным прерыванием.

Ключевые области покрыты
1. Что такое аппаратное прерывание
- определение, функциональность
2. Что такое программное прерывание
- определение, функциональность
3. В чем разница между аппаратным и программным прерыванием
- Сравнение основных различий

Что такое аппаратное прерывание
Аппаратные устройства генерируют аппаратные прерывания. Жесткий диск может генерировать аппаратное прерывание, чтобы сообщить, что он прочитал серию блоков данных. Сетевое устройство может создать аппаратное прерывание, чтобы указать, что оно приняло пакеты данных. Кроме того, устройства ввода, такие как мышь и клавиатура, также могут создавать аппаратные прерывания. Устройства управления и маршрутизации прерываний помогают отправлять аппаратные прерывания непосредственно в ЦП.

Существует два типа аппаратных прерываний.

Маскируемые прерывания - Эти прерывания могут быть задержаны, когда ЦП получает прерывания с более высоким приоритетом.

Немаскируемое Прерывание - Невозможно отложить эти прерывания. Процессор должен рассмотреть их немедленно.

Каждое аппаратное прерывание имеет ссылочный номер, называемый номером прерывания. Каждое число соответствует оборудованию, которое сгенерировало прерывание. Следовательно, процессор может легко распознать устройство, которое вызвало прерывание. Обычно аппаратные прерывания являются асинхронными событиями.

Что такое программное прерывание

Исполняющая программа генерирует программные прерывания. Он может связываться с ядром для вызова системных вызовов. Например, предположим, что программе требуется допустимое число для переменной, но она получает нулевое значение. Затем эта ситуация может вызвать программное прерывание. Предположим, что программа имеет бесконечный цикл. Затем это может вызвать утечку памяти и привести программу в не отвечающее состояние. Кроме того, предположим, что необходимо разделить число на ноль. Это может вызвать исключение, и это программное прерывание. Как правило, можно решить программные прерывания.

Всякий раз, когда происходит прерывание (аппаратное или программное обеспечение), ЦПУ прекращает выполнение выполняемых в данный момент программ и действий. Затем выполняется соответствующий обработчик прерывания. Обработчик прерываний также называется подпрограммой обработки прерываний. Это блок кода, связанный с определенным условием прерывания. После обработки прерывания обычные программы выполняются снова.

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

поколение
Внешние устройства генерируют аппаратные прерывания, а при выполнении инструкций генерируются программные прерывания.

Тип
Другое различие между аппаратными и программными прерываниями заключается в том, что аппаратные прерывания являются асинхронными событиями, а программные прерывания - синхронизированными событиями.
СМ
Сергей Маткин
304
Лучший ответ
Vahag Abrahamyan Хороший ответ, правда вопросы были ниже. но все равно спасибо за то что раскрыл тему!
Для хранения данных и выполнения кода приложение может использовать как виртуальную, так и физическую память. Однако оба типа памяти являются частью общей памяти системы.

При разработке OC для новой аппаратной платформы первым шагом является изучение архитектуры процессора и выяснение того, как работают различные компоненты. Когда разработчик хорошо понимает, как работает ЦП, он может начать писать код для управления различными компонентами системы
Андрей Пуцима
Андрей Пуцима
61 708
https://m.youtube.com/watch?v=eBGIQ7ZuuiU в этом видео хорошо все объяснено
Vahag Abrahamyan Хахаха

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