Sistemi operativi/Funzionalità dei sistemi operativi: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Riga 63:
== Le funzionalità di un sistema operativo ==
 
applicativi.
Ovviamente, un sistema operativo deve essere caricato in memoria prima di ogni programma applicativo e prima di ogni software di gestione dei dispositivi hardware.
Tale caricamento è una procedura complessa, ed è chiamata in vari modi, tra cui "caricamento del sistema operativo", "bootstrap" (abbreviato "boot"), e "Initial Program Loading" (IPL).
 
Nel caricamento vengono portati in memoria principale:
* la parte fondamentale del sistema operativo, chiamata con termine inglese di "kernel" (nucleo);
* il software di gestione dei dispositivi hardware (in inglese "device driver");
* eventualmente, i moduli per gestire gli archivi in memoria secondaria (file system);
* eventualmente, i moduli per gestire lo schermo in modalità grafica (windowing system).
Infine, vengono lanciati uno o più programmi applicativi.
 
A questo punto il sistema operativo rimane caricato in memoria, ma agisce solo su richiesta, cioè in risposta a interrupt o a chiamate di sistema.
 
In molti sistemi le chiamate di sistema sono implementate con la stessa tecnica degli interrupt, e quindi vengono detti (impropriamente) "interrupt software".
In tali sistemi, i veri interrupt sono pertanto chiamati "interrupt hardware".
 
I tipi di interrupt sono determinati dall'architettura dell'elaboratore.
Il sistema operativo può solamente gestirli, ma non crearne di nuovi.
Esempi di interrupt sono i seguenti:
* Un dispositivo (per esempio un disco, un'interfaccia di comunicazione con una periferica, un'interfaccia di comunicazione in rete) ha completato l'operazione richiesta precedentemente.
* Ad un dispositivo (per esempio la tastiera, il mouse) sono giunti dei dati da elaborare.
* Il timer di sistema è scattato.
* È stata eseguita un'istruzione illegale.
 
Le chiamate di sistema sono i servizi che il sistema operativo mette a disposizione dei programmi applicativi.
Esempi di chiamate di sistema sono le seguenti:
* Apertura di un file.