Qual è la modalità reale?
La modalità reale è uno schema di avvio della memoria e uno stato operativo per i microprocessori del computer. In modalità reale, la memoria a cui è possibile accedere da un programma - di solito la memoria di accesso casuale (RAM) - non è gestita o bufferizzata in alcun modo dall'hardware, software o 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 ciò per cui viene utilizzata la memoria e deve gestire tutti gli aspetti della lettura e della scrittura in posizioni di memoria da solo. Diverse restrizioni arrivano con l'utilizzo della modalità reale, incluso il fatto che la quantità di memoria accessibile è limitata a 1 megabyte, perché il processore in questa modalità consente agli indirizzi di avere solo 20 bit di lunghezza. Da una prospettiva pratica, il software per computer non utilizza più in modalità reale, perché è stato sostituito da una modalità di indirizzamento più sicura, espandibile, più flessibile nota come modalità protetta.
ilL'unità di elaborazione centrale (CPU) di un computer è dove può essere attivata la modalità reale e la maggior parte degli aspetti della modalità si occupa effettivamente di problemi solitamente visti nelle applicazioni scritte in linguaggio assembly, perché sono di natura abbastanza atomica. I chip del processore basati sull'architettura 8086 originali iniziano in modalità reale quando sono in grado di eseguire programmi che sono stati scritti per hardware precedente, anche se questo spesso richiederebbe un successo del software di emulazione. La modalità protetta ha quasi completamente sostituito il vero indirizzamento, a partire dal 2011, al punto in cui sono disponibili pochissimi compilatori che possono persino compilare un programma in grado di utilizzare un indizio reale e ancora meno sistemi operativi mainstream che potrebbero eseguirlo.
La memoria in modalità reale è fondamentalmente una singola sequenza lineare di byte a cui è possibile accedere liberamente con un indirizzo costituito da un indirizzo di segmento a 16 bit e un offset a 4 bit all'interno del segmento, facendo un indirizzo completo a 20 bit quando combinato. Un programma può accederes qualsiasi punto in memoria e leggere o scrivere qualsiasi cosa, indipendentemente da ciò che è 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 del sistema, attivare un interruzione hardware fisica o inviare accidentalmente un segnale a un dispositivo periferico. Questo non solo potrebbe causare il congelamento o il crash di un sistema, ma potrebbe anche causare perdita di dati o danni fisici all'hardware.
Come architettura del processore avanzata, la modalità protetta alla fine ha sostituito la modalità reale in quasi tutti i software. Nel tempo, l'uso della modalità di indirizzamento reale non è diventato inutile, perché non era in grado di accedere a più di 1 megabyte di RAM e incapace 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 dei computer. L'indirizzamento reale rappresenta anche un rischio significativo per la sicurezza. Uno dei pochi modi per scrivere un programma che utilizza la modalità di indirizzamento reale è utilizzare il linguaggio dell'assembly eEseguire il programma in uno speciale sistema operativo per disco (DOS) che non passa automaticamente alla modalità protetta all'avvio.