Прерывания
Автор Куриная ножка задал вопрос в разделе Компьютеры, Связь
Расскажите про прерывания и получил лучший ответ
Ответ от Warning - "Dangerous"[гуру]
Прерывание – это способ переключения процессора на выполнение потока команд, отличного от того который выполнялся, с последующим возвратом.
Различают следующие типы прерываний:
внешние (аппаратные) ,
внутренние (исключения -exception),
программные
Внешние прерывания происходят асинхронно, т. е. происходят в случайный момент времени в процессе выполнения программы (например, от внешних устройств) , внутренние – синхронно, т. е. возникают по конкретной причине и можно предугадать возникновение такого прерывания (например, при делении на ноль) .
Программные прерывания не являются "истинными" прерываниями. Они возникают при выполнении определенной команды процессора и применяются в том случае, когда необходимо выполнить некоторые привилегированные действия (например обратится к порту компьютера) .
Прерываниям равного значения приписываются уровни приоритетов (уровни - IRQ)
Каждое из прерываний обслуживается обработчиком прерываний (Interrupt Service Routine).
Внешние – обрабатываются драйверами, внутренние – модулями ядра, программные – процедурами из API
Механизм прерываний
Механизм прерываний поддерживается аппаратными и программными средствами ОС
Различают векторный (vectored) и опрашиваемый (polled) типы прерываний. В обоих способах процессору передается информация об уровне приоритета.
При векторном типе прерывания в процессор передается также адрес обработчика прерывания
Для векторного типа схема обработки такова: электрический сигнал - запрос на подтверждение - вектор - обработчик (например, для шины VMEbus)
Для опрашиваемого схема обработки такова: сигнал - запрос на подтверждение - уровень приоритета (например, шина ISA). Каждый уровень связан с несколькими устройствами. Вызываются все обработчики данного уровня. Один опознает свое устройство. (Примеры шин: ISA, EISA, MCA, PCi, SBus)
Intel Pentium объединяет два типа. устройство выдает сигнал некоторого уровня (IRQ - Interrupt Request), а контроллер вектор. Вектор - это число 0-255
Приоритеты обслуживания могут быть: относительные (обработка прерывания не прекращается при появлении более приоритетного прерывания) и абсолютные.
Для упорядочивания работы обработчиков введен механизм приоритетных очередей, которые обслуживает модуль ОС диспетчер прерываний.
Брешнеф прав!
А иесли акт не прерван, то прерыванте беременности - то есть Аборт( что и есть прерывание).
Прерывания, мля, сложные. Совсем просто - это запрос от одного устройства/процесса с целью получить "внимание" другого устройства/процесса. Подробнее - читай спец литературу.
Прерывания полового акта бывают. Чтоб не забеременеть.