Struttura del Sistema Operativo Unix
Il sistema operativo UNIX è composto da tre strati: kernel, shell, e utility/applicazioni. Questi creano un sistema portabile, multiutente e multitasking. Esistono molte versioni, ma tutte condividono la stessa struttura. UNIX è usato da programmatori, aziende, università e governi per la sua stabilità e capacità di eseguire molti task simultaneamente.
Basi
UNIX è un sistema multiutente e multitasking progettato originariamente per programmatori dai dipendenti AT&T ai Bell Laboratories nel 1969. "Multiutente" e "multitasking" significano che molti utenti possono eseguire task simultaneamente su una macchina. Ogni utente interagisce con la propria istanza della shell e può avviare una o più applicazioni al suo interno.
Kernel
Il Kernel è il cuore di UNIX. È un'applicazione software che fa da interfaccia tra hardware e utente. Gestisce processi, memoria, file, dispositivi e rete. Garantisce che tutti i task di sistema e utente vengano eseguiti concurrentemente.
Shell
La shell è il programma tra utente e kernel. Interpreta i comandi digitati nel terminale. Gli utenti possono digitare comandi direttamente o creare file di testo con serie di comandi (script shell).
Esistono diverse shell: Bourne shell (sh), C shell (csh), Korn shell (ksh), Bourne Again shell (bash). Ognuna ha i propri comandi, ma i comandi di sistema sono uguali per tutte. La shell iniziale è definita dall'amministratore di sistema. L'utente può cambiare la shell predefinita con "chsh" per usare funzionalità specifiche o per preferenza personale.
Utility e Applicazioni
L'ultimo strato include comandi, videoscrittori, programmi grafici e database. Tradizionalmente si accedeva digitando comandi sulla riga di comando; ora anche tramite GUI.
Versioni
Versioni proprietarie: Solaris (Sun), SCO UNIX, AIX (IBM), HP-UX (Hewlett Packard). Versioni open source: FreeBSD, NetBSD, OpenBSD. Apple OS X è una versione proprietaria di UNIX, unica per la capacità di eseguire applicazioni per Windows (Microsoft Office, Adobe Photoshop). Linux è un sistema UNIX-like: stessa struttura, ma scritto senza codice UNIX originale.