Прерывание: различия между версиями

[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
м Области применения
Строка 40:
 
[[MS-DOS]] использует для взаимодействия со своими модулями и прикладными программами прерывания с номерами от 20h до 3Fh (числа даны в [[Шестнадцатеричная система счисления|шестнадцатеричной системе счисления]], как это принято при программировании на [[Язык ассемблера|языке ассемблера]] x86). Например, доступ к основному множеству функций MS-DOS осуществляется исполнением инструкции <code>Int 21h</code> (при этом номер функции и её аргументы передаются в [[Регистр процессора|регистрах]]). Это распределение номеров прерываний не закреплено аппаратно и другие программы могут устанавливать свои обработчики прерываний вместо или поверх уже имеющихся обработчиков, установленных MS-DOS или другими программами, что, как правило, используется для изменения функциональности или расширения списка системных функций. Также этой возможностью пользуются [[Компьютерный вирус|вирусы]].
 
== Области применения ==
Область применения прерываний включают следующее: система таймеров, дискового ввода/вывода, сигналы и ловушки. Существуют и другие прерывания для передачи данных байт через UART порта или Ethernet.
Еще обычно используется, чтобы генерировать периодические прерывания при делении на выходе кварцевого генератора и обработчика подсчета прерываний в процессор, чтобы сохранить время. Эти периодические прерывания часто используются планировщиком задач операционной системы, чтобы перенести приоритеты запущенных процессов. Некоторые старые компьютеры автоматически периодически прерывают от частоты линии питания, поскольку она контролирует утилиты для устранения долгосрочного дрейфа электрических часов.
 
Например, диск прервал сигнал о завершении передачи данных от или к периферии диска; процесс ожидания на чтение или запись в файл начинается снова. Другой пример, выключение прерывания или запросов прогнозирует потерю мощности, позволяя компьютерного оборудования выполнит упорядоченное выключение. Кроме того, прерывания используются в функции опережающего ввода для буферизации такие события, как нажатия клавиш.
 
== См. также ==