Связь между приложениями и операционной системой осуществляется с
помощью соответствующего стандартного для всех приложений API
(Application Programming Interface). Этот Интерфейс Прикладного
Программирования определяет, например, как выполняется запись или
считывание данных на диск, их печать и другие функции.
Поскольку приложение не зависит от присоединённого аппаратного
обеспечения (т.е. имеющихся внешних и электронных устройств), то и все его
вызовы требуемых функций обрабатывает операционная система, которая уже
располагает информацией об установленном оборудовании и через BIOS
обращается непосредственно к его компонентам. Эта связь поддерживается
драйверами соответствующих компонентов оборудования. Причём каждой
операционной системе – DOS, Windows9x, Windows NT, Windows 2000, OS/2,
Linux или другой – для одного и того же устройства необходимы свои
драйверы. Как видно из рисунка 2.14, приложения и операционная система
идентичны у большинства компьютеров, а BIOS «подстраивается» под
конкретную конфигурацию аппаратного обеспечения и, независимо от
установленного оборудования, обеспечивает стандартный интерфейс для
работы с ними операционной системы. Таким образом, BIOS представляет
собой интерфейс между аппаратурой конкретного ПК и установленной на нём
операционной системой.
Как правило, прикладная программа не работает напрямую с аппаратурой,
а пользуется услугами операционной системы. Исключение составляют случаи,
когда пользователь самостоятельно реализует доступ к устройствам или их
компонентам из своей программы. Для IBM совместимых ПК, как правило,
используется механизм драйверов. Однако драйверы ОС не всегда обращаются
прямо к аппаратуре. Обычно они вызывают функции BIOS, и уже BIOS
выполняет все действия по вводу-выводу на уровне своих прерываний.
Естественно, что BIOS содержит программы обслуживания только стандартных
устройств ввода-вывода, а нестандартные обслуживаются собственными
драйверами.
Использование BIOS как дополнительного интерфейса между драйверами
стандартных устройств и аппаратурой резко повышает "живучесть"
используемой ОС на "не совсем совместимых" с IBM РС компьютерах других
производителей. Это возможно в связи с тем, что производители совместимых
компьютеров учитывают в программах BIOS особенности постоянно
появляющихся образцов нового оборудования. В этом случае и ОС, и
программа пользователя, тем более, не видят никаких отличий новых
компонентов от старых.
С другой стороны, пользователь может легко дополнять ОС своими
собственными драйверами, которые составлены для нестандартных устройств,
либо заменять стандартные драйверы и функции BIOS. При этом нужно особо
отметить, что поскольку драйвер должен учитывать все детали конструкции
каждого нового устройства и работать в режиме реального времени, хотя бы
часть его должна быть написана на машинно-ориентированном языке
программирования.