GNU/Linux >> Linux Esercitazione >  >> Linux

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

Questa è una domanda difficile a cui rispondere.

Prima "Unix Like" o "*nix" di solito significa POSIX. Tutti i sistemi che hai elencato sono sistemi POSIX. POSIX è un insieme di standard da implementare.

Ora per le domande più difficili.

GNU non è realmente un sistema operativo. È più un insieme di regole o filosofie che governano il software libero, che allo stesso tempo ha dato vita a una serie di strumenti durante il tentativo di creare un sistema operativo. Quindi gli strumenti GNU sono fondamentalmente versioni aperte di strumenti che già esistevano ma che sono stati rifatti per conformarsi ai principi del software aperto. GNU/Linux è una rete di questi strumenti e del kernel Linux per formare un sistema operativo completo, ma ci sono altri "GNU". GNU/Hurd per esempio.

Unix e BSD sono implementazioni "vecchie" di POSIX che sono vari livelli di "sorgente chiuso". Unix di solito è totalmente closed source, ma ci sono tanti tipi 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 sia esistita. La licenza è consentita anche per uso commerciale con molte meno restrizioni in quanto le licenze più "aperte" consentite.

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

La principale differenza di governo sono gli ideali. Unix, Linux e BSD hanno ideali diversi che implementano. Sono tutti POSIX e sono tutti sostanzialmente intercambiabili. Risolvono alcuni degli stessi problemi in modi diversi. Quindi, a parte gli ideali e il 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 genealogico di Unix mostra chiaramente la storia di Unix, BSD, GNU e Linux (da Wikimedia):


Linux non è un sistema operativo, è un kernel. Linux di per sé non ha un ambiente 'userland' (nessuna app, nessun comando, nessun ...ecc...).

Se vuoi avere un sistema operativo completo, devi aggiungere una userland al tuo kernel. Storicamente, per Linux, è GNU. Tutte (?) le distribuzioni Linux non sono distribuzioni 'vere Linux'. Sono distribuzioni GNU/Linux (GNU + Linux).

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

GNU/Linux e la famiglia *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


Linux
  1. Linux vs. Unix:qual è la differenza?

  2. Qual è la differenza tra un container Linux e un'immagine?

  3. Quali sono le principali differenze tra Bsd e Gnu/linux Userland?

  4. Qual è la differenza tra fsck ed e2fsck?

  5. Qual è la differenza tra una chiamata di libreria e una chiamata di sistema in Linux?

Qual è la differenza tra InnoDB e MyISAM?

Qual ​​è la differenza tra i kernel macOS e Linux

Qual è la differenza tra Linux e Unix?

Qual è la differenza tra Rsync e BTRFS in Linux?

Che cos'è un hypervisor? Qual è la differenza tra il tipo 1 e 2?

Qual è la differenza tra curl e Wget?