Qual è la differenza tra UNIX® e Linux®?

UNIX® e Linux® sono due tipi di sistemi operativi che possono essere abbastanza simili dal punto di vista dell’utente, ma sono molto diversi internamente. I kernel del sistema operativo (OS) sono strutturati in modo diverso e richiedono driver di dispositivo diversi. I sistemi operativi Linux® sono spesso software interamente open source, mentre molte implementazioni UNIX® non lo sono. UNIX® e Linux® sono spesso utilizzati da aziende, governi e studenti per un’ampia varietà di attività informatiche. Sono utilizzati anche in molti dispositivi portatili come telefoni cellulari, Personal Digital Assistant (PDA) e computer netbook.

Il sistema operativo UNIX® originale è stato sviluppato presso l’American Telephone and Telegraph Company (AT&T) nel 1969. Durante gli anni ‘1970, AT&T ha concesso in licenza il sistema operativo e il suo codice sorgente a molte aziende commerciali, nonché al governo degli Stati Uniti e alle istituzioni educative. Molte varianti sono state sviluppate al di fuori di AT&T, in parte a causa delle reazioni ai crescenti costi di controllo e di licenza dell’azienda. Alcune di queste varianti aderiscono più strettamente agli standard UNIX® informali degli anni ‘1980 e ‘1990 rispetto ad altre. UNIX® è un termine abbastanza ampio ed è spesso associato a versioni simili, ma non standardizzate, del sistema operativo.

La Berkeley Software Distribution (BSD) è una versione concorrente di UNIX® sviluppata presso l’Università della California, Berkeley. Una variante open source gratuita chiamata 386BSD è stata rilasciata per la prima volta nel 1992, un anno dopo che Linus Torvalds ha iniziato a scrivere il primo kernel Linux®. La maggior parte delle implementazioni UNIX® non sono open-source, il che è una grande differenza tra UNIX® e Linux®. UNIX® è spesso venduto con una licenza piuttosto restrittiva che include una tariffa elevata valutata per utente o per sito. Al contrario, i sistemi Linux® sono generalmente distribuiti liberamente con codice sorgente sotto i termini liberali della GNU General Public License (GPL).

Il sistema operativo Linux® è stato sviluppato molto tempo dopo la maturazione di UNIX®. UNIX® e Linux® condividono molti degli stessi concetti e gli strumenti software inclusi in ciascuno forniscono funzionalità simili. Tuttavia, la progettazione e l’implementazione del kernel Linux® e di altri software del sistema operativo è diversa da UNIX®. Molte delle utilità, dei compilatori e degli editor sviluppati dal Progetto GNU sono distribuiti con il sistema operativo Linux®. L’obiettivo di GNU è produrre e mantenere un sistema software libero compatibile con UNIX®, incluso un kernel.

Il kernel Linux® creato da Torvalds, distribuito sotto i termini della GNU GPL, è il fondamento di tutti i sistemi Linux®. È generalmente più piccolo e più efficiente della maggior parte dei kernel UNIX®, progettato da zero per essere molto simile a UNIX®. Tuttavia, i driver di dispositivo, i file system e altri componenti interni del sistema operativo sono piuttosto diversi. I sistemi UNIX® e Linux®, quindi, richiedono driver separati per ogni dispositivo, in quanto non sono compatibili sotto questo aspetto.
Le interfacce utente sono spesso diverse anche tra i sistemi UNIX® e Linux®. UNIX® ha tradizionalmente utilizzato un’interfaccia a riga di comando basata su testo che è disponibile anche con Linux®. Molti sviluppatori hanno creato sistemi di interfaccia utente grafica (GUI) completi per Linux®, alcuni dei quali sono stati portati anche su UNIX®.
I kernel Linux®, le utilità GNU e il relativo software libero sono continuamente supportati e migliorati da una vasta comunità di sviluppo open source. Al contrario, ogni versione di UNIX® tende ad avere un proprio piccolo gruppo specializzato di sviluppatori, la maggior parte dei quali lavora per un particolare fornitore di UNIX®. Il supporto UNIX® è spesso disponibile solo tramite un accordo di supporto a pagamento con il fornitore o una terza parte.