BIOS: различия между версиями
>Peter lemenkov (Добавил новость о еще одном производителе, ограничивающем своих пользователей с помощью BIOS) |
>Peter lemenkov (Добавил ссылку на очень крутой bootkit и на утилиту bios_extract) |
||
Строка 1: | Строка 1: | ||
{{болванка}} | {{болванка}} | ||
− | + | == Что это такое, и зачем нужно? == | |
'''BIOS''' расшифровывается, как Basic Input-Output System, т.е. Базовая Система Ввода-Вывода. Так иногда называют небольшую программу ([[Firmware|firmware]]), которая выполняется сразу после включения компьютера архитектуры x86. Ее предназначение — найти оборудование, проверить его функциональность (насколько это возможно) и произвести предстартовую настройку перед запуском операционной системы. В процессе работы BIOS должен найти и настроить следующие элементы x86-системы: | '''BIOS''' расшифровывается, как Basic Input-Output System, т.е. Базовая Система Ввода-Вывода. Так иногда называют небольшую программу ([[Firmware|firmware]]), которая выполняется сразу после включения компьютера архитектуры x86. Ее предназначение — найти оборудование, проверить его функциональность (насколько это возможно) и произвести предстартовую настройку перед запуском операционной системы. В процессе работы BIOS должен найти и настроить следующие элементы x86-системы: | ||
Строка 12: | Строка 12: | ||
* Устройства ввода-вывода | * Устройства ввода-вывода | ||
− | Все это было очень важно в прошлом веке, в 1980е годы. Тогда эти функции BIOS были жизненно необходимы для запуска DOS, которая мало что умела делать с оборудованием сама по себе. Прошло время, и для запуска современных операционных систем уже не нужно инициализировать PCI-устройства и клавиатуру (например, для старта [[Linux]] нужно лишь инициализировать кэш-память, микропроцессор, память, загрузить ядро и передать ему управление) — они умеют это делать сами. Учитывая тот факт, что BIOS так и работает в 16-битном режиме, с адресным пространством в 1 мегабайт, и с надуманными зависимостями от оборудования PC AT, все большее количество оборудования переводят под управление современных альтернатив, таких как [[OpenFirmware]], [[UEFI]] или [[LinuxBIOS]]. | + | Все это было очень важно в прошлом веке, в 1980е годы. Тогда эти функции BIOS были жизненно необходимы для запуска DOS, которая мало что умела делать с оборудованием сама по себе. Прошло время, и для запуска современных операционных систем уже не нужно инициализировать PCI-устройства и клавиатуру (например, для старта [[Linux]] нужно лишь инициализировать кэш-память, микропроцессор, память, загрузить ядро и передать ему управление) — они умеют это делать сами. Учитывая тот факт, что BIOS так и работает в 16-битном режиме, с адресным пространством в 1 мегабайт, и с надуманными зависимостями от оборудования PC AT, все большее количество оборудования переводят под управление современных альтернатив, таких как [[OpenFirmware]], [[UEFI]] или [[Coreboot|Coreboot (бывший LinuxBIOS)]]. |
− | На рынке BIOS безраздельно господствуют две мегакомпании AMI и Phoenix, и несколько контор поменьше. Они лицензируют свои версии BIOS производителям материнских плат, которые за | + | == Производители BIOS == |
+ | На рынке BIOS безраздельно господствуют две мегакомпании AMI и Award/Phoenix, и несколько контор поменьше. Они лицензируют свои версии BIOS производителям материнских плат, которые за огромные деньги получают набор 16-битных [[BLOB]]'ов, которые можно немного поправить (вставить свою картинку, поменять тексты кое-где и т.п.). Все это приводит к глюкам, которые, т.к. код закрыт, пользователь исправить не может. | ||
+ | == Почему производители оборудования выбирают проприетарный BIOS == | ||
Сам факт того, что BIOS закрыт, и пользователь его не может никак изменить, пьянит голову некоторым недобросовестным производителям, которые могут программно блокировать некоторые функции оборудования (чтоб пользователи покупали более дорогие устройства). Например, простой канадский паренек John купил себе материнскую плату и с удивлением узнал, что одна из функций его новенького микропроцессора [http://thread.gmane.org/gmane.linux.bios/24211/focus=24227 запрещена на уровне BIOS]. Так поступают самые разные производители, например Hewlett Packard. На недоуменные вопросы пользователей представители компаний отмахиваются [http://forums11.itrc.hp.com/service/forums/bizsupport/questionanswer.do?threadId=1051601 отсутствием спроса или недостаточным тестированием]. | Сам факт того, что BIOS закрыт, и пользователь его не может никак изменить, пьянит голову некоторым недобросовестным производителям, которые могут программно блокировать некоторые функции оборудования (чтоб пользователи покупали более дорогие устройства). Например, простой канадский паренек John купил себе материнскую плату и с удивлением узнал, что одна из функций его новенького микропроцессора [http://thread.gmane.org/gmane.linux.bios/24211/focus=24227 запрещена на уровне BIOS]. Так поступают самые разные производители, например Hewlett Packard. На недоуменные вопросы пользователей представители компаний отмахиваются [http://forums11.itrc.hp.com/service/forums/bizsupport/questionanswer.do?threadId=1051601 отсутствием спроса или недостаточным тестированием]. | ||
== Проблемы с проприетарными BIOS'ами == | == Проблемы с проприетарными BIOS'ами == | ||
− | |||
* [http://thread.gmane.org/gmane.linux.bios/24211/focus=24227 Проприетарный BIOS запрещает виртуализационные функции микропроцессора] | * [http://thread.gmane.org/gmane.linux.bios/24211/focus=24227 Проприетарный BIOS запрещает виртуализационные функции микропроцессора] | ||
* [http://forums11.itrc.hp.com/service/forums/bizsupport/questionanswer.do?threadId=1051601 Запрет на использование аппаратной виртуализации в BIOS от HP] | * [http://forums11.itrc.hp.com/service/forums/bizsupport/questionanswer.do?threadId=1051601 Запрет на использование аппаратной виртуализации в BIOS от HP] | ||
Строка 30: | Строка 31: | ||
* [http://www.rom.by/article/A_kto_upravljaet_Vashim_kompjuterom А кто управляет вашим компьютером?] | * [http://www.rom.by/article/A_kto_upravljaet_Vashim_kompjuterom А кто управляет вашим компьютером?] | ||
+ | * На ежегодной конференции Black Hat [http://it.slashdot.org/story/09/08/01/2247225/Bootkit-Bypasses-TrueCrypt-Encryption?from=rss был продемонстрирован] bootkit, находящийся в BIOS и успешно преодолевающий шифрование Truecrypt. | ||
+ | * [http://cgit.freedesktop.org/~libv/bios_extract bios_extract] - свободная утилита для распаковывания многих форматов проприетарных BIOS. | ||
+ | |||
+ | == См. также == | ||
+ | |||
+ | * [[Coreboot]] | ||
+ | * [[Firmware]] | ||
+ | |||
[[Категория:Компьютерные термины]] | [[Категория:Компьютерные термины]] |
Версия от 08:51, 2 августа 2009
![]() |
Это незавершённая статья. Вы можете помочь проекту, исправив и дополнив её. |
Что это такое, и зачем нужно?
BIOS расшифровывается, как Basic Input-Output System, т.е. Базовая Система Ввода-Вывода. Так иногда называют небольшую программу (firmware), которая выполняется сразу после включения компьютера архитектуры x86. Ее предназначение — найти оборудование, проверить его функциональность (насколько это возможно) и произвести предстартовую настройку перед запуском операционной системы. В процессе работы BIOS должен найти и настроить следующие элементы x86-системы:
- Генератор тактовых импульсов
- Микропроцессор и кэш-память
- Базовый набор микросхем (chipset)
- Память
- PCI-устройства
- Графический контроллер
- Устройства хранения данных
- Устройства ввода-вывода
Все это было очень важно в прошлом веке, в 1980е годы. Тогда эти функции BIOS были жизненно необходимы для запуска DOS, которая мало что умела делать с оборудованием сама по себе. Прошло время, и для запуска современных операционных систем уже не нужно инициализировать PCI-устройства и клавиатуру (например, для старта Linux нужно лишь инициализировать кэш-память, микропроцессор, память, загрузить ядро и передать ему управление) — они умеют это делать сами. Учитывая тот факт, что BIOS так и работает в 16-битном режиме, с адресным пространством в 1 мегабайт, и с надуманными зависимостями от оборудования PC AT, все большее количество оборудования переводят под управление современных альтернатив, таких как OpenFirmware, UEFI или Coreboot (бывший LinuxBIOS).
Производители BIOS
На рынке BIOS безраздельно господствуют две мегакомпании AMI и Award/Phoenix, и несколько контор поменьше. Они лицензируют свои версии BIOS производителям материнских плат, которые за огромные деньги получают набор 16-битных BLOB'ов, которые можно немного поправить (вставить свою картинку, поменять тексты кое-где и т.п.). Все это приводит к глюкам, которые, т.к. код закрыт, пользователь исправить не может.
Почему производители оборудования выбирают проприетарный BIOS
Сам факт того, что BIOS закрыт, и пользователь его не может никак изменить, пьянит голову некоторым недобросовестным производителям, которые могут программно блокировать некоторые функции оборудования (чтоб пользователи покупали более дорогие устройства). Например, простой канадский паренек John купил себе материнскую плату и с удивлением узнал, что одна из функций его новенького микропроцессора запрещена на уровне BIOS. Так поступают самые разные производители, например Hewlett Packard. На недоуменные вопросы пользователей представители компаний отмахиваются отсутствием спроса или недостаточным тестированием.
Проблемы с проприетарными BIOS'ами
- Проприетарный BIOS запрещает виртуализационные функции микропроцессора
- Запрет на использование аппаратной виртуализации в BIOS от HP
- Проприетарный BIOS не может работать с RAID-массовом более 2 TB
- Компания Foxconn признает, что в ее проприетарном BIOS есть ошибки, но отказывается их исправлять
- Производитель Lenovo с помощью BIOS запрещает установку в свои ноутбуки "неавторизованных" Mini-PCIe карт расширения.
- Производитель Hewlett-Packard на уровне BIOS запрещает смену Wi-Fi карт с своем ноутбуке.
Ссылки
- А кто управляет вашим компьютером?
- На ежегодной конференции Black Hat был продемонстрирован bootkit, находящийся в BIOS и успешно преодолевающий шифрование Truecrypt.
- bios_extract - свободная утилита для распаковывания многих форматов проприетарных BIOS.