Como todavía es necesario arrancar, me pregunto, en un sistema x64 / AMD64 de 64 bits, ¿el BIOS todavía usa instrucciones de 16 bits? ¿Funciona también en MODO REAL?
Como todavía es necesario arrancar, me pregunto, en un sistema x64 / AMD64 de 64 bits, ¿el BIOS todavía usa instrucciones de 16 bits? ¿Funciona también en MODO REAL?
Respuestas:
Los procesadores x86 aún comienzan en modo real. Los BIOS son libres (y a veces forzados) para cambiar a modos protegidos o largos mientras inicializan su hardware, pero cuando transfieren el control al Sistema Operativo (o más bien a su gestor de arranque), tienen que volver al modo real, porque eso es lo que Estos cargadores esperan que el sistema esté instalado.
coreboot y UEFI cambian al modo protegido bastante temprano, mientras que para PCBIOSes (phoenix / award, ami, etc.), no podemos decirlo. Son de código cerrado y generalmente no dicen mucho acerca de sus componentes internos, y sus interfaces están especificadas como modo real.
Para los sistemas que se ejecutan con RAM ECC, puede estar relativamente seguro de que cambian a algún modo que sea capaz de direccionar toda la RAM, por lo que pasan al menos al modo protegido, eso es porque necesitan inicializar la memoria (escriba algún valor en cada dirección ) en el arranque o el sistema se detendría si algún código posterior lee direcciones en las que nunca se escribió (debido a la detección de errores que podría producir un falso positivo). Pero como se dijo, eso es interno al BIOS, y nada en lo que los simples mortales puedan darse cuenta fácilmente o en lo que tengan que pensar.
tl; dr: BIOS está en modo real en todos los puntos donde es visible externamente, por lo que para todos los efectos puede ejecutarse en modo real todo el tiempo.