Mode irreal: diferència entre les revisions

Contingut suprimit Contingut afegit
mCap resum de modificació
Cap resum de modificació
Línia 1:
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 qual poden operar els [[Unitat central de processament|processadors]] [[x86]] o [[x86-64]]. En lloc d'això, el mode irreal, també anomenat '''mode real gran '''o''' mode real plànolpla''', é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-ne algunun, 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 caucache" 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 [[gigabyte|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 intentaintenti 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'estanestà accedint a les adreces "irreals", que pot ser només per una petitapetit espai de duradatemps, o s'usa un registre de segment (FS o GS) que estigui absolutament garantit que no seranserà tocatsmodificat pel Sistema operatiu, el [[BIOS]], o qualsevolcap driver.
 
Al principi, aquest mode era considerat com un [[Error de programari|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 poder direccionar la [[àrea de memòria alta|memòria alta]]. Va ser usat per molts [[joc d'ordinador|jocs d'ordinador]] entre els anys [[1990]] i [[1995]], pel fet que va permetrepermetia als programadors utilitzar més memòria que en el mode real, la qual estava restringida a 1 [[megabyte|MB]] (640 [[kilobyte|KB]] usables), atot més, encarai mantenint l'accés al sistema operatiu [[Sistema operatiu de disc|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órrerpassar al [[DOS Prompt]] de [[Microsoft Windows|Ms-Windows]], aquests programes requerien, en Windows 95 i [[Windows 98|98]], "Reiniciar-se en mode MS-DOS", i no podien córrer per res en sistemes Windows [[Windows NT|NT]], [[Windows 2000|2000]] i [[Windows XP|XP]]. Per aquests sistemes operatius, l'única manera de córrerd'executar els programes dissenyats per al mode irreal era un emulador com el [[DOSBox]].
 
== Vegeu també ==