Mode irreal: diferència entre les revisions

182 bytes afegits ,  fa 9 anys
cap resum d'edició
Cap resum de modificació
Cap resum de modificació
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 [[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à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.
El ''' mode real ''' (també anomenat ''' mode d'adreces reals ''' en els manuals d'[[Intel]]) és un mode d'operació del [[Intel 80.286|80.286]] i anteriors [[CPU]] s compatibles de l'arquitectura [[x86]]. El mode real està caracteritzat per 20 [[bit]] s d'espai d'adreces segmentat (significant que només es pot adreçar 1 [[megabyte|MB]] de memòria), accés directe del programari a les rutines del [[BIOS]] i els perifèrics, i no té conceptes de protecció de memòria o [[multitasca]] a nivell de maquinari. Tots els CPU x86 de les sèries del 80.286 i posteriors comencen en mode real en encendre l'ordinador, els CPU 80.186 i anteriors tenien només un mode operacional, que era equivalent a el mode real en xips posteriors.
 
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 [[gigabyte|GB]] de [[memòria estesa]] des del mode real.
L'arquitectura 286 va introduir el [[mode protegit]], permetent, entre altres coses, la protecció de la memòria a nivell de maquinari. No obstant això, utilitzar aquestes noves característiques requerir instruccions de programari addicionals no necessàries prèviament. Com que una especificació de disseny primària dels microprocessadors x86 és que siguin completament compatibles cap enrere amb el programari escrit per a tots els xips x86 abans d'ells, el xip 286 va ser fet per iniciar-se en 'mode real' - és a dir, en un mode que tenia apagades les noves característiques de protecció de memòria, de mode que poguessin córrer [[sistema operatiu|sistemes operatius]] escrits per microprocessadors més vells. Al dia d'avui, fins i tot els més recents CPU x86 s'inicien en mode real en encendre, i poden córrer el programari escrit per a qualsevol xip anterior.
 
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.
Els [[Sistema operatiu de disc|sistemes operatius de disc]] ([[MS-DOS]], [[DR-DOS]], etc.) Treballen en mode real. Les primeres versions de [[Microsoft Windows]], que eren essencialment un shell de [[interfície gràfica d'usuari]] corrent sobre el DOS, no eren realment un sistema operatiu per si mateixes, corrien en mode real, fins [[Windows 3.0]], que podia córrer tant en mode real com en mode protegit. Windows 3.0 podia córrer de fet en dos "sabors" de mode protegit - el mode estàndard ", que corria usant mode protegit, i el" mode millorat 386 ", que a més feia servir adreçament de 32 bits i per tant no corria en un 286 (que tot i tenir mode protegit, seguia sent un xip de 16 bits, els registres de 32 bits van ser introduïts en la sèrie [[Intel 80386|80.386]]). El Windows 3.1 va remoure el suport per al mode real, i va ser el primer ambient operatiu d'ús massiu que va requerir com a mínim un processador 80286 (no comptant amb el Windows 2.0 que no va ser un producte massiu). Gairebé tots els sistemes operatius moderns x86 ([[Linux]], [[Windows 95]] i posteriors, [[OS/2]], etc.) Canvien el CPU al mode protegit oa mode llarg en l'arrencada.
 
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.
 
Alguns [[DOS Estendre]]s van usar aquesta característica per adreçar 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 permetre als programadors utilitzar més memòria que en el mode real, la qual estava restringida a 1 [[megabyte|MB]] (640 [[kilobyte|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 [[Microsoft Windows|Ms-Windows]], aquests programes requerien , en Windows 95 i [[Windows 98|98]], "Reiniciar 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órrer els programes dissenyats per al mode irreal era un emulador com el [[DOSBox]].
 
== Vegeu també ==
167.758

modificacions