Оскільки для завантаження все ще потрібно, мені цікаво, що в 64-бітній системі x64 / AMD64 чи BIOS все ще використовує 16-бітні інструкції? Він також працює в реальному режимі?
Оскільки для завантаження все ще потрібно, мені цікаво, що в 64-бітній системі x64 / AMD64 чи BIOS все ще використовує 16-бітні інструкції? Він також працює в реальному режимі?
Відповіді:
Процесори x86 все ще запускаються в реальному режимі. Біоси можуть вільно (а іноді й змушувати) переходити до захищених чи тривалих режимів під час ініціалізації свого обладнання, але коли вони передають управління операційній системі (а точніше її завантажувачу), вони повинні повернутися до реального режиму, тому що саме це ці навантажувачі очікують, що система буде працювати.
coreboot та UEFI досить рано переходять у захищений режим, тоді як для PCBIOS (фенікс / нагорода, амі тощо) ми не можемо сказати. Вони з закритим джерелом і, як правило, не розповідають багато про своє внутрішнє середовище, а їх інтерфейси визначаються як реальний режим.
Для систем, що працюють з оперативною пам’яттю ECC, ви можете бути досить впевненими, що вони переходять у деякий режим, який здатний адресувати всю оперативну пам’ять, тому вони переходять принаймні в захищений режим - це тому, що їм потрібно ініціалізувати пам'ять (запишіть якесь значення на кожну адресу ) під час завантаження або система зупиниться, якщо якийсь пізній код читає адреси, які ніколи не були записані (через виявлення помилок, що може призвести до помилкового позитивного). Але, як було сказано, це все для BIOS, і нічого, що прості смертні не можуть легко зрозуміти, або що їм потрібно було б подумати.
tl; dr: BIOS перебуває в реальному режимі у всіх точках, де його видно зовні, тому для всіх намірів і цілей він може просто працювати в реальному режимі весь час.