BIOS концептуального ПК основан на CP/M, операционной системе, популярной на 8-битных компьютерах с шиной Z-80 на основе шины S-100 до того, как IBM PC вступил во владение.
CP/M ожидал, что аппаратно-зависимые функции будут в ПЗУ (BIOS). Другой частью, загруженной с диска загрузчиком, было программное обеспечение, поддерживающее файловую систему CP/M (BDOS), а затем последний командный процессор или "оболочку" (CCP). Ожидается, что аппаратное обеспечение, которое CP/M будет поддерживать, было не очень большим: дисковод, дисплей, последовательный порт или два (порты COM или AUX), к которым могли быть подключены принтеры или модемы.
BIOS ПК выполнял базовую функцию начальной загрузки, аналогичную тому, как это делал CP/M, а DOS использовал функции BIOS для выполнения базового ввода-вывода, как и предполагалось. Программисты в конечном итоге обошли эти функции, поскольку они были медленными. Это привело к тому, что производители клонов ПК в середине 80-х годов воссоздали платформу в целом (легко, поскольку IBM очень хорошо документировала исходный ПК изнутри и снаружи), вместо того, чтобы просто предоставлять BIOS с совместимыми интерфейсами, хотя они тоже должны были это делать.
На данный момент мы можем сказать, что для современной ОС BIOS на самом деле не нужен, кроме загрузки системы. Тем не мение ...
Начиная с начала 90-х годов понятие управления питанием утвердилось, и BIOS был поставлен перед этим. APM хорошо работает с однозадачной ОС, такой как DOS, но не с настоящими многозадачными ОС, такими как Windows или Linux. Примерно в это время 386 был в полную силу, процессор Intel, который поддерживал настоящую многозадачность. DOS и BIOS не были обновлены в ответ на новые возможности этого ЦП, главным образом потому, что все ЦП Intel будут по-прежнему работать в устаревшем 16-разрядном режиме совместимости, для которого был разработан оригинальный PC-BIOS. Поэтому современные операционные системы в значительной степени игнорируют / игнорируют все функции ввода / вывода, подобные CP / M, в BIOS, за исключением, возможно, ранних этапов загрузки.
В конце концов был разработан ACPI, в основном часть BIOS, которая поддерживала управление питанием и настройку (часто для ноутбуков) платформных вещей. ACPI также обрабатывает конечное состояние переключения питания в режиме гибернации, сна или выключения.
Таким образом, в наши дни именно ACPI и его преемник, EFI, делают что-то вроде BIOS необходимостью для ПК. Общая концепция заключается в том, чтобы ACPI был интерфейсом между вещами, специфичными для платформы или материнской платы, и ОС, поэтому отдельная сборка ОС не должны быть сделаны для каждого типа материнской платы.
Проблемы с платами разработки, на которых размещены процессоры ARM под управлением Linux (а также оборудования для сотовых телефонов). Обычно они поставляются с микропрограммой только для загрузчика, такой как U-boot, но в значительной степени ОС должна поддерживать каждую плату как отдельную платформу.