Понедельник, 20.05.2024, 18:56

Все о компьютерах и для компьютера

Поиск
Форма входа

Наш опрос
     
Оцените мой сайт
     
     
          
Всего ответов: 709
     
     
     
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
меню сайта
Календарь
Архив записей
Мини-чат
Наши партнеры
Главная » 2012 » Январь » 31 » Основы BIOS
20:05
Основы BIOS

  Пользователи зачастую не видят разницы между программной и аппаратной частями
компьютера. Это можно объяснить высокой степенью интеграции компонентов системы.
Точное представление различия между компонентами компьютера дает ключ к пониманию
роли BIOS.
       Термин BIOS используется для описания базовой системы ввода)вывода. По существу,
BIOS представляет собой "промежуточный слой” между программной и аппаратной частями
системы. Большинство пользователей подразумевают под BIOS драйверы устройств. Кроме
системной, существует еще BIOS адаптеров, которые загружаются при запуске системы.
Когда был представлен первый ПК, программное обеспечение BIOS содержало драйверы
для всех устройств системы, которые записывались в микросхемы ПЗУ, расположенные на
системной плате. При этом драйверы предварительно загружались в память и были доступны
на протяжении всего времени работы компьютера.
В микросхеме ПЗУ также были записаны программа POST (Power On Self Test — тести
рование при включении) и программа самозагрузки. Последняя инициирует загрузку опера
ционной системы, проверяя загрузочный сектор на дискете или на жестком диске. После
загрузки операционная система обращается к процедурам низкого уровня (драйверам уст
ройств) BIOS, необходимым для взаимодействия с различными системными устройствами.
       В начале компьютерной эры в BIOS хранились абслютно все драйверы устройств, в том числе
драйвер клавиатуры, видеоадаптера MDA/CGA, последовательного и параллельного портов,
контроллера гибких дисков, контроллера жестких дисков, джойстика и т.д.
После загрузки операционной системы не требуется загружать драйверы для работы
с устройствами, так как драйверы уже предварительно загружены в ПЗУ. Подобная идея
была неплоха, однако только до тех пор, пока в системе не устанавливалось новое устройство,
драйвер которого в ПЗУ не загружен. В этом случае есть два выхода. Если вы установили
новую плату адаптера, она может быть оснащена микросхемой ПЗУ, содержащей драйвер.
ПЗУ системной платы запрограммировано таким образом, чтобы обнаруживать ПЗУ адапте
ров и при обнаружении новых драйверов связывать соответствующие новые функции с суще
ствующей BIOS. В результате можно сказать, что ПЗУ системной платы "аккумулирует”
данные, хранящиеся в ПЗУ отдельных адаптеров, в результате чего получается "коллектив
ная” функциональность.
         Подобный метод добавления драйверов использовался для целого ряда устройств, напри
мер видеоадаптеров, которые должны быть полностью функциональны с момента включения
компьютера. Код BIOS, хранящийся в ПЗУ системной платы, содержит драйверы только для
монохромного видеоадаптера MDA компании IBM, а также цветного видеоадаптера CGA.
При установке видеоадаптера иного типа драйверы, хранящиеся в ПЗУ системной платы,
оказывались бесполезными. Конечно, это не вызывало проблем, если новый видеоадаптер
был оснащен собственной микросхемой ПЗУ, содержимое которой добавлялось в BIOS
немедленно после включения компьютера.
           Если же использовалось устройство другого типа, существовал иной способ добавления
драйвера в "коллекцию” драйверов BIOS. Дело в том, что на ранних этапах загрузки файл за
грузки операционной системы (IO.SYS) обращался к файлу конфигурации (CONFIG.SYS),
содержащему сведения о драйверах устройств. Файл CONFIG.SYS вместе со всеми указан
ными в нем драйверами должен находиться на загрузочном диске. После того как файл
IO.SYS получит необходимые данные, он загружает указанные драйверы в память и связыва
ет их с BIOS. Другими словами, драйверы загружались с диска в ОЗУ и связывались с BIOS,
благодаря чему появлялась возможность в любой момент их вызвать.
К этому моменту в BIOS оказывались данные из ПЗУ системной платы и адаптеров,
а также драйверы, загруженные с диска в ОЗУ на ранних этапах загрузки. Таким образом,
BIOS содержит данные, которые физически расположены в трех разных местах системы,
но при этом работают как одно целое, поскольку все программы связываются посредством
процедур BIOS. Операционная система или приложение при взаимодействии с какимлибо
устройством (например, при необходимости считать данные с компактдиска), обращается к
определенному программному прерыванию, после чего в соответствии с таблицей векторов
прерываний вызов направляется к определенной части BIOS (т. е. драйверу), касающейся ра
боты устройства. При этом не имеет значения, где именно хранится драйвер — в ПЗУ систем
ной платы, ПЗУ адаптера или ОЗУ.
        Итак, базовая система вводавывода — это комбинация всех типов BIOS, а также загру
жаемые драйверы устройств. Часть BIOS, содержащаяся в микросхеме на системной плате
или платах адаптеров, называется firmware (именно изза наличия этих микросхем пользова
тели чаще всего относят BIOS к аппаратной части компьютера).
По мере эволюции ПК выпускалось все больше различных типов устройств и их моделей.
Это означало необходимость предварительной загрузки все большего количества драйверов.
Добавление драйверов в ПЗУ системной платы — задача довольно сложная, поскольку мик
росхемы ПЗУ чаще всего несъемные, а их объем достаточно ограничен. Архитектура PC
предполагала использование ПЗУ системной платы объемом всего 128 Кбайт, причем боль
шая часть этого объема уже используется для хранения драйверов, процедуры POST, про
граммы BIOS Setup, а также программы загрузки. Запись драйвера в ПЗУ адаптера также
сложная и дорогостоящая задача, а объем ПЗУ адаптеров ограничен теми же 128 Кбайт, из
которых 32 Кбайт используется видеоадаптером. Поэтому многие компании решили писать
драйверы, которые загружаются в ОЗУ во время загрузки системы.
С течением времени с диска загружалось все больше и больше драйверов, в том числе таких,
которые заменяют драйверы, хранящиеся в ПЗУ системной платы. Например, в Windows 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 преимущественно располагаются в ПЗУ, а после загрузки
Windows XP — в ОЗУ системы.
        Описываемая тенденция будет развиваться и в дальнейшем. ПЗУ системной платы приме
няется на базовом этапе запуска системы для инициализации аппаратного обеспечения, а также
для реализации системы защиты в виде паролей, вводимых при запуске компьютера, и для на
чальной настройки некоторых конфигурационных параметров. Тем не менее после загрузки
операционной системы за дело берется совершенно другой набор системных драйверов.
Компьютерную систему можно представить в виде нескольких аппаратных и программ
ных слоев, которые взаимодействуют друг с другом. В целом существует четыре основных
Просмотров: 447 | Добавил: ZHORA | Теги: Основы BIOS | Рейтинг: 5.0/1
Всего комментариев: 0