UNIX vs Linux: in cosa differiscono?

UNIX vs Linux: in cosa differiscono?

UNIX è un potente sistema operativo multiutente (OS) che ha definito il modo in cui facciamo computing per più di 40 anni. Ha fornito molte funzionalità e astrazioni che oggi diamo per scontate. Ciò include l’idea che i file siano una sequenza di byte non interpretata, nonché la nozione di un file system gerarchico.

Questo articolo ti mostrerà alcune delle differenze tra il sistema operativo UNIX originale e il suo moderno successore spirituale: Linux. Inoltre, ti mostrerà anche un breve riassunto sia della storia che delle caratteristiche importanti di ciascun sistema.

Che cos’è UNIX?

Dalla fine degli anni ’70, UNIX ha stabilito lo standard per quello che può essere considerato un sistema operativo moderno e potente. Sviluppato nei Bell Laboratories, è diventato il veicolo che ha guidato la ricerca sui sistemi operativi per alcune delle menti più brillanti dell’informatica.

Uno screenshot della root shell di 7th Edition Research Unix.

Il sistema operativo UNIX di ricerca originale può essere suddiviso in sette edizioni separate. Ognuno dei quali ha introdotto numerose innovazioni su come funziona il sistema UNIX, insieme alle sue utilità. Ad esempio, entrambi i programmi awke sedsono usciti per la prima volta nella settima edizione di Research UNIX.

Uno screenshot della pagina man awk di 7th Edition Research Unix.

Negli anni ’80, AT&T ha riconfezionato l’originale UNIX di ricerca insieme ad altre varianti interne per creare un sistema commerciale per aziende e istituzioni. Questo divenne noto come System III e System V UNIX. Comprendeva funzionalità come il comando uname e Korn Shell. Alla fine, queste due versioni sono diventate la base per i moderni derivati ​​UNIX come illumos , OmniOS e IBM AIX .

Una console che mostra un prompt OmniOS di base.

Cos’è Linux?

Linux è un’implementazione clean room di un kernel simile a UNIX compatibile con POSIX per le moderne architetture di sistema. Linus Torvalds lo creò nel 1991 come un piccolo progetto che forniva un kernel open-source alternativo al System V UNIX closed-source.

Uno screenshot che mostra un desktop Ubuntu Linux.

La maggior parte delle persone pensa a Linux come a un sistema operativo in sé. Tuttavia, corrisponde solo al binario del kernel del sistema. Una macchina Linux è spesso una raccolta di progetti software guidati dalla comunità che i manutentori raggruppano come un’unica “distribuzione”. Ogni distribuzione fornisce i propri processi di compilazione univoci insieme a un set base di programmi.

Un terminale che mostra la versione corrente del kernel Linux su Ubuntu 22.04.

Ad esempio, sia Red Hat Enterprise Linux che Devuan Linux utilizzano il kernel Linux ma hanno utilità per lo spazio utente molto diverse.

Uno screenshot del desktop RHEL 8 di base.

Al giorno d’oggi, Linux è un nome familiare su quasi tutti i livelli di elaborazione. Oltre ad essere la spina dorsale di Internet, puoi trovare Linux su schede SoC e distribuzioni ad alte prestazioni che girano su cluster di supercomputer.

Uno screenshot della pagina web della distribuzione Ubuntu SoC Linux.
Fonte immagine: https://ubuntu.com

Comandi UNIX vs. Linux

Sebbene UNIX e Linux condividano un paradigma informatico comune, entrambi i sistemi operativi divergono sui comandi e sulle opzioni che è possibile utilizzare al loro interno.

Panoramica dei comandi UNIX di base

In generale, i comandi UNIX sono spesso concisi e contengono poche o nessuna opzione aggiuntiva. Ciò è in linea con l’origine incentrata sulla ricerca del sistema operativo in cui si aspetta che i suoi utenti possano programmare le funzionalità che desiderano dalla macchina.

Uno screenshot della pagina cat man di 7th Edition Research UNIX.

Ad esempio, il catcomando in UNIX ha un solo flag mentre lsne contiene solo 11. Inoltre, il sistema UNIX originale non ha opzioni lunghe per i suoi comandi. Questo può rendere il sistema poco intuitivo all’inizio, ma veloce una volta che si ha familiarità con le sue opzioni in forma abbreviata.

Uno screenshot della pagina man ls di 7th Edition Research UNIX.

Poiché i sistemi derivati ​​da UNIX cercano di mantenere il codice e i programmi legacy, la maggior parte dei suoi comandi di livello inferiore ora sono leggermente diversi da una normale distribuzione Linux. Ad esempio, OmniOS utilizza il bootloader BSD e System V Init invece di GNU GRUB e systemd.

Uno screenshot del bootloader OmniOS BSD.

Panoramica dei comandi di base di Linux

A differenza di UNIX, ogni comando in Linux contiene una varietà di opzioni che estendono le funzionalità delle loro controparti originali. Ciò rende il sistema accessibile ai non programmatori poiché la maggior parte di ciò di cui hai bisogno è già nei programmi per impostazione predefinita.

Un terminale che mostra la pagina cat man di Linux.

A parte questo, il kernel Linux fornisce anche funzionalità aggiuntive, come KVM, che può esporre come comandi all’utente. Ad esempio, libvirtd di Red Hat consente di utilizzare il sistema operativo come Hypervisor di tipo 1.

Uno screenshot che mostra la console RHEL VM Cockpit utilizzando libvirtd.

Infine, Linux fornisce anche opzioni di lunga durata per alcune delle sue utilità principali. Si tratta di flag memorabili e dettagliati che consentono agli utenti di specificare rapidamente la funzione che desiderano senza memorizzare opzioni oscure a lettera singola.

Uno screenshot delle opzioni di lunga durata in Linux.

Differenze tra UNIX e Linux

Con questo in mente, UNIX e Linux differiscono anche su alcune implementazioni e dettagli specifici del sistema. Questi includono lo stato del copyright di ciascun sistema operativo, nonché le prestazioni generali e l’usabilità. La tabella seguente evidenzia alcune delle principali differenze tra i due sistemi operativi:

UNIX Linux
Stato del diritto d’autore La maggior parte delle varianti sono closed-source. A parte l’antico UNIX, solo una manciata è open-source. La maggior parte delle distribuzioni sono open-source e gratuite.
Supporto comunitario Può essere difficile ottenere un adeguato supporto da parte della comunità. La maggior parte delle distribuzioni Linux ha una base utenti attiva per il supporto basato sulla comunità.
Risoluzione del problema UNIX open source può essere lento nel risolvere problemi non critici nel sistema. Le distribuzioni popolari possono risolvere rapidamente anche problemi non critici.
Sviluppo del kernel Il kernel e la userland sono sviluppati dallo stesso team. Questo può portare ad aggiornamenti più lenti ma a un codice più affidabile. Il kernel e la userland sono progetti diversi guidati da persone diverse. Ciò può causare problemi e incompatibilità.
Prestazioni generali I miglioramenti delle prestazioni del codice del kernel possono richiedere del tempo per lo sviluppo e la distribuzione. Il kernel Linux è solitamente più veloce di altre alternative.
Sicurezza UNIX open source è relativamente sicuro per le normali attività di elaborazione. SELinux è la barra d’oro per le attività mission-critical nonché un requisito per la conformità agli standard.
Facilità d’uso Le opzioni dei comandi UNIX possono non essere intuitive poiché non utilizzano nomi in formato lungo. Linux può essere più facile da usare per un principiante poiché ha comandi intuitivi.
Supporto binario Può essere difficile trovare software al di fuori del repository predefinito. Le distribuzioni Linux offrono diversi modi per installare i pacchetti.
Supporto hardware Il supporto è in genere focalizzato sull’hardware di livello aziendale attuale e legacy. Linux supporta sia l’hardware consumer che quello di livello aziendale.
File system disponibili I sistemi di solito vengono forniti con ZFS, UFS, JFS e FFS. Linux viene fornito con EXT2, 3 e 4 insieme a XFS, BTRFS e JFS.
Interfacce grafiche disponibili La maggior parte dei sistemi oggi utilizza GNOME o Openbox. La maggior parte delle distribuzioni utilizza GNOME, KDE o XFCE, ma ci sono molti altri ambienti desktop tra cui scegliere.
Guscio predefinito I sistemi UNIX oggi utilizzano l’originale Bourne shell (Bsh) della 7a edizione Research UNIX. La maggior parte dei sistemi oggi utilizza l’implementazione gratuita della shell Bourne: Bourne Again Shell (Bash).

Domande frequenti

Windows è un sistema UNIX?

No. Windows è un sistema operativo completamente diverso da UNIX e Linux. Microsoft originariamente sviluppò Windows come shell grafica per il sistema operativo MS-DOS, ma da allora è diventato il proprio sistema con l’introduzione del kernel di Windows NT.

macOS è UNIX?

SÌ. L’attuale versione di macOS utilizza il sistema operativo Darwin che gira sul kernel XNU. Questo è un kernel simile a UNIX che Apple sviluppa insieme a Darwin. XNU utilizza principalmente la base di codice FreeBSD per i suoi filesystem, lo stack di rete e le librerie di sistema.

Qual è più veloce: Linux o UNIX?

Nella maggior parte dei casi, Linux è un sistema operativo più veloce rispetto a UNIX. Tuttavia, ci sono casi in cui UNIX è più veloce ed efficiente, specialmente su architetture di livello aziendale come SPARC.

Credito immagine: Maksym Zakharyak tramite Unsplash . Tutte le modifiche e gli screenshot di Ramces Red.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *