Nei sistemi operativi, il paging è un meccanismo di archiviazione utilizzato per recuperare processi dalla memoria secondaria alla memoria principale sotto forma di pagine.
L'idea principale dietro l'impaginazione è dividere ogni processo sotto forma di pagine. Anche la memoria principale sarà suddivisa sotto forma di frame.
lente Java dell'array
Una pagina del processo deve essere memorizzata in uno dei frame della memoria. Le pagine possono essere archiviate in diverse posizioni della memoria ma la priorità è sempre quella di trovare i fotogrammi o i buchi contigui.
Le pagine del processo vengono portate nella memoria principale solo quando sono necessarie altrimenti risiedono nella memoria secondaria.
Diversi sistemi operativi definiscono dimensioni di frame diverse. Le dimensioni di ciascun frame devono essere uguali. Considerando il fatto che le pagine sono mappate sui frame in Paging, la dimensione della pagina deve essere uguale alla dimensione del frame.
Esempio
Consideriamo la dimensione della memoria principale 16 Kb e la dimensione del frame è 1 KB quindi la memoria principale sarà divisa nella raccolta di 16 frame da 1 KB ciascuno.
Ci sono 4 processi nel sistema che sono P1, P2, P3 e P4 di 4 KB ciascuno. Ogni processo è diviso in pagine da 1 KB ciascuna in modo che una pagina possa essere memorizzata in un frame.
Inizialmente tutti i frame sono vuoti pertanto le pagine dei processi verranno archiviate in modo contiguo.
utenti dell'elenco mysql
Cornici, pagine e la mappatura tra i due sono mostrati nell'immagine qui sotto.
Consideriamo che P2 e P4 vengano portati nello stato di attesa dopo un po' di tempo. Ora, 8 frame diventano vuoti e quindi altre pagine possono essere caricate in quello spazio vuoto. Il processo P5 di dimensione 8 KB (8 pagine) è in attesa all'interno della coda pronta.
quale raccolta in Java
Dato che abbiamo 8 frame non contigui disponibili nella memoria e il paging offre la flessibilità di archiviare il processo in luoghi diversi. Possiamo quindi caricare le pagine del processo P5 al posto di P2 e P4.
Unità di gestione della memoria
Lo scopo della Memory Management Unit (MMU) è convertire l'indirizzo logico in indirizzo fisico. L'indirizzo logico è l'indirizzo generato dalla CPU per ogni pagina mentre l'indirizzo fisico è l'indirizzo effettivo del frame in cui verrà memorizzata ciascuna pagina.
Quando la CPU deve accedere a una pagina utilizzando l'indirizzo logico, il sistema operativo deve ottenere l'indirizzo fisico per accedere fisicamente a quella pagina.
L'indirizzo logico è composto da due parti.
bue contro toro
- Numero di pagina
- Compensare
L'unità di gestione della memoria del sistema operativo deve convertire il numero di pagina nel numero di frame.
Esempio
Considerando l'immagine sopra, diciamo che la CPU richiede la decima parola della quarta pagina del processo P3. Poiché il numero di pagina 4 del processo P1 viene memorizzato nel frame numero 9, la decima parola del nono frame verrà restituita come indirizzo fisico.