Struttura di un sistema operativo
Il nucleo, la gestione della memoria, la gestione delle periferiche, il file system e l'interprete dei comandi (4 pagine formato doc)
In generale, un sistema operativo è organizzato a diversi
livelli, ognuno con compiti specifici.
Ogni livello vede quelli sotto stanti come una macchina che svolge determinate funzioni.
Il centro è rappresentato dall'hardware, su cui agisce solamente il nucleo. Tale modello prende il nome di struttura a buccia di cipolla, che indica chiaramente che ogni livello sfrutta solo le funzioni di quello immediatamente sottostante; se un livello richiama funzioni di livelli più bassi di quello sottostante, si hanno complicazioni progettuali nel momento in cui si devono rivedere alcuni moduli.
Il nucleo, chiamato anche kernel (nocciolo), è la parte del sistema operativo più vicina alla macchina, ed è strettamente dipendente dall'hardware. I microprogrammi che lo compongono sono chiamati primitive del nucleo, e sono scritte in linguaggio macchina, specifico di un determinato microprocessore.
Le funzioni del nucleo sono:
Quando si richiede l'esecuzione di un programma al calcolatore, è necessario che questo provveda a mettere a disposizione del programma le risorse di cui ha bisogno.
Le risorse principali delle quali il programma necessita sono:
Per quanto riguarda il primo, occorre dire che il computer deve essere in grado di garantire che ogni programma del quale si chiede l'esecuzione possa terminare, e quindi deve dedicare del tempo alla sua esecuzione, eventualmente dividendo il tempo complessivamente disponibile tra più programmi in esecuzione. Questo obiettivo può essere ottenuto in modi diversi, in particolare:
Ogni livello vede quelli sotto stanti come una macchina che svolge determinate funzioni.
Il centro è rappresentato dall'hardware, su cui agisce solamente il nucleo. Tale modello prende il nome di struttura a buccia di cipolla, che indica chiaramente che ogni livello sfrutta solo le funzioni di quello immediatamente sottostante; se un livello richiama funzioni di livelli più bassi di quello sottostante, si hanno complicazioni progettuali nel momento in cui si devono rivedere alcuni moduli.
Il nucleo, chiamato anche kernel (nocciolo), è la parte del sistema operativo più vicina alla macchina, ed è strettamente dipendente dall'hardware. I microprogrammi che lo compongono sono chiamati primitive del nucleo, e sono scritte in linguaggio macchina, specifico di un determinato microprocessore.
Le funzioni del nucleo sono:
- creazione e terminazione dei processi,
- assegnazione della CPU ai diversi processi,
- sincronizzazione tra i processi,
- sincronizzazione dei processi con l'ambiente esterno.
Quando si richiede l'esecuzione di un programma al calcolatore, è necessario che questo provveda a mettere a disposizione del programma le risorse di cui ha bisogno.
Le risorse principali delle quali il programma necessita sono:
- il tempo di utilizzo del processore,
- la memoria.
Per quanto riguarda il primo, occorre dire che il computer deve essere in grado di garantire che ogni programma del quale si chiede l'esecuzione possa terminare, e quindi deve dedicare del tempo alla sua esecuzione, eventualmente dividendo il tempo complessivamente disponibile tra più programmi in esecuzione. Questo obiettivo può essere ottenuto in modi diversi, in particolare:
- assegnando tutto il tempo macchina disponibile ad un singolo programma finché questo termina e passando poi al successivo;
- assegnando un quanto di tempo a tutti i programmi in successione, durante la loro esecuzione.