it-swarm.it

Linux è un Unix?

Quindi, ci sono molte versioni diverse di Unix là fuori: HP-UX, AIX, BSD, ecc. Linux è considerato un clone di Unix piuttosto che un'implementazione di Unix. Tutti i "veri" Unici sono veri e propri discendenti dell'originale? In caso contrario, cosa separa Linux da Unix?

194
Shawn J. Goff

Dipende da cosa intendi con "Unix" e "Linux".

  • UNIX è un marchio registrato di The Open Group . Il marchio ha avuto una storia ricca di eventi, e non è del tutto chiaro che non è generalizzato a causa dell'uso diffuso di "Unix" in riferimento a sistemi simili a Unix (vedi sotto). Attualmente Open Group concede l'uso del marchio a qualsiasi sistema che passi un NIX singolocertificazione . Vedi anche Perché c'è un * quando c'è una menzione di Unix su Internet? .

  • nix è un sistema operativo che è nato nel 1969 a Bell Labs . Varie aziende hanno venduto e ancora vendono codice derivato da questo sistema originale, ad esempio AIX , HP-UX , Solaris . Vedi anche Evoluzione dei sistemi operativi da Unix .

  • Esistono molti sistemi simili a Unix, in quanto offrono interfacce simili a programmatori, utenti e amministratori. Il più antico sistema di produzione è Berkeley Software Distribution , che si è gradualmente evoluto da Unix (ovvero contenente codice derivato dall'implementazione originale) a Unix (cioè con un'interfaccia simile). Esistono molti sistemi operativi basati su BSD o derivati ​​da BSD: FreeBSD , NetBSD , OpenBSD , Mac OS X , ecc. Altri esempi includono OSF/1 (ora fuori produzione, era un sistema commerciale non basato su Unix simile a Unix), Minix (originariamente un giocattolo simile a Unix sistema operativo utilizzato come strumento didattico, ora un sistema simile a Unix incorporato nella produzione) e, soprattutto, Linux .


  • A rigor di termini, Linux è un kernel del sistema operativo progettato come il kernel di Unix.

  • Linux è più comunemente usato come nome di sistemi operativi simili a Unix che usano Linux come kernel. Poiché molti degli strumenti esterni al kernel fanno parte del progetto GN , tali sistemi sono spesso noti come GNU/Linux . Tutti i principali distribuzioni Linux sono costituiti da GNU/Linux e altri software.

  • Esistono sistemi simili a Unix basati su Linux che non usano molti strumenti GNU, specialmente nel mondo embedded, ma non credo che nessuno di loro elimini GNU strumenti di sviluppo, in particolare GCC .

  • Esistono sistemi operativi che hanno Linux come kernel ma non sono simili a Unix. Il più noto è Android , che non ha un'esperienza utente simile a Unix (sebbene sia possibile installare una riga di comando simile a Unix) o esperienza amministratore o (principalmente) esperienza programmatore (“native "Android utilizzano un'API completamente diversa da Unix).

A tutti gli effetti, una tipica distribuzione moderna di Linux (Ubuntu, Debian, Red Hat, Fedora, Slackware, ecc.) È un Unix, ma a rigor di termini, nessun sistema può pretendere di essere Unix senza essere certificato, quindi le persone dicono di essere Unix-like. Sono ispirati da Unix e portano avanti la sua cultura.

Questo vale anche per i sistemi BSD.

Mac OS X è certificato Unix, quindi è Unix sia in nome che in effetti. (ed è in realtà basato su BSD).

Va notato che poiché Linux stesso è solo un kernel, può essere utilizzato per costruire sistemi non unix-like (come Android).

60
hasen

Linux è più "simile a Unix", quindi sì, in modo semplicistico, potresti chiamarlo un clone, lo stesso vale per i BSD (anche se è vero che i BSD potrebbero essere considerati più vicini a Unix che a Linux).

La cosa principale che dà a Linux il titolo simile a Unix è il fatto che è quasi completamente conforme w/ POSIX (Interfaccia del sistema operativo portatile [per Unix]) standard che si sono sviluppati nel tempo.

L'altra cosa fondamentale è eredità di codice ecc. , come dimostrato su Wikipedia, Linux non proviene effettivamente da fonti Unix, ma è praticamente costruito da zero (questo è contestato).

Quindi, essenzialmente, la cosa principale che separa Unix da Linux è la discendenza e gli standard che incontra.

23
N J

La risposta scelta la spiega in modo esauriente, ma dovresti guardare un intero documentario per conoscere tutti i dettagli tra lo sviluppo iniziale di UNIX e come Linux è uscito.

Per prima cosa devi considerare che Linux è il kernel, che è stato creato da Linus e altri programmatori. Ha scelto di rilasciarlo con la GPL, che all'epoca era una licenza rilasciata dalla FSF (RMS e altre persone), che stavano anche sviluppando il proprio kernel e GNU.

Quello che di solito chiamiamo Linux è, inizialmente, il kernel, oltre a tutti gli altri strumenti originari del GNU. Questi due progetti sono storicamente diversi, perché all'epoca il kernel di FSF la gente è stata abbandonata per favorire il kernel Linux, che era molto meglio.

Ricordo che c'è un documentario, dovresti davvero guardarlo, lo trovo importante per la tua cultura di programmazione.

Un'altra cosa che devi considerare quando pensi a "* nix", è anche tutto ciò che riguarda POSIX e altre cose standardizzate dall'architettura. È oggetto di progettazione/ricerca di sistemi operativi, ma definisce esattamente come funzionano i sistemi operativi coinvolti ed è cruciale quando un kernel funziona bene con i suoi strumenti.

11
jokoon

Ci sono già molte risposte fantastiche, ma ho pensato che le opinioni del grande Dennis Ritchie (co-creatore di Unix) sarebbero un complemento interessante alle altre risposte più tecniche.

Sembra che Dennis Ritchie considerasse Linux un legittimo derivato Unix. In un intervista del 1999 per LinuxFocus.org , gli è stato chiesto,

qual è la tua opinione su tutto lo slancio di Linux e la decisione di molte aziende di iniziare a sviluppare software per esso?

La sua risposta alla domanda è stata

Penso che il fenomeno Linux sia abbastanza delizioso, perché attinge così fortemente sulla base che Unix ha fornito. Linux sembra essere il più sano dei derivati ​​Unix diretti, anche se ci sono anche i vari sistemi BSD e le offerte più ufficiali dai produttori di workstation e mainframe. Non posso fare a meno di osservare, ovviamente, il mondo derivato da Unix "free source" sembra soffrire esattamente dello stesso tipo di frammentazione e conflitto che si è verificato e si sta ancora verificando nel mondo commerciale.

6

Storicamente Linus Torvalds ha creato un clone migliorato del sistema operativo Minix. Lo sviluppo di Linux non si concentra su una piattaforma e una base di clienti specifiche e gli sviluppatori di Linux hanno una varietà di esperienze e prospettive. Sistemi operativi come HP-UX, AIX, Solaris e altri sono in gran parte perfezionati per i fornitori.

Nella comunità Linux non esiste un set standard rigoroso di strumenti o ambienti. Questa mancanza di standardizzazione porta a significative incongruenze all'interno di Linux. Per alcuni sviluppatori, la possibilità di utilizzare i risultati migliori di altri sistemi operativi è un vantaggio, ma non è sempre conveniente copiare elementi UNIX su Linux, ad esempio, quando i nomi dei dispositivi all'interno di Linux possono essere presi da AIX, mentre gli strumenti per lavorare con il file system è focalizzato su HP-UX. Incompatibilità di questo tipo si riscontrano anche tra diverse distribuzioni Linux.

1
Quarind

Unix, originariamente UNICS (UNiplexed Infomation and Computing Service).

Unix (marchio registrato come UNIX) è una famiglia di sistemi operativi multitasking e multiutente che derivano dall'AT&T Unix originale. Lo sviluppo iniziò nel 1969 e fu annunciato fuori dagli addominali Bell nell'ottobre 1973.

Varietà di varianti accademiche e commerciali di Unix di venditori come l'Università della California, Berkeley (BSD), Microsoft (Xenix), IBM (AIX) e Sun Microsystems (Solaris).

  • BSD ( [~ # ~] b [~ # ~] erkeley [~ # ~] s [~ # ~] oftware [~ # ~] d [~ # ~] istribution) ha fornito una base per diversi progetti di sviluppo open source in corso, ad esempio FreeBSD, OpenBSD, NetBSD, Darwin e TrueOS.
  • Xenix è una versione fuori produzione del sistema operativo Unix per varie piattaforme di microcomputer, concesso in licenza da Microsoft.
  • AIX ( [~ # ~] a [~ # ~] dvanced [~ # ~] i [~ # ~] nteractive e [~ # ~] x [~ # ~] ecutive) sviluppato e venduto da IBM per molte delle sue piattaforme di computer.

Linux è una famiglia di sistemi operativi software gratuiti e open source costruiti attorno al kernel Linux. Il componente che definisce Linux è il kernel Linux, un kernel del sistema operativo rilasciato per la prima volta il 17 settembre 1991 da Linus Torvalds.

Linux è confezionato in una forma nota come distribuzione Linux (o in breve distro) sia per uso desktop che server. Alcune delle distribuzioni Linux più popolari e tradizionali sono Arch Linux, CentOS, Debian, Fedora, Gentoo Linux, Linux Mint, Mageia, openSUSE e Ubuntu, insieme a distribuzioni commerciali come Red Hat Enterprise Linux

L'interfaccia utente, nota anche come Shell, è un'interfaccia a riga di comando (CLI), un'interfaccia utente grafica (GUI) o tramite controlli collegati all'hardware associato, che è comune per i sistemi embedded. Per i sistemi desktop, la modalità predefinita è di solito un'interfaccia utente grafica, sebbene la CLI sia comunemente disponibile attraverso le finestre dell'emulatore di terminale o su una console virtuale separata.

  • Le shell CLI sono interfacce utente basate su testo, che usano il testo sia per l'input che per l'output. La Shell dominante usata in Linux è la Bourne-Again Shell (bash), originariamente sviluppata per il progetto GNU.
  • Le shell della GUI sono K Desktop Environment (KDE), GNOME, MATE, Cinnamon, Unity, LXDE, Pantheon e Xfce, sebbene esistano diverse interfacce utente aggiuntive . Le interfacce utente più popolari si basano sul sistema X Window, spesso chiamato semplicemente "X".

[~ # ~] gnu [~ # ~] è un sistema operativo e una vasta raccolta di software. GNU è composto interamente da software libero la maggior parte dei quali è concesso in licenza in base al GNU GPL del progetto. GNU è un metodo ricorsivo acronimo di "GNU's Not Unix!", scelto perché il design di GNU è simile a Unix, ma si differenzia da Unix per essere software libero e non contenente codice Unix. Lo sviluppo del sistema operativo GNU è stato avviato da Richard Stallman mentre lavorava al Massachusetts Institute of Technology (MIT) Artificial Intelligence Laboratory nel 1983.

I componenti di base includono GNU Compiler Collection (GCC), GNU C library (glibc) e GNU Core Utilities (coreutils), ma anche GNU Debugger (GDB), GNU Utilità binarie (binutils), il GNU Bash Shell e l'ambiente desktop GNOME.

0
Premraj