Домашняя » как » Что делает мой BIOS после загрузки?

    Что делает мой BIOS после загрузки?

    Как только ваш компьютер завершит процесс загрузки, и вы будете твердо в гудении операционной системы, остается ли что-нибудь, что BIOS может сделать?

    Сегодняшняя сессия Вопросов и Ответов приходит к нам благодаря SuperUser - подразделению Stack Exchange, групповой группе веб-сайтов вопросов и ответов..

    Вопрос

    Читатель SuperUser Индрек задает этот вопрос, связанный с BIOS:

    Мне всегда было интересно, имеет ли BIOS (кроме проведения POST, запуска загрузчика и передачи управления ОС после нажатия кнопки питания) какое-либо назначение или функцию во время работы операционной системы?

    Связывается ли операционная система с BIOS во время работы, и если да, то как?

    В самом деле? Какую функцию выполняет BIOS, кроме ее критической роли при запуске компьютера??

    Ответы

    Предоставлено автором SuperUser Mechanical Snail, обзор того, как роль BIOS менялась с течением времени и что он делает и чего не делает сегодня: 

    Роль BIOS

    С современными ОС, практически нет. Линус Торвальдс по сообщениям сказал, что его задача состоит в том, чтобы «просто загрузить ОС и убраться оттуда».

    Старые операционные системы, такие как MS-DOS, полагались на BIOS для многих задач (например, доступа к диску), вызывая прерывания.

    В современных ОС загрузчик быстро переключается в 32- или 64-разрядный режим и запускает ядро ​​ОС. Ядро может регистрировать свои собственные обработчики прерываний, которые могут вызываться приложениями пользовательского пространства. Подпрограммы ядра могут быть более переносимыми (поскольку они не зависят от конкретного оборудования), более гибкими (поставщики ОС могут менять их по требованию, а не использовать все, что поставляется с оборудованием), более сложными (они могут выполнять произвольно сложные код, а не то, что было запрограммировано в BIOS), и более безопасный (поскольку ОС может контролировать доступ к общим ресурсам и предотвращать сбои программ друг с другом, реализуя собственные схемы произвольных разрешений).

    Для взаимодействия с конкретным оборудованием ОС могут загружать и использовать собственные драйверы устройств. Так что ОС или приложениям вообще не нужно вызывать большинство подпрограмм BIOS. На самом деле, из соображений безопасности, прерывания BIOS даже отключены. Поскольку BIOS работает в 16-битном реальном режиме, современные операционные системы сложнее назвать.

    Хотя использование BIOS очень ограничено во время работы ОС, его функции все еще используются на периферии. Например, когда компьютер спит, операционная система не работает, и в конечном итоге она переходит к встроенному программному обеспечению для установки аппаратного обеспечения в правильное состояние для приостановки и возобновления работы операционной системы. Такое использование обычно ограничено ACPIcalls, а не вызовами полного интерфейса BIOS. ACPI - это расширение BIOS, которое «обеспечивает управление питанием под управлением операционной системы (OSPM), в отличие от предыдущей центральной системы BIOS, которая использовала встроенное ПО для платформы для определения политики управления питанием и конфигурации»..

    Обратите внимание, что официально «BIOS» относится к конкретному интерфейсу прошивки, но этот термин обычно используется для обозначения прошивки компьютера в целом. Некоторые недавние компьютеры (особенно Apple) заменили BIOS (Senseu Sturiu) на UEFI, что, конечно, то, что называется для реализации этих функций.

    Для получения дополнительной информации о том, как роль BIOS со временем уменьшилась, см. Википедию.

    Другой участник SuperUser, Саймон Рихтер, дает нам обзор того, что еще делает BIOS: 

    BIOS и управление питанием

    BIOS предоставляет операционным системам ряд сервисов, большинство из которых связаны с управлением питанием:

    • изменение тактовой частоты процессора и шины
    • включение / отключение материнских плат
    • контроль мощности порта расширения
    • приостановить на диск и приостановить на RAM
    • возобновить настройки событий

    Suspend-to-disk реализован в ОС в большинстве случаев, так как ОС может быстрее восстанавливать свое состояние (перезагружается только состояние ядра, а при необходимости меняется состояние программы, что значительно быстрее, чем перезагрузка всей оперативной памяти), но функция остается в спецификации.

    Операция Suspend-to-RAM не может быть реализована ОС, так как она полагается на то, что BIOS пропускает инициализацию и тестирование RAM, поэтому ОС требуется API, чтобы сообщить BIOS, что она собирается возобновить работу с текущим содержимым RAM. Чтобы предоставить эту услугу, BIOS просит ОС оставить определенную область ОЗУ без изменений.

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


    Есть что добавить к объяснению? Звук выключен в комментариях. Хотите узнать больше ответов от других технически подкованных пользователей Stack Exchange? Ознакомьтесь с полным обсуждением здесь.