Как BIOS используется современной ОС?

Какова функция BIOS в современной ОС? Он все еще используется после загрузки? И есть ли какой-то API BIOS?


person compie    schedule 29.03.2010    source источник


Ответы (3)


BIOS по-прежнему является первой вещью, которая запускается на только что запущенном ЦП и отвечает за включение оборудования материнской платы, настройку основных режимов и регистров набора микросхем, инициализацию некоторых аппаратных средств и запуск кода, загружающего ядро.

BIOS обычно не используется после загрузки ядра и зависит от 16-разрядной среды выполнения, в отличие от 32- или 64-разрядной среды защищенного режима, в которой работает современное ядро.

Загрузчику обычно требуются вызовы ввода-вывода BIOS для загрузки ядра в память. BIOS заменяется даже в этой роли более новым программным обеспечением времени загрузки, таким как Coreboot, чтобы обеспечить более быструю время загрузки. EFI однажды заменит традиционный BIOS и, надеюсь, загрузчик, передав управление непосредственно ядру после его загрузки из хранилища.

Обнаруженная конфигурация оборудования, настройки диапазона памяти и таблицы метаданных ACPI, вероятно, являются единственными данными на основе BIOS, используемыми ОС после загрузки ядра. Любой исполняемый код ACPI закодирован как машинный язык ACPI и интерпретируется операционной системой.

Любая хорошая традиционная книга по программированию на ассемблере MS-DOS будет содержать информацию об интерфейсе программирования BIOS. Ознакомьтесь с Искусство программирования на языке ASSEMBLY

person Joe Koberg    schedule 29.03.2010
comment
Много кода BIOS также выполняется во время управления питанием, при переходе в режим ожидания и выходе из него. (Не является явной частью ACPI, но код встроен в обработчики SMI, которые вызываются во время событий ACPI.) - person myron-semack; 29.03.2010

Я писал BIOS для ноутбуков несколько лет. BIOS делает много вещей во время работы ОС.

Основная задача — информировать ОС, когда происходит много событий, чтобы ОС могла выглядеть умной (как будто она каким-то образом сама разобралась с этими вещами). Например, BIOS сообщает операционной системе, когда: нажата кнопка питания, вставлены или извлечены батареи, подключено или отключено питание переменного тока, система подключается к док-станции или отключается от нее, вставляются жесткие диски и/или оптические приводы определенных типов. или удалены.

Большинство портативных компьютеров имеют функции, к которым вы можете получить доступ или управлять ими с помощью клавиш Fn и приложений уровня ОС, предоставляемых производителями. BIOS реагирует на эти горячие клавиши и имеет код для взаимодействия с приложениями уровня ОС. В эту категорию попадают такие функции, как управление яркостью экрана (которую некоторые операционные системы хотят отобразить для управления) или управление мигающими светодиодами.

Пожалуй, самая важная задача BIOS — выключение системы при удержании кнопки питания более 4 секунд (для восстановления после зависания ОС!).

person ReluctantBIOSGuy    schedule 04.05.2011
comment
Если эта практика все еще используется, не могли бы вы объяснить, как для начала выполнение входит в BIOS? В современных операционных системах это кажется невозможным, если ОС специально не потрудится сделать вызовы в BIOS. - person R.. GitHub STOP HELPING ICE; 07.06.2011
comment
@R: обычно для этого используется SMI. Проверьте режим управления системой (en.wikipedia.org/wiki/System_Management_Mode) для получения дополнительной информации. - person Atempcode; 30.12.2011

Самым большим преимуществом контроля ОС над BIOS сейчас является управление переменными аппаратного уровня, такими как скорость вращения вентилятора, датчики температуры и т. д.

person dmanexe    schedule 29.03.2010