sei sul sito di Giovanni Fraterno
I concetti base dei
sistemi operativi sono:
Per processo si intende un’azione complessa composta
da una sequenza di azioni elementari o istruzioni.
Per processore si intende l’esecutore
della istruzione di un processo.
Per processore fisico si intende il dispositivo
hardware vero e proprio e che implementa
le istruzioni di un processo.
Il più importante
processore fisico è la CPU.
Per risorsa si intende una entità hardware
o software necessaria alla creazione e/o all’avanzamento
dei processi.
Il sistema operativo è una macchina
astratta alla cui implementazione provvedono risorse hardware,
software e firmware.
Tutto ciò perché un sistema di elaborazione
è una composizione gerarchica di macchine astratte, composizione illustrata nella figura successiva.
Si tratta di una catena di
macchine in cui ciascuna di esse si regge sull’esistenza di quella sottostante.
Come si può vedere sono
individuabili 6 livelli.
A livello
0 è
collocata la macchina astratta M0 chiamata macchina hardware.
A livello 1 si colloca la microprogrammazione, con procedure che per lo più sono
cablate, cioè memorizzate in modo inaccessibile all’interno dei
processori fisici.
La macchina M1 del livello
1 si chiama macchina firmware ed è per lo più sostanzialmente fatta di registri,
unità di calcolo e bus.
A livello
2 è
presente la macchina M2, e che è detta macchina
assembler perché è la macchina a cui fanno riferimento i programmatori assembler.
A livello
3 è
presente la macchina M3, ovvero la cosiddetta
macchina del nucleo del sistema operativo, e
che appunto supporta la creazione e l’avanzamento dei processi.
A questo livello i processori fisici sono inaccessibili.
A livello
4 è
presente la macchina M4, ovvero la cosiddetta
macchina del sistema operativo.
A questo livello infatti si lavora con i file.
A livello 5 è presente la
macchina M5 , ovvero
la macchina delle applicazioni.
A questo livello accedono gli utenti finali, ovvero gli utenti di programmi già scritti.
Sempre a questo livello, ogni programma, detto programma applicativo, da luogo a
una macchina diversa secondo le intenzioni del programmatore che ha scritto il
programma applicativo stesso.
Si noti come salendo di livello,
da M0 a M5, gli oggetti con cui si lavora subiscono un processo
di astrazione, nel senso che man mano alcune
cose diventano invisibili, ovvero inaccessibili.