| 46. Mi può spiegare il sistema operativo? |
Ovviamente non le parlerò di singoli sistemi
operativi che troverà illustrati in tanti manuali a suo piacimento. Invece
vedremo il
sistema operativo in generale: uno studio che offre notevoli stimoli. Il sistema operativo viene definito come un insieme di programmi volti a gestire il singolo computer o talora diverse macchine insieme. Esso controlla le componenti software ed anche quelle hardware. In tutte le lingue per "operativo" si intende un esecutore il quale viene contrapposto a chi è direttivo come viene chiamato chi comanda. Il sistema operativo supervisiona ma ha un nome che indica esattamente l'opposto di quello che fa. Essendo la discrepanza totale a mio avviso l'insegnante non può ignorarla ed informerà lo studente dell'incongruenza linguistica che rischia di pregiudicare un corretto approccio. Spesso invece il docente non lo fa ed inoltre illustra il sistema operativo mediante questo schema.
fig 1 La figura dice che nell'azionare il computer l'utente interagisce con il sistema operativo (ad esempio Windows o Linux) il quale a sua volta fa intervenire i vari programmi e questi i dati. Questo modo di presentare l'argomento rinforza, invece di cancellare, il concetto che il sistema operativo sia un elemento di interfaccia, un elemento strumentale e non invece un elemento direttivo che guida il funzionamento di tutto un elaboratore. Si comincia con l'accettare un termine infelice come è l'aggettivo "operativo" e si finisce per consacrarlo con lo schema di fig 1. In questo modo la definizione di partenza viene del tutto annullata.
Per illustrare il sistema operativo in modo coerente alla definizione sopra presentata, proponiamo una strada diversa. A livello software troviamo infatti due principali gruppi di programmi:
Dunque esiste una gerarchia a livello software che possiamo un poco dettagliare. Il sistema operativo è costituito da un kernel o nucleo che si trova al vertice e da una serie di moduli che governano i vari settori:
Dunque mettendo insieme le varie parti otteniamo uno schema gerarchico che da ordine a tutti programmi software che girano insieme in un sistema.
Questa organizzazioneè reale e non immaginifica, nel senso che ci sono precisi meccanismi (software + hardware) che realizzano la gerarchia in figura. In pratica succede che ogni risorsa nella terza riga viene gestita da un programma della seconda riga. Ad esempio un programma applicativo lavora soltanto dietro la precisa attivazione del job manager (nella risposta 120 viene citato il loader che svolge questa funzione e fa parte infatti del job management). Al vertice il nucleo ha il controllo completo e mediante il meccanismo degli interrupts (vedi risposta 80) attiva le funzioni di management che servono momento per momento. La struttura gerarchica in figura dice che i programmi rendono il computer simile ad una azienda con la direzione generale, i vari dipartimenti ed i reparti operativi in basso. Questo paragone serve per capire che il sistema operativo crea un preciso ambiente (come si dice in gergo) in modo simmetrico alla direzione che dà un preciso stile all'azienda. Una unica macchina hardware opera con stili diversi a seconda dei sistemi operativi che vi vengono istallati, e dunque il sistema operativo non è strumentale ma tipicizza a fondo le prestazioni e le funzioni della macchina, cosa che non farebbe se fosse vero lo schema di figura 1.Abbiamo spiegato (vedi
risposta 20) che i
programmi applicativi seguono tre stili, così pure i sistemi operativi
seguono tre principali filoni. Essi operano in modo: I sistemi interattivi talora
hanno una shell o intefaccia grafica
che facilita la preparazione dei comandi. Per Unix ne sono state costruite
molte: C, Bourne, Korn tra le più note.
La shell ci fa capire che solo una componente del sistema operativo -
peraltro una componente abbastanza superficiale - opera come interfaccia e
non tutto il sistema operativo. La fig 1 dunque confonde tutto il
sistema con una sua parte.
anno 2001 |