next up previous contents
Next: Interfacce utente Up: Approfondimenti: Sistemi Operativi Previous: S. O. : definizioni   Contents

Architettura a livelli del software

Il ruolo e la composizione del S.O. sono meglio compresi in una rappresentazione grafica a livelli. Nel grafico, in alto sta l'utente, in basso il computer. Ogni livello scambia dati solo con quello superiore e quello inferiore.

  1. Tutti conoscono la distinzione tra hardware (elettronica) e software (logica). Il punto fondamentale è che in un computer (ad es. un PC), a differenza di altre apparecchiature (come un telefonino o un elettrodomestico) hardware e software sono separati: su uno stesso hardware (HW) si possono installare differenti software (SW). Questo è molto utile.

    Figure 3.1: hardware e software

    \includegraphics[scale=0.5]{livelli-1}

  2. A sua volta, il SW è diviso in due parti: il Sistema Operativo (SO) e le Applicazioni (A) o programmi. Il SO è essenziale e serve a comandare tutto il computer, ma sopra il SO si possono installare tutte le A che si vuole. In quest'approssimazione, l'utente interagisce: o con il SO direttamente, o con un'A.

    1][t]0.7Notare bene la differenza tra S.O. e programmi applicativi. Ad es: OpenOffice.org è un programma applicativo che funziona sia sul S.O. Windows che sul S.O. GNU/Linux.

    Altro esempio: si può usare un calcolatore senza MS-Office, ma non senza MS-Windows (se questo è il S.O. installato)

    Figure 3.2: sistema operativo e applicazioni

    \includegraphics[scale=0.5]{livelli-2}

  3. Una rappresentazione migliore distingue ulteriormente le componenti del SO:

    Notare che le applicazioni A si inseriscono ``tra'' kernel e interfaccia utente, che quindi devono essere in grado di dialogare con tutte le A in modo unificato, l'una (K) dal lato hardware, l'altra (IU) dal lato utente.

    Figure 3.3: kernel, comandi, interfaccia utente

    \includegraphics[scale=0.5]{livelli-3}

  4. Infine, l'IU è di due tipi:

    L'utente si può rivolgere o all'IG o all'IT; ma può rivolgersi all'IT anche attraverso l'IG: cioè può aprire entro quest'ultima una finestra con un'interfaccia testuale o terminale

    Figure 3.4: interfacce utente

    \includegraphics[scale=0.5]{livelli-4}

L'importanza della struttura a livelli sta nell'indipendenza reciproca dei vari livelli. In alcuni sistemi operativi, come Windows, K+C+IG+IT appaiono come un unico blocco; invece in altri, come UNIX, ciascuna di queste componenti può essere sostituita lasciando invariate le altre. Per esempio su uno stesso K possono essere installati diversi sistemi di C; un utente può scegliere tra diversi tipi di IT (in particolare, di shell: vedi sotto); può usare alternativamente diverse interfacce grafiche (in particolare, diversi Desktop Manager: vedi sotto).

Tutte queste componenti possono essere realizzate indipendentemente, da soggetti diversi.

Anche se ciò che lo caratterizza è il kernel, spesso si usa il termine ``sistema operativo'' per riferirirsi ad un insieme di kernel, comandi, applicazioni di sistema e interfacce utente:

Figure 3.5: varie componenti del sistema operativo

\includegraphics[scale=0.5]{livelli-5}

In questo schema, l'unica parte di software che non fa parte del sistema operativo sono le applicazioni non di sistema. Anche se queste occupano nella figura uno spazio piccolo (la parte bianca del blocco A), possono essere una parte rilevante (p.es. in termini di spazio disco) del s/w installato sul calcolatore, e comunque dell'uso che l'utente fa del calcolatore.


next up previous contents
Next: Interfacce utente Up: Approfondimenti: Sistemi Operativi Previous: S. O. : definizioni   Contents
Giorgio F. Signorini 2011-11-14