Voglio sapere qual è la vera differenza tra Unix e Linux.
- Condividono lo stesso kernel?
- Linux è costruito su Unix?
- I programmi scritti per Linux funzionano su Unix e viceversa?
Voglio sapere qual è la vera differenza tra Unix e Linux.
Risposte:
Unix non è una cosa, è un nome per una grande famiglia di sistemi operativi correlati, che condividono in diversa misura, storia e architettura. Solaris, DEC Unix, IRIX, HP-UX sono varianti Unix. Sono in qualche modo compatibili con le applicazioni, poiché implementano gli standard POSIX a diversi livelli, il che significa che espongono comandi e API simili.
I loro noccioli non sono gli stessi, ma se cerchi "unix family tree" vedrai un'affascinante storia di come queste varianti si sono evolute l'una dall'altra, come gli organismi. Cioè, un fringuello e una rondine non sono lo stesso animale ma hanno molto in comune.
Linux è una riscrittura, da zero, di un sistema operativo simile a Unix. Se i programmi scritti per un Unix / Linux rispetto ad un altro è una domanda complessa, ma in alcuni casi sì.
Comprendere veramente la risposta aiuta a guardare la storia di entrambi i sistemi operativi.
Unix è stato inventato presso AT&T Bell Labs da Ken Thompson. Il suo collega Dennis Ritchie ha contribuito e ha anche inventato il linguaggio C e scritto il compilatore C. Nel corso degli anni, il codice è stato anche fornito da UC Berkeley, oltre a lavorare presso AT&T, Sun, IBM e altri.
Alla fine è stato standardizzato in una serie di pubblicazioni chiamate POSIX. Nel complesso, il codice era proprietario, poiché era protetto da copyright di AT&T e poi venduto o concesso in licenza ad altre società, che lo hanno riscritto in gran parte nel corso degli anni ma hanno mantenuto vari diritti.
Due rami del "libero Unix" sono emersi negli anni '90. Uno era Linux , che è un clone, scritto per agire come Unix senza contenere alcun codice Unix effettivo.
L'altra filiale esiste oggi come NetBSD , che è stata seguita rapidamente da FreeBSD , e poi molto più tardi da qualsiasi altro * BSD di cui potresti aver sentito parlare. Questi progetti sono un po 'diversi da Linux in quanto sono "cloni parziali". Contengono una combinazione di codice sorgente "reale Unix" (la parte che è stata liberamente concessa in licenza, principalmente da UC Berkeley) e un codice "clone" appena scritto e altri codici successivi che emergono come parte di riscritture o come necessario per supportare HW moderno e moderno Specifiche Posix.
Linux è molto più popolare perché NetBSD e FreeBSD sono stati legati per un po 'in una causa tra AT&T e UCB. Sebbene risolti a favore dei BSD, non si sono mai ripresi dal ritardo, almeno non in termini di popolarità.
Quindi no, Linux e Unix commerciale non hanno alcun codice del kernel in comune, sebbene Unix commerciale e * BSD abbiano avuto un po 'di cose in comune. I kernel Unix dei distributori autorizzati contengono codice che hanno scritto loro stessi, forse con un codice AT&T originale ancora presente qua e là. Il kernel di Linux è costituito dal codice scritto da Linus Torvalds e altri autori.
Il "software Unix" è un software scritto nelle API Posix e di solito funziona su tutte le versioni di Unix, Linux, NetBSD e FreeBSD. In teoria, Posix SW può funzionare su sistemi "non Unix" ma ciò non sembra funzionare molto bene. In questi giorni, "Unix" è tecnicamente un marchio, ma tende ad essere usato in modo informale come designazione sia per Unix commerciale, Linux, sia per la famiglia BSD.
Quando la maggior parte delle persone parla di unix intendono un "sistema operativo simile a Unix che è conforme POSIX", che è Linux.
Condividono uno stesso kernel? No, Linux È un kernel, non un sistema operativo. Tecnicamente, le distribuzioni Linux usano un kernel Linux e una GNU (vedi gnu.org) "userland". L'utenteland è i programmi e le librerie di base ecc. Che collegano grandi applicazioni e attività dell'utente all'API di basso livello del kernel.
Linux è costruito su Unix? No, è un clone. È costruito per fornire una versione gratuita e utilizzabile di Unix su un PC desktop.
I programmi scritti per Linux possono funzionare su Unix e viceversa? A volte. Ad esempio, su FreeBSD, c'è un emulatore ABI Linux, che rileva essenzialmente che i programmi sono stati realizzati per Linux e rende disponibile un diverso set di chiamate del kernel. Qualcosa di simile è disponibile per Linux per eseguire roba standard su Unix System V (o qualche versione commerciale popolare di unix comunque), ma viene usato raramente, poiché la maggior parte dei programmi viene fornita come codice sorgente conforme a POSIX e compilata su Linux senza difficoltà. Inoltre, la maggior parte dei programmi binari per unix sono direttamente disponibili per Linux. FreeBSD è una preoccupazione minore e non ha questo lusso. In Linux, il sistema per caricare file binari da altri sistemi viene spesso utilizzato per eseguire programmi Java, programmi Windows (anche se questo è sconsigliato), ecc.
Unix è un marchio e quindi Linux non può usare il nome. Unix è la versione ufficiale vecchia (in quanto esiste una versione ufficiale), che non è così facile da usare. La maggior parte delle altre versioni di unix sono state progettate un po 'meglio, ma non funzionano necessariamente in termini pratici. Questo è tutto. Molte delle aziende che eseguivano Unix ora eseguono Linux.
Se vuoi vedere le differenze in vari sistemi operativi unix-like, procurati una copia di FreeBSD, OpenSolaris e Debian. Dico queste distro specificamente perché saranno più facili da confrontare, anche se alcuni come pc-bsd, nexenta e ubuntu sono probabilmente più belli, rispettivamente.
Penso tecnicamente parlando, GNU / Linux non è meno di UNIX rispetto a nessuno dei sistemi UNIX ufficiali, ma è solo per motivi legali che la gente descrive Linux come un sistema operativo simile a UNIX , anziché solo un sistema operativo "UNIX".
Per quanto riguarda i kernel, Linux è un kernel. Quindi, per definizione, se un sistema utilizza il kernel Linux, allora è un sistema Linux, non un sistema UNIX.
Linux è costruito su Unix
Linux non è stato creato "su" Unix, è costruito come un clone UNIX. Tutte le varie utility gnu (bash, ecc.) Sono state scritte da zero come cloni delle corrispondenti utility unix.
Ironia della sorte, Mac OS X, che ha un core UNIX, viene fornito con bash, gcc e possibilmente altre utility GNU. Quindi questo è un sistema UNIX che include parti di GNU e non viceversa come ci si potrebbe aspettare.
Storia UNIX Non è la risposta alle tue domande, ma forse sarà interessante.
UNIX è un nome protetto da copyright Solo le grandi aziende possono utilizzare il copyright e il nome UNIX, quindi IBM AIX, Sun Solaris e HP-UX sono tutti UNIX. Open Group detiene il marchio UNIX in maniera fidata per il settore e gestisce il programma di licenza dei marchi UNIX. Linux è un clone UNIX
Ma se si considerano gli standard POSIX (Portable Operating System Interface), Linux può essere considerato UNIX. Per citare dal file README del kernel ufficiale di Linux: Linux è un clone di Unix scritto da zero da Linus Torvalds con l'assistenza di una squadra di hacker a maglie larghe su Internet. Mira alla conformità POSIX. Linux è solo kernel
Linux è solo kernel. La distribuzione Linux include il sistema GUI, strumenti di installazione e gestione, compilatori, editor ecc. La distribuzione Linux lo rende
La maggior parte dei osi UNIX considerati come sistema operativo competitivo.
Come ho detto prima, Linux è solo un kernel con distribuzione Linux che lo rende un sistema operativo completo. La maggior parte dei file UNIX viene fornita con programmi AZ come editor, compilatori ecc. Ad esempio FreeBSD viene fornito con programmi AZ. Licenza e costi
Linux è gratuito (come nella birra [libertà]). Vedrai il miglior supporto della community in giro. Molti osi UNIX non sono gratuiti (ma questo sta cambiando rapidamente, ad esempio OpenSolaris / Solaris UNIX). Di facile utilizzo
Linux è considerato il sistema operativo UNIX più user friendly. Rende facile l'installazione di schede audio, lettori flash e altri oggetti desktop. Prospettiva dell'utente finale
Le differenze non sono così grandi per l'utente finale medio.