Базовая система ввода-вывода (BIOS)

Модуль BIOS индивидуален для каждой вычислительной системы и поставляется её изготовителем. В этом модуле содержатся аппаратно-зависимые драйверы следующих устройств:

  • Консольный.дисплей с клавиатурой (СОМ).
  • Устройство построчной печати (РRN).
  • Последовательный канал связи (АUХ).
  • Часы/календарь (СLOCK).
  • Дисковое устройство начальной загрузки (блочно-ориентированное устройство).

BIOS находится в постоянной памяти (постоянном запоминающем устройстве, ПЗУ) и в архитектуре компьютера занимает особое место. Эту систему можно рассматривать, с одной стороны, как составную часть аппаратных средств; с другой стороны, BIOS является, по существу, одним из программных модулей DOS. Входящие в этот модуль программы обеспечивают выполнение важных функций по поддержке жизнеспособности компьютера.

Одна из первых функций BIOS – автоматическое тестирование основных аппаратных компонентов при включении машины, включая оперативную память (RAM – Random Access Memory). Если в процессе тестирования памяти или других аппаратных компонентов обнаруживаются ошибки, BIOS выдает на экран соответствующие сообщения. Дальнейшая работа машины на этом прекращается и пользователю нужно принимать меры к устранению выявленной ошибки.

Вторая важная функция BIOS, вступающая в действие по окончании тестирования, – вызов блока начальной загрузки DOS. Поскольку DOS – сложная система, состоящая из нескольких модулей, загрузка ее в память проходит в две ступени; сначала BIOS загружает с системного диска в оперативную память специальный блок начальной загрузки, а затем уже передает на него управление, а тот, в свою очередь, осуществляет загрузку других модулей DOS. При такой двухступенчатой организации загрузки с BIOS снимается забота о поиске и настройке различных модулей DOS. Единственное условие нормальной работы BIOS – это обнаружение на фиксированном месте системного диска блока начальной загрузки. При этом роль системного диска в ПК может играть гибкий или жесткий магнитный диск.

Третья важная функция BIOS – обслуживание системных вызовов или прерываний. Системные вызовы вырабатываются программными или аппаратными средствами с целью выполнения различных операций. Для реализации системных вызовов используется механизм прерываний. Суть этого механизма заключается в том, что текущая работа машины может быть приостановлена на короткое время одним из сигналов, который указывает на возникновение ситуации, требующей немедленной обработки.

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

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

Логические, или процессорные, прерывания возникают при различных нестандартных ситуациях в работе основного процессора – деление на нуль, переполнение регистров, появление “точки останова” и др.

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

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

Итак, в аппаратных компонентах машины, в самой DOS и в прикладных программах могут вырабатываться прерывания, которые нужно обслуживать. На BIOS возлагается задача обслуживания прерываний нижнего уровня – тех, которые требуют непосредственного управления аппаратными компонентами. Этим прерываниям присвоены номера с 0 по 31 (шестнадцатиричные номера 0 – 1F). Другие прерывания – с номерами 32-63 (шестнадцатиричные номера 20 – 3F) – относятся к более высокому уровню, и их обслуживание возлагается на другие модули DOS.

Таким образом, BIOS является своеобразной программной оболочкой вокруг аппаратных средств ПК, предоставляя возможность другим программам, в частности самой DOS, обращаться к аппаратным компонентам через механизм прерываний.