Introduzione a Unix
Indietro |  | Avanti

# Capitolo 2 Struttura di Unix

# 2.1 Il sistema operativo

Unix è un sistema operativo a strati. Lo strato più interno è l'hardware il quale fornisce servizi al OS. Il sistema operativo (OS), riferito in Unix come al kernel, interagisce direttamente con l'hardware e fornisce i servizi ai programmi utente. I programmi utente non necessitano di conoscere informazioni sull'hardware. Devono solo sapere come interagire con il kernel ed è quest'ultimo a fornire i servizi richiesti. Uno dei più grandi fattori che ha contribuito alla richiesta di Unix da parte dei programmatori è stato che molti programmi utente corretti sono indipendenti dall'hardware sottostante, e ciò li rende facilmente trasportabili su nuovi sistemi.

I programmi utente interagiscono con il kernel attraverso un set di system call (chiamate di sistema) standard. Queste system call chiedono dei servizi, servizi che saranno forniti dal kernel. Così i servizi possono includere un accesso a un file: aprire, chiudere, leggere, scrivere un file, creare un link o eseguire un file; creare o aggiornare degli account (informazioni relative ad un utente come nome, password, ecc.); cambiare il proprietario di un file o di una directory; spostarsi in una nuova directory; creare, sospendere o terminare un processo; abilitare l'accesso a un dispositivo hardware e impostare dei limiti sulle risorse di sistema.

Unix è un sistema operativo multi-user (multi-utente) e multi-tasking (multi-processo). Si possono avere molti utenti “loggati” simultaneamente nel sistema (multi-user), ognuno dei quali esegue alcuni programmi (multi-tasking). È compito del kernel mantenere ogni processo e ogni utente separato e regolare l'accesso all'hardware di sistema, inclusa la cpu, la memoria, il disco e altri dispositivi di I/O.

    FIGURA 2.1   Struttura di un sistema Unix

     _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
    |                                       |
    |             Programmi                 |
    |   _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _   |
    |  |                                 |  |
    |  |            Kernel               |  |
    |  |   _ _ _ _ _ _ _ _ _ _ _ _ _ _   |  |
    |  |  |        Hardware           |  |  |
    |  |  |_ _ _ _ _ _ _ _ _ _ _ _ _ _|  |  |
    |  |                                 |  |
    |  |         System Call             |  |
    |  |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|  |
    |                                       |
    |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|

Indietro | Partenza | Avanti
Storia di Unix |  | Il file system

Questo, ed altri documenti, possono essere scaricati da ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Per domande su FreeBSD, leggi la documentazione prima di contattare <questions@FreeBSD.org>.
Per domande su questa documentazione, invia una e-mail a <doc@FreeBSD.org>.