Che cos'è la modalità reale?

La modalità reale è uno schema di indirizzamento della memoria e uno stato operativo per i microprocessori del computer. Nella modalità reale, la memoria a cui è possibile accedere da un programma, in genere la memoria ad accesso casuale (RAM), non è gestita o bufferizzata in alcun modo dall'hardware, dal software o dai servizi di input e output di base (BIOS). Ciò significa che un programma è in grado di accedere a tutti gli indirizzi di memoria raggiungibili, indipendentemente da quale sia la memoria utilizzata, e deve gestire da solo tutti gli aspetti della lettura e della scrittura nelle posizioni di memoria. Diverse restrizioni derivano dall'uso della modalità reale, incluso il fatto che la quantità di memoria accessibile è limitata a 1 megabyte, poiché il processore in questa modalità consente agli indirizzi di essere lunghi solo 20 bit. Da un punto di vista pratico, il software non utilizza più la modalità reale, poiché è stata sostituita da una modalità di indirizzamento più sicura, espandibile e più flessibile nota come modalità protetta.

L'unità di elaborazione centrale (CPU) di un computer è dove è possibile attivare la modalità reale e la maggior parte degli aspetti della modalità in realtà tratta i problemi che si vedono solitamente nelle applicazioni scritte in linguaggio assembly, perché sono di natura piuttosto atomica. I chip del processore basati sull'architettura originale 8086 iniziano in modalità reale quando vengono accesi per essere in grado di eseguire programmi scritti per hardware precedente, sebbene ciò richiederebbe spesso il successo del software di emulazione. La modalità protetta ha quasi completamente sostituito l'indirizzamento reale, a partire dal 2011, al punto in cui sono disponibili pochissimi compilatori in grado di compilare un programma in grado di utilizzare l'indirizzamento reale e persino un numero inferiore di sistemi operativi tradizionali che potrebbero eseguirlo.

La memoria in modalità reale è fondamentalmente una singola sequenza lineare di byte a cui è possibile accedere liberamente con un indirizzo composto da un indirizzo di segmento a 16 bit e un offset di 4 bit all'interno del segmento, creando un indirizzo completo di 20 bit quando combinato. Un programma può accedere a qualsiasi punto della memoria e leggere o scrivere qualsiasi cosa, indipendentemente da ciò che si trova nella posizione. Ciò significa che, senza una corretta gestione e conoscenza, un programma che utilizza la modalità di indirizzamento reale potrebbe facilmente sovrascrivere il sistema operativo e il BIOS di sistema, innescare un interruzione fisica dell'hardware o inviare accidentalmente un segnale a una periferica. Ciò non solo potrebbe causare il blocco o l'arresto anomalo di un sistema, ma potrebbe anche causare la perdita di dati o danni fisici all'hardware.

Con l'avanzare dell'architettura del processore, la modalità protetta alla fine ha sostituito la modalità reale in quasi tutti i software. Nel tempo, l'uso della modalità di indirizzamento reale è diventato superfluo, poiché non era in grado di accedere a più di 1 megabyte di RAM e non era in grado di utilizzare più di 20 bit del bus di sistema, il che significa che poteva usare solo una frazione delle risorse disponibili sulla maggior parte computers. L'indirizzamento reale comporta inoltre un rischio significativo per la sicurezza. Uno dei pochi modi per scrivere un programma che utilizza la modalità di indirizzamento reale è utilizzare il linguaggio assembly ed eseguire il programma con uno speciale sistema operativo su disco (DOS) che non passa automaticamente alla modalità protetta all'avvio.

ALTRE LINGUE

Questo articolo è stato utile? Grazie per il feedback Grazie per il feedback

Come possiamo aiutare? Come possiamo aiutare?