Puisqu'il est toujours nécessaire de démarrer, je me demande, sur un système 64 bits x64 / AMD64, le BIOS utilise-t-il toujours des instructions 16 bits? Fonctionne-t-il également en MODE RÉEL?
Puisqu'il est toujours nécessaire de démarrer, je me demande, sur un système 64 bits x64 / AMD64, le BIOS utilise-t-il toujours des instructions 16 bits? Fonctionne-t-il également en MODE RÉEL?
Réponses:
Les processeurs x86 démarrent toujours en mode réel. Les BIOS sont libres (et parfois forcés) de passer en modes protégés ou longs pendant qu'ils initialisent leur matériel, mais lorsqu'ils remettent le contrôle au système d'exploitation (ou plutôt à son chargeur de démarrage), ils doivent revenir en mode réel, car c'est ce que ces chargeurs s'attendent à ce que le système fonctionne.
coreboot et UEFI passent en mode protégé assez tôt, alors que pour les PCBIOS (phoenix / award, ami et ainsi de suite), nous ne pouvons pas le dire. Ils sont en source fermée et ne parlent généralement pas beaucoup de leurs composants internes, et leurs interfaces sont toutes spécifiées en mode réel.
Pour les systèmes qui fonctionnent avec la RAM ECC, vous pouvez être relativement sûr qu'ils passent à un mode capable d'adresser toute la RAM, donc ils passent au moins en mode protégé - c'est parce qu'ils ont besoin d'initialiser la mémoire (écrire une valeur à chaque adresse ) au démarrage ou le système s'arrêterait si un code ultérieur lit des adresses qui n'ont jamais été écrites (en raison d'une détection d'erreur qui pourrait produire un faux positif). Mais comme dit, c'est interne au BIOS, et rien que les simples mortels puissent comprendre facilement ou auxquels ils devraient penser.
tl; dr: le BIOS est en mode réel à tous les points où il est visible de l'extérieur, donc à toutes fins utiles, il peut simplement fonctionner en mode réel tout le temps.