Mode irreal

De Viquipèdia
Dreceres ràpides: navegació, cerca

El mode irreal, a diferència del mode real, el mode protegit i el mode llarg, no és un mode d'adreçament separat en el que poden operar els processadors x86 o x86-64. En lloc d'això, el mode irreal, també anomenat mode real gran o mode real plànol , és una variant del mode real (PE = 0) en la qual un o més registres de segment han estat carregats amb adreces i límits 32 bits.

Per activar el mode irreal, el programa ha d'entrar en mode protegit, localitzar un descriptor pla en el GDT o LDT o crear algun, carregar alguns dels registres de segment amb el respectiu selector de mode protegit, llavors es retorna del mode protegit al mode real. Quan s'està de nou en el mode real, el processador continuarà usant els descriptors de la memòria cau com havien quedat establerts en el mode protegit, si més no fins que siguin recarregats els registres de segment, permetent així l'accés a 4 GB de memòria estesa des del mode real.

Això no obstant, el parany és que la recàrrega del descriptor de segment del cache, que ara conté valors "irreals", pot passar asincrònicament dins d'un gestor d'excepció o interrupció, i després, encara que el gestor intenta recarregar correctament el segment abans del IRET (retornant de l'excepció o interrupció), ell fallarà doncs el descriptor ocult seria recarregat sota regles del mode real, resultant en la pèrdua del descriptor pla i una catàstrofe imminent !. Per tant, o es prohibeixen les interrupcions mentre s'estan accedint les adreces "irreals", que pot ser només per una petita durada, o s'usa un registre de segment (FS o GS) que estigui absolutament garantit que no seran tocats pel Sistema operatiu, el BIOS, o qualsevol driver.

Al principi, aquest mode era considerat com un bug, però més endavant es va convertir en una tècnica estàndard per als processadors x86 i x86-64.

Algun tipus de DOS extender va emprar aquesta característica per direccionar la memòria alta. Va ser usat per molts jocs d'ordinador entre els anys 1990 i 1995, pel fet que va permetre als programadors utilitzar més memòria que en el mode real, la qual estava restringida a 1 MB (640 KB usables), a més, encara mantenint l'accés al sistema operatiu DOS, que no treballa en mode protegit. Després de la introducció del mode irreal de Windows 95 ràpidament va caure en desús, ja que els programes que l'usaven no podien córrer al DOS Prompt de Ms-Windows, aquests programes requerien , en Windows 95 i 98, "Reiniciar en mode MS-DOS", i no podien córrer per res en sistemes Windows NT, 2000 i XP. Per aquests sistemes operatius, l'única manera de córrer els programes dissenyats per al mode irreal era un emulador com el DOSBox.

Vegeu també[modifica | modifica el codi]