Funzionamento dei Sistemi Operativi: Gestione Memoria e Processi
Classificato in Informatica
Scritto il in
italiano con una dimensione di 3,87 KB
Modalità di Sfruttamento di un Sistema Operativo
Un sistema operativo può essere sfruttato in due modi principali:
- Elaborazione batch: utilizzato nella seconda generazione di computer. Diversi processi vengono avviati e, dopo un tempo solitamente lungo, si ottiene la risposta.
- In tempo reale: la risposta dei processi si ottiene al momento stesso dell'esecuzione.
Process Control Block (BCP)
Il BCP (Process Control Block) contiene le seguenti informazioni fondamentali:
- Stato attuale: indica se il processo è in esecuzione, fermo o bloccato.
- ID (PID): identificativo assegnato dal sistema operativo.
- Priority (Priorità): assegnata dal sistema operativo, può essere modificata dall'amministratore.
- Location in memoria: posizione fisica del processo.
- Risorse: l'assegnazione delle risorse è effettuata dal sistema operativo tramite variabili.
Gestione della Memoria e Partizioni Variabili
Le partizioni variabili sono utilizzate per risolvere il problema della frammentazione; in questo modello, la memoria è divisa in partizioni dinamiche. È necessario mantenere un record delle partizioni dati per monitorare quali sono libere e occupate. Questo record deve essere efficiente, sia in termini di tempo di assegnazione che di utilizzo della memoria.
Svantaggi delle Partizioni Variabili
- La difficoltà di tenere traccia delle partizioni disponibili rende il sistema più lento.
- Sussiste ancora il rischio di frammentazione esterna.
Paginazione della Memoria
Nei sistemi di paginazione (paging), la memoria del programma è divisa in piccole porzioni chiamate pagine. Lo spazio di indirizzamento è suddiviso in parti della stessa dimensione delle pagine, denominate frame di pagina o frame. La quantità di memoria di un processo che viene sprecata è limitata alla fine della sua ultima pagina, il che riduce al minimo la frammentazione interna ed evita quella esterna.
Il Ruolo del Gestore della Memoria
La parte del sistema operativo che gestisce la memoria è il gestore di memoria (o progettista). Esso è incaricato di tenere traccia delle parti di memoria utilizzate e di quelle libere. Le sue funzioni principali includono:
- Allocare memoria per nuovi processi.
- Liberare lo spazio dei processi che sono stati completati.
- Gestire lo scambio di dati tra memoria e disco (swapping) se un processo non può risiedere contemporaneamente in memoria.
La Frammentazione
La frammentazione può manifestarsi in due forme:
- Interna: si verifica con partizioni molto grandi, dove i processi non le utilizzano nella loro interezza.
- Esterna: quando una partizione non viene utilizzata perché troppo piccola per i processi in esecuzione.
Per risolvere questi problemi, vengono introdotte le partizioni variabili.
Prestazioni e Funzionamento della Memoria Virtuale
Il funzionamento della memoria virtuale segue questa logica:
- Quando si carica un programma in memoria, inizialmente vengono eseguite solo le pagine caricate.
- Le restanti pagine sono memorizzate su un'area riservata del disco rigido per lo scambio con la RAM.
- Se in qualsiasi momento è necessario eseguire una pagina che non è presente in RAM, il sistema provvede a caricarla.
- Ciò comporta la necessità di scaricare (effettuare lo swap-out) una pagina che non è in uso in quel momento per liberare lo spazio necessario.