Concetti Chiave
- La CPU può eseguire processi solo se sono caricati in memoria, e il sistema operativo gestisce la memoria centrale per monitorare e riutilizzare le locazioni occupate.
- Il rallentamento nell'accesso della CPU ai dati in memoria è ridotto dall'uso della memoria cache, una memoria ad alta velocità.
- I processi possono essere spostati temporaneamente in memoria di massa per poi essere ricaricati in memoria centrale, garantendo un'esecuzione indipendente dagli indirizzi assegnati.
- Il caricamento dinamico consente di spostare un processo nella memoria centrale aggiornando il registro di rilocazione senza alterare gli indirizzi logici.
- Il sistema operativo implementa meccanismi di protezione per impedire ai processi degli utenti di occupare spazi di memoria riservati ai processi di sistema.
Gestione della CPU e memoria
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.
Qual è la velocità d'accesso e la memoria cache?
Spostamento dei processi
Caricamento dinamico e rilocazione
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.
Domande da interrogazione
- Qual è il ruolo del sistema operativo nella gestione della memoria centrale?
- Come viene affrontato il problema della velocità d'accesso della CPU alla memoria?
- Cosa implica il caricamento dinamico e la rilocazione di un processo?
Il sistema operativo gestisce la memoria centrale per garantire che i processi siano caricati e tracciati correttamente, occupandosi del rilascio e del riutilizzo delle locazioni di memoria (Gestione della CPU e memoria).
Il rallentamento della CPU durante l'accesso ai dati in memoria è parzialmente mitigato dall'uso della memoria cache, che è una memoria ad elevata velocità gestita dalla CPU (Velocità d'accesso e memoria cache).
Il caricamento dinamico consente di spostare un processo all'interno della memoria centrale aggiornando il registro di rilocazione, senza alterare gli indirizzi logici, ma modificando gli indirizzi fisici (Caricamento dinamico e rilocazione).