Concetti Chiave
- La CPU può eseguire i processi solo se sono caricati in memoria, gestita dal sistema operativo per tracciare e riutilizzare le locazioni occupate.
- La memoria cache viene utilizzata per superare la lentezza dell'accesso della CPU ai dati in memoria, migliorando la velocità d'esecuzione.
- Il sistema operativo utilizza meccanismi di protezione per impedire che i processi utente accedano a spazi di memoria riservati ai processi di sistema.
- I processi possono essere temporaneamente spostati in memoria di massa e ricaricati in memoria centrale per continuare l'esecuzione in modo indipendente dagli indirizzi assegnati.
- La tecnica del caricamento dinamico permette di modificare lo spazio degli indirizzi fisici aggiornando il registro di rilocazione senza alterare gli indirizzi logici.
Gestione della memoria centrale di un calcolatore
I processi di un calcolatore possono essere eseguiti dalla CPU solo se caricati in memoria; durante lo scheduling della CPU, essa viene assegnata ciclicamente a più processi, è compito di un opportuno modulo del S.O. gestire la memoria centrale, in maniera tale di poter sempre tracciare le locazioni di memoria occupate e gestirne il rilascio ed il riutilizzo.
Le problematiche relative alla gestione della memoria da parte del S.O. sono:
- Differente velocità d’accesso della CPU alla memoria, l’esecuzione di un'istruzione provoca un rallentamento del processore quando deve accedere ai dati in memoria; il problema viene parzialmente superato con l’utilizzo della memoria cache (memoria ad elevata velocità gestita dalla CPU).
- Possibilità che processi relativi agli utenti possano occupare spazi di memoria riservati a processi di sistema, tale problema viene eliminato dal sistema operativo tramite appositi meccanismi di protezione su determinati blocchi di memoria.
- Durante l’esecuzione, un processo, può essere spostato temporaneamente in memoria di massa per essere successivamente caricato di nuovo in memoria centrale, al fine di riprenderne l’esecuzione. Deve essere eseguito quindi in modo indipendente dagli indirizzi assegnati ad esso.
Qualora sia necessario spostare il processo all’interno della memoria centrale, è sufficiente aggiornare il registro di rilocazione con un nuovo indirizzo; in questo modo è possibile modificare lo spazio degli indirizzi fisici lasciando inalterato lo spazio degli indirizzi logici utilizzando la tecnica del caricamento dinamico.