Livello 3 - Astrazione dell'I/O nel File System
Il File System è l'insieme di meccanismi tramite i quali si astrae la gestione dei dati. Ciascuna collezione di informazioni viene racchiusa all'interno di un'entità nota come file. È compito di questo livello gestire l'organizzazione e la collocazione di tutti i file presenti all'interno della macchina.
Unix organizza il File System tramite una struttura ad albero assegnando ai vari "rami" ambiti e privilegi diversi. Inoltre l'interfaccia di ciascun dispositivo viene astratta in uno o più file: se si accede a tali file in scrittura è infatti possibile agire parzialmente sui dispositivi presenti all'interno della macchina.
Generalmente le interfacce dei dispositivi sono racchiuse nei sottorami /proc/
o /sys/
in base alla versione del kernel in uso. Se si prova ad esplorare tali sottorami ci si accorge che sono presenti i direttori relativi a tutti i dispositivi di I/O della macchina: all'interno di tali direttori vi saranno un certo numero di file. Agendo correttamente e con la dovuta cautela è possibile impartire le disposizioni volute semplicemente sovrascrivendo il contenuto di tali file.
Livello 4 - Application Programming Interface (API)
Giunti a questo livello possiamo finalmente allontanarci dalla macchina; essa è infatti completamente astratta dai moduli sottostanti i quali ci restituiscono un dispositivo virtuale esteso ma non ancora completo, almeno per quanto riguarda le aspettative dell'utente.
Occorre introdurre il software di base che permetta il passaggio dal supporto creato ai programmi noti all'utenza generale. Possiamo già includere programmi veri e propri come ad esempio l'interprete dei comandi o shell, oppure scrivere librerie che agevolino la programmazione al livello superiore. In questo modulo inseriamo tutte le librerie avanzate che riteniamo necessarie, dalla libreria standard del linguaggio C (Glibc all'interno del progetto GNU), ai toolkit per lo sviluppo di software a interfaccia grafica (ad esempio le librerie Qt o GTK+). I programmatori del livello superiore faranno uso di tali librerie per scrivere i programmi che utilizziamo quotidianamente.
Livello 5 - Software applicativo
Questo è il modulo finale, ovvero l'interfaccia fra l'utente e l'intero sistema che abbiamo visitato in questo articolo. Utilizzando le librerie di Interfaccia alla Programmazione di un'Applicazione (note come API) i programmatori sono in grado di creare tutto ciò che vediamo sul monitor, dai singoli applicativi come gli elaboratori di testo o i browser Web all'intero Desktop Manager.
----
Questa struttura non ha la pretesa di essere un modello di riferimento per i Sistemi Operativi Desktop Oriented ma rimane comunque un buon esempio da utilizzare per avere una visione globale senza scendere troppo nei dettagli.