Dato che è ancora necessario l'avvio, mi chiedo, su un sistema x64 / AMD64 a 64 bit, il BIOS utilizza ancora le istruzioni a 16 bit? Funziona anche in MODALITÀ REALE?
Dato che è ancora necessario l'avvio, mi chiedo, su un sistema x64 / AMD64 a 64 bit, il BIOS utilizza ancora le istruzioni a 16 bit? Funziona anche in MODALITÀ REALE?
Risposte:
I processori x86 si avviano ancora in modalità reale. I BIOS sono liberi (e talvolta costretti) a passare a modalità protette o lunghe mentre inizializzano il loro hardware, ma quando passano il controllo al sistema operativo (o meglio al suo bootloader), devono tornare alla modalità reale, perché è quello che questi caricatori si aspettano che il sistema sia dentro.
coreboot e UEFI passano alla modalità protetta piuttosto presto, mentre per PCBIOS (phoenix / award, ami e così via), non possiamo dirlo. Sono a codice chiuso e generalmente non raccontano molto del loro interno e le loro interfacce sono tutte specificate come modalità reale.
Per i sistemi che funzionano con RAM ECC, puoi essere relativamente sicuro che passano a una modalità in grado di indirizzare tutta la RAM, quindi passano almeno alla modalità protetta, perché devono inizializzare la memoria (scrivere un valore su ciascun indirizzo ) all'avvio o il sistema si arresterebbe se qualche codice successivo leggesse indirizzi a cui non era mai stato scritto (a causa del rilevamento di errori che potrebbero produrre un falso positivo). Ma, come detto, è interno al BIOS, e nulla che i semplici mortali possano capire facilmente o a cui dovrebbero pensare.
tl; dr: il BIOS è in modalità reale in tutti i punti in cui è visibile esternamente, quindi a tutti gli effetti potrebbe funzionare sempre in modalità reale.