BIOS (Basic Input-Output System - базовая система ввода-вывода) – это программа, прошитая в постоянное запоминающее устройство (ПЗУ). ПЗУ встроено в материнскую плату, однако своя версия BIOS присутствует почти во всех элементах ЭВМ (в видеокарте, в сетевой карте, дисковых контроллерах и т.д.), да и вообще почти во всем электронном оборудовании (и в принтере, и в видеокамере, и в модеме, и т.д.).
Аппаратно базовая система ввода/вывода представляет собой элемент памяти ёмкостью 64 Кбайт, установленный 28 ножками в DIP-разъём на материнской плате.
Ведущими изготовителями являются фирмы AMI, Award, Phoenix, но функции, выполняемые BIOS, не зависят от изготовителя.
В ROM BIOS (Read Only Memory Basic Input Output System) выполняются три основные функции (обозначение ROM расшифровывается, как «память для чтения»).
1. Предоставление ОС аппаратных драйверов и осуществление сопряжения между материнской платой и остальными средствами РС.
2. Содержится тестовая программа проверки системы POST (Power On Self Test), которая при включении РС проверяет все важнейшие компоненты.
3. Содержится программа CMOS Setup (Complementary Metal Oxide Semiconductor – сокращённое название полупроводника) для установки параметров BIOS и аппаратной конфигурации РС.
В BIOS содержится набор основных функций управления стандартными внешними устройствами ПК.
Все изменения в конфигурации записываются в CMOS RAM (Random Access Memory). Её емкость 100 – 129 байт. Она расположена в контроллере периферии, имеющем автономное питание.
Базовая система ввода/вывода BIOS является ключевым элементом системной платы, без которой её компоненты – набор железа, т.к. BIOS управляет всеми компонентами и ресурсами системной платы.
|
Используемая версия BIOS очень сильно привязана к чипсету и должна знать особенности используемых компонентов.
Код BIOS хранится в микросхеме энергозависимой постоянной памяти (ROM BIOS), но здесь тип носителя значения не имеет, хотя, с точки зрения модифицируемости, флэш-память имеет явное преимущество – возможность модернизации прямо в компьютере.
Тип носителя указан под наклейкой микросхемы:
а) 28 Fxxx – флэш-память с напряжением 12 В;
б) 29 Cxxx – флэш-память с напряжением 5 В;
в) 29 LVxxx – флэш-память с напряжением 3 В (редкая);
г) 28 Cxxx – EEPROM – близка по свойствам к флэш-памяти;
д) 27 Cxxx – EPROM, записываемая на программаторе и стираемая ультрафиолетом (если есть стеклянное окно);
е) PH 29 EE 010 – ROM фирмы SST, перезаписывается аналогично флэш-памяти;
ж) 29 EE 011 – флэш-память с напряжением 5 В фирмы Winbond;
з) 29 C 010 – флэш-память с напряжением 5 В фирмы Atmel.
Новую версию BIOS лучше получать от изготовителя системной платы во избежание сбоев. Если поставили новую микросхему с BIOS, и система не работает, то необходимо использовать ряд системных плат с режимом восстановления (Boot Block Recovery). Для этого на плате надо использовать переключатель или джампер. В режиме восстановления работает только дисковод, в который необходимо установить специальную дискету с файлом-образом ROM BIOS.
Иногда режим восстановления включается автоматически (Boot Block, получая управление в начале POST, оценивает корректность основного блока ПЗУ и при необходимости включает режим восстановления).
Но если это не спасает, то есть еще режим «горячей замены» ROM BIOS, т.е. из работоспособной системной платы извлекают BIOS и устанавливают вместо испорченной, включают и загружают компьютер, как для режима перезаписи BIOS.
|
Далее, не выключая питания, ставят неверно записанную микросхему и выполняют процедуру перезаписи. Компьютер должен работать, поскольку код BIOS исполняется из теневой области ОЗУ.
Содержимое BIOS может испортить вирус или отладчик DEBUG, т.к. парольная защита перезаписи может быть взломана, а надёжная аппаратная защита есть не у всех микросхем энергозависимой памяти и системных плат.
POST – это самостоятельный тест, который поможет при идентификации ошибок, если в РС установили новую материнскую плату.
При прохождении POST на экране монитора появляются два типа сообщений: информационное и сообщение об ошибках.
Первое сообщение указывает версию производителя BIOS и производителя материнской платы, Chipset, информацию об объёме установленной памяти, подключенных устройствах. Второе даёт сообщение об ошибке в устройстве в виде векторов прерываний.
Подытожим:
BIOS материнской платы отвечает за проверку работоспособности контроллеров, встроенных в материнскую плату, и большинства устройств, подключенных к ней. Происходит проверка при включении питания компьютера в программе Power-On Self Test (POST). Далее BIOS производит инициализацию контроллеров, встроенных в материнскую плату, и некоторых подключенных к ним устройств, и устанавливает их базовые параметры работы. Если проверяемые контроллеры и аппаратура исправны и настроены, то BIOS передает управление операционной системе.
|
Пользователи могут управлять большинством параметров работы BIOS и даже обновлять его.
Обновление BIOS требуется очень редко, если, например, разработчиками обнаружена и устранена принципиальна ошибка в программе инициализации какого-либо из устройств, либо если требуется поддержка нового устройства (например, новой модели процессора). Но, в большинстве случаев, выход нового типа процессора или памяти требует кардинального обновления (upgrade, «абгрейда») компьютера.
Для настройки параметров BIOS предусмотрено специально меню, войти в которое можно, нажав сочетание клавиш, указанное на экране монитора во время проведения тестов POST. Обычно для входа в меню настройки BIOS требуется нажать клавишу DEL.
В этом меню можно установить системное время, параметры работы дисководов и жестких дисков, увеличить (или уменьшить) тактовую частоту процессора, памяти и системной шины, шин связи и настроить другие параметры работы компьютера. Однако тут стоит быть крайне осторожным, так как неправильно установленные параметры могут привести к ошибкам в работе или даже вывести компьютер из строя.
Все настройки BIOS хранятся в энергозависимой памяти CMOS, работающей от батарейки или аккумулятора, установленного на материнской плате. Если батарейка или аккумулятор разрядились, то компьютер может не включиться или работать с ошибками. Например, будет установлено неверное системное время или параметры работы некоторых устройств.
UEFI и EFI
Приблизительно 25 лет назад BIOS предназначался для запуска операционной системы. Первый компьютеры использовали перфокарты в качестве загрузочного средства, после чего они были заменены ROM с простым интерпретатором. Сегодня можно выбирать множество загрузочных средств, таких как дискеты, жёсткие диски, оптические приводы и сетевые ресурсы. Но работа с компонентами всё равно выполняется операционной системой через драйверы устройств
Unified Extensible Firmware Interface (UEFI) представляет собой более мощную версию BIOS, которая лучше соответствует требованиям современного разнообразного "железа". По своей сути, UEFI является интерфейсом, который отвечает за предзагрузочное окружение операционной системы.
Intel представила EFI в 2003 году с архитектурой Itanium IA64 под названием Boot Initiative. Концепция затем была передана Unified EFI Forum, который доработал и стал продвигать новый стандарт для всей индустрии. AMD, AMI, Apple, Dell, HP, IBM, Insyde, Intel, Lenovo, Microsoft и Phoenix - все эти компании сегодня можно назвать лидерами рынка. BIOS построен на архитектуре x86 в 16-битном режиме, однако UEFI добавляет полную аппаратную независимость и разделение интерфейса на загрузочные службы и runtime-службы (службы времени исполнения программ). Целью является высокая степень стандартизации, и вместе с тем предоставление достаточной гибкости для производителей, чтобы они дифференцировали свои продукты.
В отличие от BIOS EFI обеспечивает поддержку драйверов, независимых от ОС, с помощью собственной модели драйверов, то есть фактически EFI – мини-операционная система. Технология BIOS никогда не предусматривала современного разнообразия "железа". Этого недостатка, естественно, уже лишена UEFI.
EFI - это программный интерфейс, который работает между операционной системой и прошивкой платформы, что позволяет заменить BIOS. На самом деле, EFI достаточно сложный, чтобы можно было называть его похожим на собственную ОС. Он не только предлагает поддержку драйверов, интерфейсов и служб, но также имеет оболочку, в которой пользователи могут выполнять приложения посредством интерфейса командной строки.
EFI содержит системную информацию, организованную в виде таблиц, здесь есть загрузочные и runtime-службы внутренней операционной системы. Загрузочные службы включают инициализацию, файловые службы и другие подобные, а также текстовые и графические консоли пользователя. Runtime-службы включают сервисы даты, времени и NVRAM. Для поддержки связи между устройствами все драйверы и компоненты EFI поддерживают связь через специальные протоколы. Драйверы тоже очень важны, поскольку окружение устройств EFI (EFI Byte Code, EBC), является независимым от процессора, обеспечивающим как инициализацию, так и работу устройств (за исключением специфического для ОС "железа" с особыми функциями и требованиями поддержки, например, high-end видеокарт).
EFI реализует собственный загрузчик, отвечающий за эту задачу. У сборщиков систем появляются новые возможности, поскольку можно добавлять расширения EFI из разной энергонезависимой памяти. Это означает, что производитель ПК может использовать материнскую плату и платформу по желанию потребителя, добавляя при этом дополнительные системные функции через EFI, например, через раздел на системном жёстком диске или через закачку в Интернете.
Поскольку функция инициализации платформы EFI (Platform Initialization, PI) предлагает режим совместимости Compatibility Support Mode (CSM), через который можно публиковать дополнительные интерфейсы, можно предоставить и наследственный BIOS. Учитывая преимущества, скорая поддержка UEFI оказывается весьма привлекательной для производителей.
многие версии BIOS понятны только технически подкованным пользователям (верхний рисунок). Преемник BIOS (нижний рисунок) выглядит гораздо более привлекательно. |
Разрабатывая BIOS, программисты не задумывались о том, в течение какого времени будет использоваться эта система. Поэтому многие технические нововведения пришлось интегрировать в BIOS «задним числом». Однако в этой базовой системе есть несколько компонентов, изменение которых невозможно либо связано с весьма большими трудностями. Приведем пример: современные 3,5-дюймовые жесткие диски могут хранить уже до 3 Тб данных. В то же время BIOS (без специальных ухищрений) способна распознать диск емкотью лишь до 2 Тб. В UEFI подобных ограничений нет. Притом новая система предоставляет единый интерфейс программирования – это облегчает разработку программ, запускаемых до загрузки операционной системы. Кроме того, UEFI позволяет интегрировать дополнительные функции, например программу резервного копирования данных. Наконец, в UEFI отсутствуют некоторые технически устаревшие функции, имеющиеся в BIOS.
Операционные системы начали поддерживать новый дизайн интерфейса платформ в 2007 году, но большинство версий Windows, таких как Vista with SP1 и Server 2008, предлагают поддержку только в 64-битных версиях. Все современные операционных систем (Windows, Linux, OS X) поддерживают загрузку через UEFI.
Однако, если использование UEFI на момент написания (март 2013 года) в Mac OS X (загрузочный менеджер Bootcamp) и Linux достаточно поверхностное, в Windows 8 преимущества среды UEFI уже можно использовать более полно: одно из главных преимуществ – возможность безопасной загрузки (safe boot) – технологии, позволяющей предотвратить выполнение нежелательных программ во время инициализации компьютера. Благодаря UEFI Windows 8 можно устанавливать на диски объёмом 3 ТБ и больше, и, соответственно, загружаться с этих дисков. Использование UEFI вместо BIOS, – это один из ключевых компонентов, обеспечивающих быструю загрузку Windows 8 (код UEFI работает быстрее за счет того, что целиком писался с нуля, без необходимостей тянуть за собой шлейф древних правил и совместимостей). Однако, на данный момент UEFI поддерживается только в 64 разрядной версии Windows 8. 32-битные версии Windows не поддерживают функции UEFI (на новых компьютерах этой ОС придется работать в режиме эмуляции CSM).
Windows 8 для ARM (Windows RT) не будет работать на оборудовании, не поддерживающем UEFI, или позволяющим отключить Secure Boot.