Domanda

Sono un po 'confuso sulla segmentazione pura a causa della mia testa esisteva sempre l'idea della memoria virtuale.

Ma come capisco anche la segmentazione purea immaginando uno spazio di indirizzo virtuale, diviso in segmenti che sono tutti caricati in RAM.

La differenza con la memoria virtuale con la segmentazione, è che forse c'è qualche segmento che non è in RAM.

è corretto?

I Aggiungi una domanda: C'è una differenza pratica tra la segmentazione combinata con il paging e un cercapersone a due livelli?, È lo stesso eccetto per il "limite" protezione del metodo del segmento.O c'è un'altra differenza?

È stato utile?

Soluzione

No, non è corretto. Ad esempio, su x86, la segmentazione utilizza i puntatori "FAR" che consistono in due parti: il selettore del segmento (caricato in un registro di segmento, E.G., DS) e un offset nel segmento. Gli offset del segmento iniziano sempre a 0. La CPU utilizza il selettore del segmento per trovare il descrittore del segmento che contiene l'indirizzo lineare di base, la lunghezza e i diritti di accesso del segmento. Tutti gli accessi sono a controllo lunghezza; Se si tenta di accedere alla memoria al di fuori del limite del segmento o con accesso non valido (ad esempio, scrivendo a un segmento di sola lettura), la CPU genererà un guasto di protezione generale.

Poiché gli indirizzi del segmento sono sempre basati su zero e la base del segmento è implicita nel selettore del segmento, il sistema operativo può spostare i segmenti intorno alla memoria e deframmentare senza influire sui programmi utilizzando tali dati. (Contrasto con il modello di memoria "piatto" in cui se si sposta alcuni dati, devi anche aggiornare tutti i puntatori che punta ad esso.)

Ora, quando il paging è disabilitato, l'indirizzo di base del segmento lineare è il suo indirizzo di memoria fisica. Quando il paging è abilitato, tutti gli accessi ai dati del segmento sono tradotti dalla MMU come al solito.

Altri suggerimenti

Se sei serio sulla comprensione della gestione della memoria a questo livello, un'eccellente spiegazione può essere trovata leggendo Concetti del sistema operativo di Silberschatz, Galvin e Gagne.Dovresti essere in grado di trovare un'edizione precedente ed economica.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top