Програмная поддержка
BIOS
BIOS (англ. basic input/output system — «базовая система ввода-вывода») — реализованная в виде микропрограмм часть системного программного обеспечения, которая предназначается для обеспечения операционной системы API доступа к аппаратуре компьютера и подключенным к нему устройствам.
В персональных IBM PC-совместимых компьютерах, использующих микроархитектуру x86, BIOS представляет собой набор записанного в микросхему EEPROM (ПЗУ) персонального компьютера микропрограмм (образующих системное программное обеспечение), обеспечивающих начальную загрузку компьютера и последующий запуск операционной системы.
Для новых платформ, компания Intel на замену традиционному BIOS предлагает Extensible Firmware Interface.
Для компьютеров на базе иных платформ для обозначения встроенного ПО, используются другие термины. Например в архитектуре SPARC, firmware может называться PROM, или Boot.
Обработчик прерываний
Обработчик прерываний (или процедура обслуживания прерываний) — специальная процедура, вызываемая по прерыванию для выполнения его обработки. Обработчики прерываний могут выполнять множество функций, которые зависят от причины, которая вызвала прерывание.
Обработчик прерываний — это низкоуровневый эквивалент обработчика событий. Эти обработчики вызываются либо по аппаратному прерыванию, либо соответствующей инструкцией в программе, и соответственно обычно предназначены для взаимодействия с устройствами или для осуществления вызова функций операционной системы.
На современных ПК обработчики основных аппаратных и программных прерываний находятся в памяти BIOS. Современная операционная система, во время своей загрузки, заменяет эти обработчики своими. При загрузке драйверов устройств, операционная система распределяет управление обработкой прерывания между ними. В операционных системах семейства Windows программные прерывания используются для вызовов многих API функций.
В современных системах обработчики прерываний делятся на Высокоприоритетные Обработчики Прерываний (ВОП) и Низкоприоритетные Обработчики Прерываний (НОП).
К выполнению ВОП обычно предъявляются жесткие требования: малое время на выполнение, малое количество операций, разрешенных к выполнению, особая надежность, так как ошибки, допущенные во время выполнения, могут обрушить операционную систему, которая не может корректно их обработать.
Получив сигнал прерывания с определенным номером, процессор сохраняет в стеке выполняемой программы текущее содержимое трех регистров процессора: регистра флагов, CS и IP. Два последних числа образуют полный адрес возврата в прерванную программу. Далее процессор загружает CS и IP из соответствующего вектора прерываний, осуществляя, тем самым, переход на обработчик прерывания, связанный с этим вектором.
Обработчик прерываний всегда заканчивается командой iret (interrupt return, возврат из прерывания), выполняющей обратные действия - извлечение из стека сохраненных там слов и помещение их назад в регистры IP и CS, а также в регистр флагов. Это приводит к возврату в основную программу в ту самую точку, где она была прервана.
Стандартной программой обработки прерывания INT 09h5 дополнительно отслеживаются некоторые комбинации клавиш, выполняя определённые действия.
