Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza del computer >> hardware >> CPU >> .

Qual è la differenza tra la CPU che funziona in modalità reale e modalità protetta?

La differenza chiave tra la modalità reale e la modalità protetta in una CPU (in particolare, le CPU dell'architettura X86) si trova a come la CPU gestisce la memoria e le risorse:

Modalità reale:

* Indirizzamento della memoria: Utilizza uno spazio di indirizzo a 20 bit, limitando la memoria indirizzabile a 1 MB (1.048.576 byte). Tutta la memoria è direttamente indirizzabile da qualsiasi programma. Non c'è protezione da memoria.

* Segmentazione della memoria: Viene utilizzato la segmentazione, ma è semplice e in gran parte trasparente per il programmatore. I segmenti sono in genere di 64 kb di dimensioni e il processore calcola l'indirizzo fisico combinando un selettore di segmenti e un offset. Tuttavia, i selettori di segmenti offrono principalmente un modo per organizzare logicamente la memoria anziché fornire protezione.

* Protezione della memoria: Nessuna protezione da memoria. Un programma può facilmente sovrascrivere la memoria di un altro o la memoria del sistema operativo, portando a arresti anomali e instabilità del sistema.

* Multitasking: Non supportato direttamente. Solo un programma può essere eseguito alla volta.

* Istruzioni privilegiate: Tutte le istruzioni sono disponibili per tutti i programmi. Non c'è distinzione tra operazioni privilegiate (come l'accesso alle porte I/O) e quelle non privilegiate.

* Interrompi: È presente la gestione degli interrupt di base, ma manca delle caratteristiche sofisticate della modalità protetta.

* Sistemi operativi: Sistemi operativi a tasking singolo molto semplici come MS-DOS operavano principalmente in modalità reale.

Modalità protetta:

* Indirizzamento della memoria: Utilizza uno spazio di indirizzi a 32 bit (o 64 bit in modalità a 64 bit), consentendo l'accesso a una memoria notevolmente più (4 GB in 32 bit, teoricamente più in 64 bit). La memoria è divisa in segmenti, ma questi segmenti vengono utilizzati per imporre la protezione della memoria.

* Segmentazione della memoria: La segmentazione è più sofisticata. I segmenti possono avere diritti di accesso diversi (sola lettura, scrittura di lettura, solo esecuzione) e la CPU applica queste restrizioni. Ciò impedisce a un programma di accedere o modificare accidentalmente o maliziosamente alla memoria di un altro programma. Il paging (un meccanismo di memoria virtuale) viene in genere utilizzato insieme alla segmentazione per una gestione e protezione della memoria migliorata.

* Protezione della memoria: La forte protezione della memoria è una caratteristica fondamentale. Ogni programma funziona nel proprio spazio di memoria protetta, impedendo conflitti e crash.

* Multitasking: Pienamente supportato. La CPU può passare rapidamente da più programmi, dando l'illusione dell'esecuzione simultanea.

* Istruzioni privilegiate: Le istruzioni sono divise in privilegiate e non privilegiate. Solo il sistema operativo (in esecuzione in modalità kernel) può eseguire istruzioni privilegiate, fornendo un livello di sicurezza e stabilità.

* Interrompi: Viene fornita una sofisticata gestione degli interrupt, compresi i cancelli di interruzione e le richieste di sistema per l'accesso controllato alle operazioni privilegiate.

* Sistemi operativi: I moderni sistemi operativi come Windows, MacOS e Linux operano esclusivamente in modalità protetta (o suo equivalente a 64 bit).

In breve: La modalità reale è una modalità legacy, semplice ma insicura e limitata. La modalità protetta è lo standard moderno, che fornisce protezione da memoria, multitasking e un ambiente molto più stabile e sicuro per l'esecuzione di programmi. La transizione dalla modalità reale alla modalità protetta è un passo fondamentale per l'avvio di un computer moderno.

 

hardware © www.354353.com