Qual è la differenza tra Unix, Linux, BSD e GNU? [chiuso]


27

Qual è la differenza fondamentale tra Unix, Linux, BSD e GNU? Unix era il primo sistema operativo, quindi il termine "Unix like" è comprensibile, poiché hanno kernel, struttura del file system, la maggior parte dei comandi, utenti ecc. Sono gli stessi di Unix. Ancora perché sono diversi? Cosa li ha fatti distinguere? È il kernel?


2
A questa domanda è possibile rispondere con la risposta a: Tutti i comandi Unix sono stati riscritti in Linux? .
un CVn

Risposte:


31

Questa è una domanda difficile a cui rispondere.

Il primo "Unix Like" o "* nix" di solito significa POSIX. Tutti i sistemi elencati sono sistemi POSIX. POSIX è un insieme di standard da implementare.

Ora per le domande più difficili.

GNU non è in realtà un sistema operativo. È più un insieme di regole o filosofie che governano il software libero, che allo stesso tempo ha dato alla luce un mucchio di strumenti mentre cercava di creare un sistema operativo. Quindi gli strumenti GNU sono sostanzialmente versioni aperte di strumenti già esistenti ma rifatti per conformarsi ai principi del software aperto. GNU / Linux è una mesh di quegli strumenti e il kernel Linux per formare un sistema operativo completo, ma ci sono altri "GNU". GNU / Hurd per esempio.

Unix e BSD sono implementazioni "precedenti" di POSIX che sono vari livelli di "closed source". Unix è di solito totalmente open source, ma ci sono tante varianti di Unix quanti sono Linux se non di più. BSD di solito non è considerato "aperto" da alcune persone, ma in verità è molto più aperto di qualsiasi altra cosa esistesse. Le licenze sono consentite anche per uso commerciale con molte meno restrizioni rispetto alle licenze più "aperte" consentite.

Linux è il nuovo arrivato. A rigor di termini è "solo un kernel", tuttavia, in generale è pensato come un sistema operativo completo quando combinato con GNU Tools e un sacco di altre cose.

La principale differenza di governo sono gli ideali. Unix, Linux e BSD hanno diversi ideali che implementano. Sono tutti POSIX e sono sostanzialmente intercambiabili. Risolvono alcuni degli stessi problemi in modi diversi. Quindi, oltre agli ideali e al modo in cui scelgono di implementare gli standard POSIX, c'è poca differenza.

Per maggiori informazioni, ti suggerisco di leggere un breve articolo sulla creazione di GNU, OSS, Linux, BSD e UNIX. Saranno inclinati verso le loro idee individuali, ma quando leggerai, avrai una buona idea delle differenze.

Questo diagramma di genealogia di Unix mostra chiaramente la storia di Unix, BSD, GNU e Linux ( da Wikimedia ):

Diagramma della genealogia Unix


nota: non tutto è POSIX. es. vedi man unimplemented(IIRC, potrebbe essere man security) su un sistema GNU / Linux.
strugee,

Strugee è corretto. Non sono completamente conformi, ma stanno cercando di esserlo. Non sono sicuro di come lavorare nella risposta però. Anche Unix-Like è tecnicamente diverso da POSIX, ma in generale quando le persone dicono Unix-Like di solito significano POSIX.
Coteyr,

1
Alcune informazioni complementari in queste domande e risposte .

no, gli sviluppatori del kernel Linux non intendono mai essere conformi a POSIX. Dimentico dove ho letto questo (ho guardato nelle manpage ma non sono riuscito a trovarlo) ma ci sono alcuni syscalls che non verranno mai implementati per motivi di sicurezza.
strugee,

Credo che GNU fosse originariamente destinato a essere un sistema operativo.
Faheem Mitha,

14

Linux non è un sistema operativo, è un kernel. Linux da solo non ha un ambiente "userland" (nessuna app, nessun comando, no ... ecc ...).

Se vuoi avere un sistema operativo completo, devi aggiungere una zona utente al tuo kernel. Storicamente, per Linux, è GNU. Tutte le (?) Distribuzioni Linux non sono distribuzioni "reali Linux". Sono distribuzioni GNU / Linux (GNU + Linux).

BSD è un sistema operativo completo "unix-like", con il proprio kernel e la propria area utente (no kernel Linux né GNU).

La famiglia GNU / Linux e * BSD (FreeBSD, OpenBSD e NetBSD) sono sistemi operativi "unix-like", si comportano come Unix.

Ecco un confronto tra (GNU) / Linux e * BSD: http://www.freebsd.org/doc/en/articles/explaining-bsd/comparing-bsd-and-linux.html


il tuo link non funziona
Anthon,

@Anthon funziona
Prvt_Yadav
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.