Sistemi operativi: Allocazione della RAM
Ciao, sto studiando l'allocazione della RAM cioè il problema di distribuire la RAM tra i diversi processi. so che ci sono tre diversi modelli principali di allocazione:
1) l'allocazione contigua
2) paginazione
3) segmentazione.
L'allocazione contigua l'ho capita. Non ho capito invece la paginazione. Cosa vuol dire che la RAM è divisa in blocchi di memoria (frame) e che lo spazio degli indirizzi logici (cioè quelli creati dalla CPU) di un processo è organizzato in pagine?
Poi si parla di tabella delle pagine ecc.. Non riesco a capire questa cosa delle pagine e dei frame.
Io ho un processo che deve eseguire e per farlo deve essere caricato in RAM che è divisa in frame. Le pagine cosa c'entrano?
Ho molta confusione in testa.. Qualcuno me lo spiega in modo molto semplice?
Grazie!
1) l'allocazione contigua
2) paginazione
3) segmentazione.
L'allocazione contigua l'ho capita. Non ho capito invece la paginazione. Cosa vuol dire che la RAM è divisa in blocchi di memoria (frame) e che lo spazio degli indirizzi logici (cioè quelli creati dalla CPU) di un processo è organizzato in pagine?
Poi si parla di tabella delle pagine ecc.. Non riesco a capire questa cosa delle pagine e dei frame.
Io ho un processo che deve eseguire e per farlo deve essere caricato in RAM che è divisa in frame. Le pagine cosa c'entrano?
Ho molta confusione in testa.. Qualcuno me lo spiega in modo molto semplice?
Grazie!
Risposte
Ciao,
Il discorso è lungo e piuttosto astratto.
Cerchiamo, se vuoi, punto per punto di capire cosa ti turba...
i frame sono le pagine.
La ram fisica è suddivisa in frame. Le pagine astraggono i frame fisici per renderli gestibili.
La tabella delle pagine contiene l'indirizzo che identifica le varie pagine con un indirizzo astratto (che è una codifica di quello fisico, che identifica i frame fisici).
Il discorso è lungo e piuttosto astratto.
Cerchiamo, se vuoi, punto per punto di capire cosa ti turba...
"vfldj":
Io ho un processo che deve eseguire e per farlo deve essere caricato in RAM che è divisa in frame. Le pagine cosa c'entrano?
i frame sono le pagine.
La ram fisica è suddivisa in frame. Le pagine astraggono i frame fisici per renderli gestibili.
La tabella delle pagine contiene l'indirizzo che identifica le varie pagine con un indirizzo astratto (che è una codifica di quello fisico, che identifica i frame fisici).
Ti ripeto quello che ho capito.
I vari processi sono divisi in porzioni più piccole dette pagine e che in quest pagine ci sono degli indirizzi logici (prodotti dalla CPU) che fanno riferimento a porzioni di RAM. Però la RAM "legge" solo indirizzi fisici quindi attraverso l'MMU gli indirizzi logici vengono trasformati in fisici. La tabella delle pagine è invece una tabella indicizzata dove un indice corrisponde ad una pagina di un processo. Il contenuto della cella con indice i contiene il numero del frame in RAM utilizzato dal processo.
E' più o meno corretto?
I vari processi sono divisi in porzioni più piccole dette pagine e che in quest pagine ci sono degli indirizzi logici (prodotti dalla CPU) che fanno riferimento a porzioni di RAM. Però la RAM "legge" solo indirizzi fisici quindi attraverso l'MMU gli indirizzi logici vengono trasformati in fisici. La tabella delle pagine è invece una tabella indicizzata dove un indice corrisponde ad una pagina di un processo. Il contenuto della cella con indice i contiene il numero del frame in RAM utilizzato dal processo.
E' più o meno corretto?
"vfldj":
E' più o meno corretto?
sì, direi che più o meno descrive a grandi bracciate la paginazione.