Cosa è un sistema operativo?

« Older   Newer »
 
  Share  
.
  1.  
    .
    Avatar

    Esperto

    Group
    Administrator
    Posts
    5,206
    Location
    Sassari

    Status
    Offline
    In informatica il sistema operativo (abbreviato spesso nel suo acronimo SO, o all'inglese OS, operating system) è l'insieme di routine e strutture dati responsabile del controllo e della gestione dei componenti hardware che costituiscono un computer e dei programmi che su di esso girano. Il sistema operativo mette anche a disposizione dei programmi una interfaccia software per accedere alle risorse hardware (dischi, memoria, I/O in generale) del sistema.

    Il compito principale del sistema operativo è quello di permettere all'uomo di interagire direttamente con la macchina.


    Un generico sistema operativo moderno si compone di alcune parti standard, più o meno ben definite.

    * Il kernel: un gruppo di funzioni fondamentali, strettamente interconnesse fra loro e con l'hardware, che vengono eseguite con il privilegio massimo disponibile sulla macchina; il kernel fornisce le funzionalità di base per tutte le altre componenti del sistema operativo, che assolvono le loro funzioni servendosi di esso. A seconda del tipo di sistema operativo il kernel può inglobare altre parti (kernel classico, monolitico o modulare) o fornire solo funzioni base delegando più funzioni possibile a oggetti/gestori esterni (microkernel).
    * Il gestore di file system: si occupa di esaudire le richieste di accesso alle memorie di massa. Viene utilizzato ogni volta che si accede a un file su disco, e oltre a fornire i dati richiesti tiene traccia dei file aperti, dei permessi di accesso ai file.
    * Un gestore di memoria virtuale, che alloca la memoria richiesta dai programmi e dal sistema operativo stesso, salva sulla memoria di massa le zone di memoria temporaneamente non usate dai programmi e garantisce che le pagine swappate vengano riportate in memoria se richieste.
    * Uno scheduler che scandisce il tempo di esecuzione dei vari processi e assicura che ciascuno di essi venga eseguito per il tempo richiesto. Normalmente lo scheduler gestisce anche lo stato dei processi e può sospenderne l'esecuzione nel caso questi siano in attesa senza fare nulla (esempio classico è la richiesta di dati da disco). Nei sistemi operativi realtime lo scheduler si occupa anche di garantire una timeline, cioè un tempo massimo di completamento per ciascun task in esecuzione, ed è notevolmente più complesso.
    * Uno spooler che riceve dai programmi i dati da stampare e li stampa in successione, permettendo ai programmi di proseguire senza dover attendere la fine del processo di stampa.
    * Una interfaccia utente (shell o GUI) che permette agli esseri umani di interagire con la macchina.

    A seconda dei casi, un particolare sistema operativo può avere tutti questi componenti o solo alcuni. Una ulteriore differenza fra i sistemi operativi è data dal tipo di comunicazione fra le varie componenti: i sistemi operativi classici sono basati su chiamate dirette di funzioni, mentre molti sistemi operativi moderni, soprattutto quelli che adottano microkernel, si basano sul message passing, sullo scambio di messaggi fra le loro varie parti e fra il sistema operativo e i programmi che fa girare.

    Vediamo ora alcune classi di sistemi operativi possibili, dal più semplice al più complesso.













    http://it.wikipedia.org/wiki/Sistema_operativo
     
    .
0 replies since 14/11/2008, 17:57   34 views
  Share  
.