2

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

В чем разница между контроллерами SATA, так что им нужен конкретный драйвер AHCI?

Есть ли в BIOS "драйвер" для работы и загрузки с жесткого диска SATA(в режиме AHCI)?

1 ответ1

4

Прежде всего, BIOS включает драйвер для вашего встроенного контроллера AHCI. И в случае, если контроллер находится не на плате, а на плате PCI, карта предоставит дополнительное ПЗУ PCI, содержащее драйвер BIOS для контроллера.

Если ваша прошивка поддерживает UEFI, она (или дополнительное ПЗУ) также будет включать в себя драйвер UEFI для контроллера.

То же самое верно для всех других компонентов, с которых может загружаться ваш компьютер (например, обычно USB, CD-ROM, проводная сеть). Другие компоненты обычно вообще не имеют драйверов BIOS/UEFI.

Операционные системы могут использовать драйверы BIOS или UEFI (например, DOS или Windows 95), но большинство современных операционных систем пытаются избежать хлопот и обходят ограничения драйверов BIOS и вместо этого используют свой собственный формат драйверов.

Общие ограничения драйверов BIOS:

  • обычно плохая производительность чтения и даже более низкая производительность записи
  • поддерживается только если активирован только первый процессор / ядро
  • работает только в 16-битном режиме (что подразумевает однозадачность и 640 КБ адресуемой памяти)
  • работает только в том случае, если очищен шлюз A20 (что означает адресную память 1 МБ)

Это означает, что во время загрузки современным ОС придется многократно переключаться между 16-битным и 32-битным /64-битным однозадачным режимом и многократно переключать шлюз A20 до тех пор, пока они не прочитают ядро ОС и, по крайней мере, драйвер диска в высокий уровень. память (640K сегодня обычно недостаточно); затем они переключатся в многозадачный режим и продолжат загрузку остальной части ОС, используя загруженное ядро и драйвер диска.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .