Какова функция BIOS в современной ОС? Это все еще используется после начальной загрузки? И есть ли некоторый API BIOS?
BIOS по-прежнему остается первым, что запускается на только что запущенном процессоре и отвечает за включение оборудования материнской платы, установку основных режимов набора микросхем и регистров, инициализация некоторого оборудования и запуск кода, загружающего ядро.
BIOS обычно не используется после загрузки ядра и зависит от 16-разрядной среды выполнения, в отличие от 32- или 64-разрядной среды защищенного режима, в которой работает современное ядро.
Загрузчик Обычно для загрузки ядра в память требуются вызовы ввода-вывода BIOS. BIOS заменяется даже в этой роли на более новое программное обеспечение времени загрузки, такое как Coreboot , чтобы обеспечить более быстрое время загрузки. EFI однажды заменит традиционный BIOS и, надеюсь, загрузчик, передавая управление непосредственно ядру после его загрузки из хранилища.
Обнаруженная конфигурация оборудования, настройки диапазона памяти и таблицы метаданных ACPI, вероятно, являются единственными данными на основе BIOS, используемыми ОС после загрузки ядра. Любой исполняемый код ACPI кодируется как машинный язык ACPI и интерпретируется ОС.
Любая хорошая традиционная книга по программированию на ассемблере MS-DOS будет включать информацию об интерфейсе программирования BIOS. Ознакомьтесь с Искусство ПРОГРАММИРОВАНИЯ ЯЗЫКА СБОРКИ
Самым большим преимуществом контроля ОС над BIOS сейчас является управление переменными аппаратного уровня, такими как скорость вентилятора, датчики температуры и т. Д.