Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы BIOS.docx
Скачиваний:
8
Добавлен:
20.11.2019
Размер:
65 Кб
Скачать
☆

Io.Sys получит необходимые данные, он загружает указанные драйверы в память и связыва_

ет их с BIOS. Другими словами, драйверы загружались с диска в ОЗУ и связывались с BIOS,

благодаря чему появлялась возможность в любой момент их вызвать.

К этому моменту в BIOS оказывались данные из ПЗУ системной платы и адаптеров,

а также драйверы, загруженные с диска в ОЗУ на ранних этапах загрузки. Таким образом,

BIOS содержит данные, которые физически расположены в трех разных местах системы, но

при этом работают как одно целое, поскольку все программы связываются посредством про_

Стр. 4 44

Основы BIOS 445

цедур BIOS. Операционная система или приложение при взаимодействии с каким_либо уст_

ройством (например, при необходимости считать данные с компакт_диска) обращается к оп_

ределенному программному прерыванию, после чего в соответствии с таблицей векторов пре_

рываний вызов направляется к определенной части BIOS (т. е. драйверу), касающейся работы

устройства. При этом не имеет значения, где именно хранится драйвер — в ПЗУ системной

платы, ПЗУ адаптера или ОЗУ.

Итак, базовая система ввода_вывода — это комбинация всех типов BIOS, а также загру_

жаемые драйверы устройств. Часть BIOS, содержащаяся в микросхеме на системной плате

или платах адаптеров, называется firmware (именно из_за наличия этих микросхем пользова_

тели чаще всего относят BIOS к аппаратной части компьютера).

По мере эволюции ПК выпускалось все больше различных типов устройств и их моделей.

Это означало необходимость предварительной загрузки все большего количества драйверов.

Добавление драйверов в ПЗУ системной платы — задача довольно сложная, поскольку мик_

росхемы ПЗУ чаще всего несъемные, а их объем достаточно ограничен. Архитектура PC

предполагала использование ПЗУ системной платы объемом всего 128 Кбайт, причем боль_

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

граммы BIOS Setup, а также программы загрузки. Запись драйвера в ПЗУ адаптера также

сложная и дорогостоящая задача, а объем ПЗУ адаптеров ограничен теми же 128 Кбайт, из

которых 32 Кбайт используется видеоадаптером. Поэтому многие компании решили писать

драйверы, которые загружаются в ОЗУ во время загрузки системы.

С течением времени с диска загружалось все больше и больше драйверов, в том числе та_

ких, которые заменяют драйверы, хранящиеся в ПЗУ системной платы. Например, в Win_

dows 95 был представлен новый 32_разрядный драйвер жесткого диска, который использо_

вался вместо 16_разрядного драйвера, хранящегося в ПЗУ системной платы. При этом 16_раз_

рядный драйвер использовался только с момента включения компьютера и до того момента,

как в ОЗУ загружался 32_разрядный драйвер, а также изменялась таблица векторов прерыва_

ний. Windows 95/98/Me допускали использование как 16_, так и 32_разрядных драйверов.

Современные 32_разрядные драйверы загружаются непосредственно с жесткого диска, за_

меняя все драйверы в ПЗУ системной платы. Это относится к любому компьютеру, работаю_

щему под управлением Windows NT/2000/XP, в котором не применяются 16_разрядные

драйверы, размещенные в ПЗУ (ROM) системной платы или адаптера устройства. Код ПЗУ

системной платы необходим лишь для обеспечения успешной загрузки 32_разрядных драйве_

ров и ядра операционной системы, после чего ПЗУ отключается.

То же самое справедливо и в отношении 64_разрядных версий Windows, которые требуют

использования только 64_разрядных драйверов, не допуская применения 32_ или 16_разряд_

ных драйверов. На самом деле именно необходимость использования только 64_разрядных

драйверов в значительной мере замедляет распространение систем, работающих под управле_

нием 64_разрядной Windows.

Завершение загрузки, например, 32_разрядной Windows XP означает прекращение вызо_

вов любых подпрограмм в ПЗУ системной платы или адаптеров. В дальнейшем вызовы на_

правляются только драйверам устройств, загруженным в ОЗУ системы. При включении ком_

пьютера функции BIOS преимущественно располагаются в ПЗУ, а после загрузки Win_

dows XP — в ОЗУ системы.

Описываемая тенденция будет развиваться и в дальнейшем. ПЗУ системной платы приме_

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

для реализации системы защиты в виде паролей, вводимых при запуске компьютера, и для на_

чальной настройки некоторых конфигурационных параметров. Тем не менее после загрузки

операционной системы за дело берется совершенно другой набор системных драйверов.

Компьютерную систему можно представить в виде нескольких аппаратных и программ_

ных слоев, которые взаимодействуют друг с другом. В целом существует четыре основных

слоя, каждый из которых можно разбить на подуровни. Эта концепция представлена в графи_

ческом виде на рис. 5.1.

Стр. 4 45