Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza del computer >> networking >> Indirizzo IP >> .

Come si può calcolare l'indirizzo fisico da un determinato indirizzo logico?

Il calcolo di un indirizzo fisico da un indirizzo logico richiede un'unità di gestione della memoria (MMU) e conoscenza delle tabelle di pagina. Il processo prevede diversi passaggi:

1. Segmentazione (se applicabile):

* Alcuni sistemi utilizzano la segmentazione insieme al paging. Se viene utilizzata la segmentazione, l'indirizzo logico viene prima suddiviso in un numero di segmento e un offset all'interno di quel segmento. Il numero di segmento viene quindi utilizzato per individuare il descrittore del segmento corrispondente nella tabella del segmento. Il descrittore del segmento contiene informazioni come l'indirizzo di base del segmento nella memoria fisica e il suo limite (dimensione).

* Se il numero di segmento non è valido o l'offset è oltre il limite del segmento, si verifica un errore di segmentazione.

2. Paging:

* Se viene utilizzato o meno la segmentazione, il paging è quasi sempre coinvolto nei sistemi moderni. L'indirizzo logico (o l'offset dalla fase di segmentazione precedente) è diviso in un numero di pagina e un offset di pagina.

* Il numero di pagina viene utilizzato come indice in una tabella di pagina . Questa tabella mappa i numeri di pagina virtuale ai numeri di frame fisici. Ogni voce nella tabella di pagina contiene il numero del frame fisico (o un puntatore a una tabella di pagina di livello inferiore nel paging a più livelli) in cui la pagina corrispondente risiede nella memoria fisica.

* Paging multi-livello: Per gestire gli spazi di indirizzi molto grandi in modo efficiente, i sistemi utilizzano spesso tabelle di pagina a più livelli (ad es. A due livelli, a tre livelli, ecc.). Questo evita di avere un singolo tavolo da pagina gigantesco. In questo caso, il numero di pagina viene ulteriormente suddiviso per indicizzare successivamente livelli più bassi di tabelle di pagina fino a quando non viene trovato il numero di frame fisico finale. Ogni voce in una tabella di pagina di livello superiore indica il livello successivo.

* Se la voce della tabella di pagina non è presente (errore di pagina), il sistema operativo deve caricare la pagina richiesta dall'archiviazione secondaria (ad es. Disco rigido) nella memoria principale. Ciò comporta la sospensione dell'attuale processo.

3. Calcolo dell'indirizzo fisico:

* Una volta ottenuto il numero del frame fisico dalla tabella (s) di pagina, l'indirizzo fisico viene calcolato concatenando il numero di frame e l'offset della pagina . L'offset della pagina rimane invariato durante il processo di traduzione.

formula (semplificata per paging a livello singolo):

`Indirizzo fisico =(Numero pagina * Dimensione della pagina) + Offset della pagina`

Dove:

* Numero di pagina: Ottenuto dall'indirizzo logico.

* Dimensione della pagina: Una costante definita dal sistema (ad es. 4kb).

* Offset della pagina: Ottenuto dall'indirizzo logico.

In sintesi: La MMU utilizza l'indirizzo logico e le tabelle di pagina per eseguire la traduzione dell'indirizzo. Il processo prevede la ricerca di voci nelle tabelle di pagina per trovare il numero di frame fisico corrispondente al numero di pagina logico e quindi combinando questo con l'offset della pagina per ottenere l'indirizzo fisico finale. La complessità aumenta con l'uso di segmentazione e paging multilivello. Il sistema operativo svolge un ruolo cruciale nella gestione delle tabelle di pagina e nella gestione dei guasti della pagina.

 

networking © www.354353.com