Почему BIOS включает защищенный режим?
Я проводил лабораторные работы по mit6.828, и мне очень любопытно, почему BIOS включает защищенный режим, а затем отключает его (поскольку загрузчик должен запускаться в реальном режиме)?
1 ответ
Большинство современных BIOS основаны на UEFI. А UEFI BIOS довольно велик на современных платформах — это сложные части аппаратного обеспечения, требующие большого количества инициализации (даже самая базовая настройка процессора и памяти нетривиальна). Следовательно, код вышел за пределы того, что может (легко) обрабатывать реальный режим.
Когда платформа затем настроена на использование CSM и запускается в устаревшем режиме BIOS, у нее нет другого выбора, кроме как переключиться в реальный режим перед передачей управления любому устаревшему дополнительному ПЗУ (но обратите внимание, что ЦП остается в так называемом «большом» реальном режиме, согласно спецификации PCI для дополнительных дисков) или устаревший загрузчик.
Если вы остаетесь в режиме загрузки UEFI — нет необходимости в таком переключении, как загрузка, если она выполняется еще одним бинарником UEFI.