русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Обработка прерываний

Обработка прерываний (англ. interrupt handler), также известна как процедура обработки прерываний (англ. interrupt service routine, ISR) или обработчик прерываний, это функция обратного вызова в операционной системе или драйвере устройства, выполнение которой вызывается получением прерывания. Обработчики прерываний имеют множество функций, которые различаются в соответствии с причиной возникновения прерывания и быстродействия обработки.

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

Обзор

В некоторых ОС - Linux , Microsoft Windows и некоторых других, обработка прерываний поделена на две части: обработчики прерываний первого уровня (англ. First-Level Interrupt Handler, FLIH) и обработчики прерываний второго уровня (англ. Second-Level Interrupt Handlers, SLIH) . FLIH также называемые твердые / быстрые обработчики прерываний (англ. hard / fast interrupt handlers), а SLIH также называемые мягкие / медленные обработчики прерываний (англ. soft / slow interrupt handlers).

FLIH выполняет менее платформо-зависимую обработку прерывания. В ответ прерыванию происходит переключение контекста и загружается, и выполняется код для прерывания. Задачей для FLIH является быстрая обработка прерывания, или запись платформо-зависимых критических данных, которые доступны только во время прерывания, и планирования исполнения SLIH для дальнейшей обработки прерывания.

FLIH также причиняют дрожание, маскируют прерывания. Уменьшение дрожания наиболее важное для операционных систем реального времени, ибо они должны отвечать требованию выполнения определенного кода в согласованный промежуток времени. Для уменьшения дрожания и уменьшения вероятности потери данных, через скрытые прерывания, программисты пытаются уменьшить время выполнения FLIH, вынося весь возможный код в SLIH. Со скоростью современных компьютеров, FLIH могут выполнить все устройство и платформо-зависимое обработки, и использовать SLIH для дальнейшего платформо-независимого долго длительной проработки.

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

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

В разных системах FLIH и SLIH именуются по-разному. В Windows FLIH называется обработчиком прерывания, а SLIH - отложенным вызовом процедуры. В Linux, FLIH называется upper half , а SLIH - lower half или bottom half . Это отличается от именования в других Unix-подобных системах, где оба являются частью bottom half.

Просмотров: 3399

Оглавление: Компьютерная графика и информация в компьютерной сфере


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Полезен материал? Поделись:

Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.