Corso di Sistemi Operativi

Presentazione

 

Con questa puntata iniziamo un interessante excursus all’interno di un campo molto vario ed affascinante, quello dei sistemi operativi, del quale vedremo differenti aspetti di sicuro interesse, sia per gli appassionati del genere sia per i comuni utenti del classico PC.
Il corso si articolerà essenzialmente in tre parti: la prima parte introdurrà i concetti teorici di base dei sistemi operativi tradizionali; nella seconda parte vedremo una rassegna dei sistemi operativi attualmente in circolazione, dai classici sistemi Microsoft all’affermato Linux agli emergenti BeOS e QNX; infine, nella terza parte, approfondiremo la conoscenza della filosofia GNU e della sua GPL (General Public License), e di Linux in particolare, alla diffusione del quale si deve, principalmente, l’impetuosa avanzata dell’Open Source alla quale stiamo tuttora assistendo.
Data la loro maggiore diffusione, prenderemo in considerazione principalmente le architetture Intel e quelle ad esse compatibili, evidenziando, quando possibile, disponibilità e caratteristiche per le altre piattaforme.
Per eventuali suggerimenti e segnalazioni potete fare riferimento direttamente al redattore del corso (Angelo Carpenzano) o al webmaster di Software Planet (Tommaso Trani).

Cominciamo ricordando che un sistema di elaborazione può essere suddiviso, in prima approssimazione, in due componenti: l’hardware e il software.
Con il termine hardware si intende essenzialmente l’insieme dei costituenti fisici di un computer: circuiti integrati, fili, alimentatori, tubi a raggi catodici e altri dispositivi di questo genere.
Con il termine software si intende una grandissima categoria di programmi e applicazioni, senza i quali un computer, secondo la definizione dell’autorevole professore A. S. Tanenbaum (http://www.cs.vu.nl/~ast/), non sarebbe altro che un “ammasso di ferraglia”.
E’ il software, infatti, che consente ad un calcolatore di memorizzare ed elaborare informazioni, di inviare e ricevere e-mail da Internet, di far girare un gioco d’avventura, di eseguire tutta una serie di compiti, più o meno complessi, che lo rendono utile e, ai nostri giorni, indispensabile per molti (pensiamo a quante persone ci si guadagnano da vivere!).

Non bisogna dimenticare, tuttavia, che il software esiste anche in moltissime altre macchine di cui si fa uso abitualmente: dalle centraline di controllo delle automobili ai programmi di lavaggio delle moderne lavatrici, dai sistemi di navigazione aerospaziale ai telefoni cellulari…
E’ comunque evidente che tutti questi sistemi sono dedicati ad uno scopo ben preciso e, con rare e lievi eccezioni, durante il loro ciclo di vita non subiscono modifiche di comportamento; in questo si differenziano dai computer, oltre che per ovvie caratteristiche fisiche quali dimensioni, forma e complessità.
Un calcolatore può essere anch’esso adibito ad un solo uso: si pensi, ad es., ai grossi mainframe che si occupano di raccogliere ed elaborare i dati provenienti dai satelliti e dalle stazioni orbitanti sparpagliate intorno al nostro pianeta.

Diverso è il caso dei personal computer, ai quali, invece, viene chiesto di soddisfare un ampio ventaglio di esigenze diverse; si suole dire che il PC è general purpose, per indicare proprio questa caratteristica di estrema varietà di applicazioni ed usi che gli vengono assegnati.
In un sistema del genere è chiaro che i problemi si complicano, perché si richiede che più applicazioni girino contemporaneamente e che più utenti possano simultaneamente accedere alle risorse della macchina per stampare, collegarsi ad Internet, accedere ad un server remoto in una rete locale, e tanto altro ancora.
E’ in uno scenario di questo tipo che sorge l’esigenza di avere qualcosa che si occupi di gestire questa complessità.
Questo qualcosa è proprio il sistema operativo, di cui cominceremo a parlare a partire dalla prossima puntata.

 

Torna all'indice Generale del corso di Corso di Sistemi Operativi di Software Planet