|
|
Informalmente, il termine è spesso usato per indicare il software che viene fornito con il computer prima che sia stata installata qualunque applicazione.
Il sistema operativo provvede che le altre applicazioni possano usare la memoria, i dispositivi di input/output e l'accesso al file system. Se molteplici applicazioni sono in esecuzione, il sistema operativo le gestisce in modo che tutte abbiano un tempo sufficiente di accesso al processore.
Un sistema operativo è concettualmente diviso in due componenti. La shell e il kernel. Come indica il nome, la shell (guscio, conchiglia) è un involucro esterno per il kernel (nucleo) che a sua volta dialoga direttamente con l'hardware.
Hardware <-> Kernel <-> Shell <-> Interfaccia Grafica <-> Applicazioni
In alcuni sistemi operativi l'interfaccia grafica, la shell ed il kernel sono entità completamente separate, permettendo di avere
diverse combinazioni di shell e kernel ed interfacce grafiche (es. Unix), in altri la loro separazione é solo concettuale e praticamente non differenziabile da parte dell'utente(es.
Windows).
Le ideologie di progettazione del kernel includono il kernel monolitico, il microkernel e l'exokernel. Tra i sistemi commerciali, come Unix e Windows, l'approccio monolitico é predominante, con alcune eccezioni (es. QNX). Il microkernel é più popolare nei sistemi operativi di ricerca. Molti sistemi operativi di tipo embedded usano exokernel ad-hoc.
Esempi di Sistemi Operativi
Classificazione e Terminologia