2) Sistemi operativi

12

Introduzione

Il sistema operativo è un programma dedicato alla gestione del calcolatore.

All'accensione di un calcolatore viene eseguito un programma di base memorizzato su una memoria ROM, il BIOS.

Al termine dell'esecuzione del BIOS viene caricato in memoria ed eseguito automaticamente il programma che inizia alla traccia 0 del disco di avvio, che è il sistema operativo.

12

Compiti del sistema operativo

Gestione dell'interfaccia utente

Controllo dell'esecuzione dei programmi (processi)

Gestione della memoria

Gestione delle periferiche

Gestione del file-system

12

Gestione dell'interfaccia utente

Il sistema operativo esegue un ciclo infinito nel quale attende che gli vengano inviati comandi dall'utente, attraverso la tastiera o il mouse.

Il sistema decodifica ogni comando e se lo riconosce come valido manda in esecuzione un programma che esegua l'azione richiesta.

12

Controllo dell'esecuzione dei programmi

Un processo è un programma in esecuzione: include il programma eseguibile, i dati che questo sta usando etc…

Un processo può trovarsi in due stati: in esecuzione o sospeso. Nel secondo caso tutti i suoi dati, il program counter etc... sono salvati e verranno ricaricati in memoria quando viene ripristinato lo stato di esecuzione.

Il controllo dei processi è responsabile di creare processi, inviarli in esecuzione, sincronizzarli tra di loro, gestirne le priorità.

12

Gestione della memoria

Ogni programma in esecuzione richiede al sistema di riservargli una certa quantità di memoria.

Il sistema alloca quando possibile un'area di memoria al programma che la richieda, ma la memoria non è illimitata e quindi il sistema deve conoscere il grado di occupazione della memoria ed eventualmente negarne l'uso a programmi che ne richiedano troppa sospendendoli in attesa che si liberi la memoria richiesta.

12

Gestione delle periferiche

Il sistema operativo nasconde all'utente le complessità dei dispositivi periferici e le loro caratteristiche hardware, consentendovi l'accesso tramite chiamate semplici.

Inoltre il sistema identifica nei vari processi in esecuzione le richieste di accesso a periferiche e le gestisce in modo mutualmente esclusivo, per evitare che due processi tentino di scrivere contemporaneamente sullo stesso disco o altro dispositivo.

12

Gestione del file-system

Il sistema operativo organizza la memorizzazione su disco in raccolte organizzate di dati (file).

Il file-system è responsabile

di stabilire la relazione tra i file logici e l'hardware (tracce del disco)

di fornire uno schema di nomi che consenta di far riferimento ai file

di fornire un sistema di protezione dei file, specialmente in ambienti multi-utente.

12

Sistemi operativi

Storicamente ogni costruttore di calcolatori ha scritto un proprio sistema operativo (firmware) che veniva distribuito insieme alla macchina.

Con l'uniformarsi delle architetture e con l'avvento dei Personal Computer, la varietà di sistemi operativi è andata riducendosi.

Attualmente Windows è il sistema largamente più diffuso, mentre Unix è quello più utilizzato negli ambienti scientifici.

12

Windows

È stato introdotto a fini commerciali ed è caratterizzato da una particolare semplificazione dell'interfaccia utente.

Per la qualità e quantità di software sviluppato in questo ambiente è senza dubbio il sistema più idoneo per l'utilizzo di applicazioni quali word processing, uso di database, indirizzamento di periferiche standard, scrittura di lucidi per presentazioni e lezioni …

Non è ottimizzato per l'uso in rete e non supporta più di un utente: WindowsNT e Windows2000 sono nati per queste nuove funzioni.

12

Unix

Sviluppato in ambienti scientifici è ottimizzato per usi non comuni e per l'utilizzo in rete dei calcolatori oltre che per l'uso di uno stesso calcolatore da parte di più utenti.

Esistono dei sistemi Unix freeware quali Linux (che a sua volta esiste in varie distribuzioni: RedHat, Slackware, Suse...) o FreeBSD dei quali sono disponibili anche i codici sorgente (open source).

Le varie distribuzioni forniscono delle interfacce utente semplificate, ma non sono standardizzate.

12

Il file-system di Windows

Il file-system è il sistema che gestisce non solo la collocazione dei files sul disco rigido ma più in generale tutti i dischi e periferiche di un computer.

Sotto Windows ogni dispositivo hardware è associato ad una diversa unità logica ed è rappresentato nel pannello di controllo con un'icona: in particolare due dischi appaiono come due icone distinte.

La maggior parte di voi ha familiarita' con questo sistema operativo, che non verra' usato nell'ambito di questo corso. Esercitazioni in ambiente Windows verranno effettuate nel corso che si terra' al secondo semestre (Lab. Calc. I).

12

Il file-system di Unix

Il file-system viene visto come un albero di direttori.

Tutti i dispositivi sono visti nello stesso modo dal sistema operativo, ovvero come file.

Ogni file può essere montato (comando mount) sul file-system e quindi associato ad un particolare punto dell'albero logico.

La gestione dei file sotto Unix è oggetto dell’esercitazione di oggi.

Laboratorio di Calcolo: sistemi operativi

Domizia Orestano - Dipartimento

2006-09-20T11:19:55