Linux Vs. Unix: quali sono le differenze?

Linux e Unix sono spesso confrontati tra loro. Se la somiglianza nel loro nome non fosse abbastanza, Linux è tecnicamente un discendente di Unix e condividono una serie di somiglianze con i kit di strumenti e la struttura generale. Non sono esattamente la stessa cosa, però, e gli approcci e le filosofie dietro di loro sono radicalmente diversi.
In questo tutorial imparerai:

  • La storia di Unix
  • La storia di Linux
  • Come sono stati sviluppati Unix e Linux
  • Filosofia Linux vs Unix
  • Differenza tra software e utilità

La storia

Per capire veramente le differenze tra Linux e Unix, devi prima fare un passo indietro nel tempo e capire come è iniziato. Le loro origini sono molto diverse e queste differenze hanno contribuito a colorare la natura di ciascun sistema operativo.

Unix

Unix è iniziato come un progetto di ricerca presso i Bell Labs a metà degli anni ’70, quando è stato inizialmente sviluppato per scopi di ricerca sui computer PDP-11 di Bell. Poiché il linguaggio di programmazione C era sviluppato anche dagli sviluppatori Unix primari, Ken Thompson e Dennis Ritchie, iniziarono a convertire il codice sorgente Unix in C, rendendolo uno dei primi sistemi operativi portatili. Ciò significa che Unix, a differenza di molti altri sistemi operativi per computer dell’epoca, potrebbe essere utilizzato su più computer diversi.

Non ci è voluto molto tempo prima che le istituzioni educative, incluse le migliori università, vedessero il merito in Unix. Hanno iniziato ad adottarlo sia per i propri sistemi mainframe sia come strumento didattico per i loro programmi di informatica. Bell ha concesso in licenza Unix e il suo codice sorgente a queste università, portando a un’intera generazione di sviluppatori che hanno imparato su Unix, facendone la scelta primaria in ambito accademico e aziendale.

Nel corso del tempo, Unix si è diffuso in popolarità e altri importanti attori hanno iniziato a sviluppare le proprie versioni di Unix, tra cui HP-UX, Solaris, AIX e Berkeley Software Distribution (BSD). Durante gli anni ’80 e l’inizio degli anni ’90, Unix era ovunque, e dominava l’infrastruttura che alimentava le principali attività commerciali. Anche Unix è entrato in casa. Il Mac OS di Apple è basato sulla sua versione di Unix, Darwin.

Linux

Nel 1991, uno studente di informatica dell’Università di Helsinki di nome Linus Torvalds si sentì frustrato dalle licenze restrittive di MINIX, un altro sistema operativo discendente da Unix. In risposta, decise di replicare la funzionalità di MINIX nel suo stesso kernel del sistema operativo simile a Unix. Quel kernel in seguito divenne Linux.

Torvalds ha deciso di rilasciare il suo kernel sotto licenza GNU GPL e di distribuirlo su un giovane internet per la collaborazione e il miglioramento. La sua decisione modificherebbe il modo in cui Linux è stato sviluppato fino ad oggi e dà origine alla distribuzione Linux.

Originariamente, Linux era usato e costruito con le utility MINIX, ma per ragioni di licenza, divenne chiaro che Linux aveva bisogno del proprio set di utility. Ecco quando è stata creata una partita naturale.

In precedenza, nel 1983, un ricercatore del MIT, Richard Stallman, decise di replicare Unix e rilasciarlo sotto licenze di software libero affinché tutti potessero essere in grado di usarlo. Ha chiamato il suo progetto GNU, o GNU’s Not Unix. Nel 1991, quando Torvalds stava cercando un ecosistema per il suo kernel, GNU aveva tutte le utility necessarie per un sistema operativo, tranne il kernel. Accoppiare i due per formare il moderno sistema operativo Linux, GNU / Linux, è stato un gioco da ragazzi.

Da lì, gli sviluppatori hanno iniziato ad abbinare il kernel Linux con le proprie raccolte di software dal progetto GNU e da altre fonti compatibili. Queste distribuzioni di software erano ognuna il proprio sistema operativo completamente funzionale, costruito attorno al kernel di Linux. Non passò molto tempo prima che i giocatori aziendali iniziassero a farsi coinvolgere con questa economica sostituzione della Unix ingombrata di licenze, sviluppando alcune proprie distribuzioni.

Sviluppo

Probabilmente si può vedere da qui che le origini di ciascun sistema operativo dettavano chi stava sviluppando ciascuna e come.

Unix: l’approccio ordinato

Unix era un prodotto commerciale e ci sono ancora versioni commerciali di Unix. Sono sviluppati internamente da una singola entità aziendale e rilasciati in conformità con la programmazione e le scadenze delle società.

I BSD sono sistemi operativi Unix open source che, sebbene rilasciati liberamente, sono ancora sviluppati in un modo più ordinato. Il nucleo di BSD e le sue principali utility sono tutti gestiti dagli stessi sviluppatori. Sono sintonizzati con precisione su tutti i lavori in accordo tra loro e il sistema non viene rilasciato fino a quando tutto è pronto. Quindi, le altre distribuzioni BSD vanno e mettono il loro giro fuori le parti esterne del sistema. Il risultato è un sistema molto più controllato e misurato.

Linux: Unix incontra l’anarchia

Linux è praticamente l’esatto opposto di Unix. Tutto su Linux è il caos. Il kernel di Linux è supervisionato da un gruppo principale di sviluppatori impiegati dalla fondazione Linux, ma ricevono letteralmente migliaia di richieste di codice da parte di sviluppatori indipendenti e grandi aziende. Esaminano quel codice e lo raggruppano in un unico kernel coeso (si spera).

Le distribuzioni Linux non sono diverse. Anche le distribuzioni aziendali come Ubuntu e RHEL sono il risultato del fatto che i loro sviluppatori hanno preso centinaia di progetti indipendenti e li hanno uniti per formare un unico sistema. Gli aggiornamenti devono essere gestiti caso per caso per fornire a un progetto software indipendente l’interruzione di una dozzina di altri.

Sembra tutto piuttosto male, giusto? Questo caos è sempre stato la forza di Linux. Crea opzioni.

Se un progetto cade dietro o prende una direzione dubbia, ce ne sono altri cinque in attesa di sostituirlo. Le distribuzioni Linux sono in grado di adattarsi a casi d’uso specifici e di giocare su aree uniche di concentrazione e punti di forza.

Filosofia

Entrambi questi sistemi operativi vedono se stessi e il loro ruolo nel mondo informatico in modo molto diverso. Di nuovo, questi diversi punti di vista influenzano dove eccelle ciascuno.

Unix

Unix era ed è ancora un prodotto. Non viene con nessun tipo di coscienza sociale o obiettivo politico. Lo scopo di Unix è di servire è un sistema operativo stabile per fare le cose, tutto qui.

I BSD hanno adottato un approccio più di medio livello. La licenza BSD consente a BSD di essere distribuito, condiviso e modificato liberamente. Tuttavia, a differenza della licenza GPL, la licenza BSD non richiede che i progetti basati su BSD rimangano gratuiti. Di conseguenza, BSD è diventato uno dei preferiti dai produttori di hardware che utilizzano BSD come base dei propri sistemi operativi proprietari. Un sacco di router sono basati su BSD e la Playstation 4 ha persino utilizzato BSD come base del proprio sistema operativo.

Linux

Il kernel di Linux è sotto licenza GPLv2. La maggior parte delle utilità di base di Linux provengono dal progetto GNU e sono anche dotate di licenza GPL. Il risultato è un sistema che deve rimanere libero e software open source. Ecco perché RHEL, un prodotto commerciale, lascia aperta la sua fonte, lasciando la porta aperta a CentOS per creare un clone con lo stesso codice.

La GPL significa anche che se qualche azienda vuole basare qualcosa su Linux, deve lasciare la fonte aperta. Mentre questo potrebbe scoraggiare alcuni, la maggior parte dei casi ha portato le aziende a contribuire con il loro codice a Linux nel suo insieme e raccogliendo i benefici insieme a tutti gli altri. Google ha utilizzato il kernel Linux per il nucleo di Android e Chrome OS. Ora, sono uno dei maggiori contributori allo sviluppo di Linux.

Linux ha sempre avuto a che fare con la collaborazione della comunità. Mentre ciò può produrre la sua parte di caos, consente anche un ecosistema veramente aperto che consente ai migliori contributi di salire in cima.

Software e utilità

Non c’è molto altro da dire se non che BSD ha il suo specifico insieme di utility mentre Linux usa GNU e qualsiasi altra cosa che i manutentori della distribuzione decideranno funzionerà meglio per il loro sistema. In effetti, ci sono un sacco di distribuzioni Linux che prendono in prestito strumenti e utilità da BSD. La pura adattabilità e flessibilità di Linux è sempre stata ciò che gli ha permesso di sopravvivere e prosperare.

Conclusione

Entrambi i sistemi operativi sono stabili e affidabili. Unix tende ad essere migliore alla prevedibilità. È mansueto, ben progettato e generalmente funziona senza intoppi. Linux, d’altra parte, può essere solido o selvaggio come le persone che assemblano il sistema vogliono che sia. Se vuoi qualcosa che non cambierà per dieci anni, installa RHEL o CentOS. Vuoi volare vicino al posto dei tuoi pantaloni sul bordo sanguinante, metti Arch sulla tua macchina. Forse non ti piacciono le opzioni disponibili. Vai avanti costruisci la tua distribuzione Linux per te stesso. Nessuno ti ferma.

Lascia un commento

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.