unix vs linux what is difference between unix
Unix vs Linux: scopri qual è la differenza principale tra architettura, kernel e comandi UNIX e Linux
Linux non è altro che un clone di UNIX scritto da zero Linus Torvalds con l'aiuto di alcuni hacker in tutto il mondo.
I sistemi operativi Unix e simili a Unix sono una famiglia di sistemi operativi per computer che derivano dal sistema Unix originale dei Bell Labs, che può essere fatto risalire al 1965.
Linux è la variante più popolare ed è disponibile in numerose distribuzioni differenti.
=> Fare clic qui per la serie completa di tutorial Unix
Unix è una famiglia di sistemi operativi per computer multitasking, portatili e multiutente, che hanno anche configurazioni di condivisione del tempo.
I sistemi Unix utilizzano un kernel del sistema operativo centralizzato che è responsabile della gestione dell'intero sistema.
L'interfaccia di programmazione, l'astrazione dei file, il networking integrato e l'elaborazione in background persistente chiamata demoni sono le altre caratteristiche e capacità supportate da un sistema operativo Unix.
Cosa imparerai:
- Cos'è UNIX?
- Cos'è Linux?
- Differenza tra Unix e Linux
- Linux vs Unix Kernel
- Comandi Unix vs Linux
- Conclusione
- Lettura consigliata
Cos'è UNIX?
Unix è considerato come la madre della maggior parte dei sistemi operativi.
Il design dei sistemi Unix si basa sulla 'Filosofia Unix' che include le seguenti caratteristiche:
- Utilizzo di testo normale per l'archiviazione dei dati.
- File system gerarchico.
- Dispositivi di gestione e alcuni tipi specifici di comunicazione tra processi (IPC) come file.
- Impiegando un numero enorme di strumenti software.
- Programmi multipli piccoli, semplici e modulari che possono essere collegati insieme tramite un interprete a riga di comando utilizzando pipe, in contrasto con l'utilizzo di un singolo programma monolitico che comprende tutte le stesse funzionalità.
Vale la pena menzionare qui la citazione seguente sulla filosofia Unix:
'Anche se quella filosofia non può essere scritta in una singola frase, poiché il suo cuore è l'idea che il potere di un sistema deriva più dalle relazioni tra i programmi che dai programmi stessi. Molti programmi UNIX fanno cose abbastanza banali da soli, ma, combinati con altri programmi, diventano strumenti generali e utili. ' - Brian Kernighan e Rob Pike
Architettura Unix
Il diagramma sottostante ti mostrerà l'architettura Unix.
(Immagine fonte )
Il programma di controllo principale di Unix è il suo kernel. Il kernel ha il pieno controllo dell'intero sistema. Dispone di sottosistemi che offrono servizi per la gestione del file system, la gestione delle risorse, la gestione della memoria, l'avvio e l'arresto dei programmi e poche altre attività principali di basso livello.
miglior VPN per kodi
Il kernel è il cuore del sistema operativo e funge da interfaccia tra l'utente e l'hardware. Ogni sottosistema del kernel ha determinate caratteristiche come la concorrenza, la memoria virtuale, il paging e un file system virtuale.
Negli strati esterni dell'architettura, abbiamo la shell, i comandi ei programmi applicativi. Shell è l'interfaccia tra l'utente e il kernel. Shell e l'utente digitano i comandi, interpretano questi comandi e richiamano i programmi del computer di conseguenza.
Esempio del sistema operativo Unix è Solaris e HP-UX. I maggiori distributori di sistemi UNIX includono IBM, HP e SUN.
Lettura consigliata => Tutorial di formazione gratuiti su Unix
Cos'è Linux?
A questo punto avresti avuto una buona idea di Unix. Esploriamo ora Linux in dettaglio.
Le persone confondono molto tra i termini Unix e Linux e generalmente fanno domande come 'Unix è diverso da Linux?' / 'Linux e Unix sono la stessa cosa?' / 'Linux è come Unix?' / 'Linux è basato su Unix?' .
Ecco la risposta a tutte queste domande. Per prima cosa, lascia che chiarisca la tua confusione in una battuta. Linux e Unix sono diversi ma hanno una relazione tra loro poiché Linux è derivato da Unix.
Linux non è Unix, ma è un sistema operativo simile a Unix. Il sistema Linux è derivato da Unix ed è una continuazione delle basi del design Unix. Le distribuzioni Linux sono l'esempio più famoso e più sano dei derivati Unix diretti.BSD (Berkley Software Distribution) è anche un esempio di un derivato di Unix.
A questo punto, è importante per noi chiarire cosa è simile a Unix?
Un sistema operativo Unix-like (chiamato anche UN * X o * nix) è quello che funziona in modo simile ai sistemi Unix, tuttavia, non è necessario che siano conformi alla Single UNIX Specification (SUS) o simile POSIX (Portable Interfaccia del sistema operativo) standard.
SUS è uno standard che deve essere soddisfatto affinché qualsiasi sistema operativo si qualifichi per l'utilizzo del marchio 'UNIX'. Questo marchio è concesso da 'The Open Group'.
Pochi esempi dei sistemi UNIX attualmente registrati includono macOS, Solaris e AIX. Se consideriamo il sistema POSIX, Linux può essere considerato come un sistema operativo Unix-like.
Secondo il file README ufficiale del kernel Linux, Linux è un clone di UNIX sviluppato da zero da Linus Torvalds e dal team. Mira alla conformità POSIX. Il codice del kernel Linux è stato completamente scritto da zero. È progettato in modo tale da comportarsi come Unix ma non contiene il codice Unix originale.
È anche significativo notare che Linux è solo il kernel e non il sistema operativo completo . Questo kernel Linux è generalmente impacchettato nelle distribuzioni Linux, il che lo rende quindi un sistema operativo completo.
Pertanto, Linux è solo il kernel, mentre le distribuzioni Linux possono essere trattate come il sistema operativo. D'altra parte, UNIX di per sé è un sistema operativo completo poiché tutto (tutte le applicazioni richieste collegate insieme) proviene da un unico fornitore. Per esempio, Solaris.
La distribuzione Linux (chiamata anche distro in breve) è un sistema operativo che viene creato da una raccolta di software costruito sul kernel Linux ed è un sistema di gestione dei pacchetti.
Una distribuzione Linux standard consiste in un kernel Linux, sistema GNU, utilità GNU, librerie, compilatore, software aggiuntivo, documentazione, un sistema a finestre, un gestore di finestre e un ambiente desktop.
La maggior parte del software incluso nella distribuzione Linux è gratuito e open source. Possono includere alcuni software proprietari come i blob binari che sono essenziali per alcuni driver di dispositivo.
Architettura del sistema operativo basata su Linux
(Immagine fonte )
Pertanto, le distribuzioni Linux rendono effettivamente il kernel Linux completamente utilizzabile come sistema operativo aggiungendovi diverse applicazioni. Esistono vari tipi di distribuzioni Linux che soddisfano un'ampia gamma di esigenze degli utenti.
Per esempio , abbiamo un sistema operativo basato su OpenWrt Linux per dispositivi embedded, Linux Mint per personal computer e Rocks Cluster Distribution per supercomputer. In totale, esistono circa 600 distribuzioni Linux.
Sarà interessante per te sapere che il popolare sistema operativo Android per dispositivi mobili di Google è basato su Linux. Ogni iterazione del sistema operativo Android è basata sull'attuale kernel Linux.
miglior software per ottimizzare Windows 10
Differenza tra Unix e Linux
Linux | Unix e altre varianti |
---|---|
Diverse varianti gestite da diverse comunità; con il kernel che si fonde nel ramo mantenuto da Linus | Diverse varianti gestite da diverse società; ognuno mantiene il proprio kernel |
Linux si riferisce al kernel del sistema operativo GNU / Linux. Più in generale, si riferisce alla famiglia delle distribuzioni derivate. | Unix si riferisce al sistema operativo originale sviluppato da AT&T. Più in generale, si riferisce alla famiglia di sistemi operativi derivati. |
Codice originale sviluppato da Linus e dalla GNU Foundation | Codice originale sviluppato da AT & T |
Il marchio Linux è di proprietà di Linus Trovalds ed è gestito dal Linux Mark Institute sotto la Linux Foundation. | Il marchio UNIX è certificato da Open Group. Elenco dei sistemi operativi certificati. |
Linux Standard Base (LSB), disponibile come ISO / IEC 23360, è uno sforzo di standardizzazione da parte di un certo numero di distributori Linux. LSB è principalmente un'estensione di POSIX ma presenta alcune differenze. Tuttavia, non c'è un forte bisogno di certificazione LSB poiché le varie distribuzioni utilizzano comunque lo stesso kernel. | Certificazione UNIX basata sulla 'Single Unix Specification' che è un'estensione di IEEE 1003 (POSIX), disponibile anche come ISO / IEC 9945. POSIX specifica API di programmazione e interfacce shell e utility. POSIX è stato sviluppato come un modo per consentire l'interoperabilità tra diversi fornitori di UNIX. |
GNU / Linux e derivati come Debian e Fedora | System-V Unix e derivati come IBM-AIX e HP-UX; Berkeley Unix e derivati come FreeBSD e macOS |
Open Source con il copyleft General Public License | Berkeley Unix è parzialmente open source con licenza BSD. Il sorgente System-V Unix può essere acquistato con una licenza commerciale proprietaria. |
Progettato come una piattaforma scalabile generica per un'ampia gamma di applicazioni. | Tipicamente progettato per un pubblico ristretto con un set definito di piattaforme e applicazioni di destinazione. |
Ampiamente disponibile come download e programma di installazione del software configurabile. | Generalmente spedito insieme all'hardware, ad es. MacBook |
Supporto gratuito della comunità. Supporto a pagamento disponibile da una serie di fornitori di servizi. | Supporto commerciale a pagamento. Spesso porta al blocco del fornitore. |
Le interfacce spesso si evolvono | Interfacce generalmente stabili |
Aggiornamenti frequenti, con rapide correzioni di bug | Aggiornamenti rari e correzioni potrebbero richiedere tempo |
Supporta quasi tutti i file system utilizzati nei sistemi operativi | La maggior parte delle versioni supporta due o forse tre file system |
Ampia gamma di strumenti di amministrazione del sistema spesso con focus limitato, ad es. Suse YAST | Ogni versione ha in genere uno strumento di amministrazione del sistema maturo, ad es. HP SAM |
Sistema operativo preferito per la distribuzione cloud e data center principalmente per motivi economici | Sistema operativo preferito per requisiti server per scopi speciali a causa della disponibilità dell'applicazione e server Internet per motivi legacy |
Scalabilità ottenuta utilizzando cluster, griglie o cloud. | Scalabilità ottenuta utilizzando cluster o griglie |
(Un cluster è una raccolta di computer omogenei, una griglia è una raccolta di computer distribuiti e un servizio cloud è una raccolta di cluster virtualizzati.) | |
La maggior parte della riga di comando e delle utilità grafiche sono simili a Unix | La maggior parte della riga di comando e delle utilità grafiche sono simili a Linux |
Ci auguriamo che abbiate capito le differenze principali tra Unix e Linux da questo articolo.
Vediamo ora alcune differenze più importanti tra Linux e Unix nel formato tabulare seguente:
Caratteristiche | Linux | Unix |
---|---|---|
Versione iniziale | Linux è più recente rispetto a Unix. Era derivato da Unix ed è stato rilasciato nel settembre 1991. | Unix è più vecchio. È stato rilasciato nell'ottobre 1973 per terzi. Prima di allora, è stato utilizzato internamente nei Bell Labs sin dal suo inizio nel 1970. |
Sviluppatore | Ispirato da MINIX (un sistema operativo simile a Unix), Linux è stato originariamente sviluppato dall'ingegnere di software finlandese-americano Linus Torvalds. Poiché è un open source, abbiamo sviluppatori della comunità per Linux. | Derivato originariamente da AT&T Unix, è stato sviluppato presso i Bell Labs da Kenneth Lane Thompson, Dennis Ritchie e altri 3. |
Scritto in | C e altri linguaggi di programmazione. | C e linguaggio assembly. |
Famiglia OS | Simile a Unix | Unix |
Stato di lavoro | attuale | attuale |
Modello di origine | Open source | Misto. Tradizionalmente closed source, tuttavia, pochi progetti Unix sono open source che includono il sistema operativo illumos e BSD (Berkley Software Distribution). |
Disponibile in | Multilingue | Inglese |
Tipo di kernel | Kernel monolitico | Il tipo di kernel varia. Può essere monolitico, microkernel e ibrido. |
Licenza | GNUv2 (GPL General Public License) e altri. | La licenza varia. Poche versioni sono proprietarie mentre altre sono gratuite / OSS. |
Sito ufficiale | https://www.kernel.org/ | http://opengroup.org/unix |
Interfaccia utente predefinita | Shell Unix | CLI (Command Line Interface) e grafica (sistema X Windows) |
Interfaccia in modalità testo | Per impostazione predefinita, la shell è BASH (Bourne Again Shell). Inoltre, è compatibile con molti interpreti di comandi. | In origine la conchiglia Bourne. È anche compatibile con molti interpreti di comandi. |
Costo | Può essere ottenuto e utilizzato liberamente. Esistono anche versioni a prezzo di Linux. Ma, in generale, Linux è più economico di Windows. | I sistemi operativi proprietari hanno strutture di costo diverse stabilite di conseguenza dai fornitori che lo vendono. |
Esempi | Debian, Ubuntu, Fedora, Red Hat, Android, ecc. | IBM AIX, Solaris, HP-UX, Darwin, macOS X, ecc. |
Architettura | È stato originariamente creato per l'hardware x86 di Intel, porte disponibili per molti tipi di CPU. | Compatibile con macchine PA e Itanium. Solaris è disponibile anche su x86 / x64. OSX è PowerPC. |
Rilevamento e soluzione delle minacce | Poiché Linux è guidato principalmente dalla comunità open source, molti sviluppatori in diverse parti del mondo stanno lavorando al codice. Quindi il rilevamento e la soluzione delle minacce è abbastanza veloce nel caso di Linux. | A causa della natura proprietaria di Unix, gli utenti devono attendere le corrette patch per la correzione dei bug. |
Sicurezza | Sia il sistema operativo basato su Linux che quello Unix è generalmente considerato molto ben protetto dal malware. Ciò è attribuibile alla mancanza di accesso root, aggiornamenti rapidi e quota di mercato relativamente bassa (rispetto a Windows). A partire dal 2018, non è stato riscontrato alcun virus Linux diffuso. | Anche Unix è considerato molto sicuro. È ancora più difficile da infettare poiché anche la fonte non è disponibile. Al giorno d'oggi non esiste un virus che diffonda attivamente per Unix. |
Prezzo | Linux è gratuito. Tuttavia, il supporto aziendale è disponibile a un prezzo. | Unix non è gratuito. Tuttavia, alcune versioni di Unix sono gratuite per lo sviluppo (Solaris). In un ambiente collaborativo, Unix costa $ 1.407 per utente e Linux costa $ 256 per utente. Quindi, UNIX è estremamente costoso. |
Linux vs Unix Kernel
Poiché Linux da solo è solo un kernel, vale la pena discutere le principali differenze tra il kernel Linux e il kernel Unix.
Esistono tre tipi di kernel, ovvero monolitico, micro e ibrido (combinazione di monolitico e micro) come mostrato nell'immagine sottostante.
(Immagine fonte )
Nell'architettura kernel monolitica, l'intero sistema operativo funziona nello spazio del singolo kernel. Definisce da solo un'interfaccia virtuale di alto livello sull'hardware del computer.
Sebbene il kernel Linux derivi la maggior parte delle sue caratteristiche da kernel Unix / Unix-like, tuttavia, ci sono alcuni punti significativi di differenze tra i due.
Nell'architettura microkernel, i servizi principali del sistema operativo vengono eseguiti in un processo mentre gli altri servizi vengono eseguiti in processi diversi.
In µ kernel, la quantità quasi minima di meccanismi è inclusa nella modalità kernel. Questi meccanismi includono IPC di base (comunicazione tra processi), pianificazione e gestione dello spazio degli indirizzi di basso livello.
In termini di dimensione del codice sorgente, generalmente, un microkernel è più piccolo del kernel monolitico.
Caratteristiche | Kernel Linux | Kernel Unix |
---|---|---|
Approccio al kernel | Linux segue l'approccio del kernel monolitico. | Il kernel Unix può essere monolitico, microkernel o ibrido. Ad esempio, macOS ha un kernel ibrido, Solaris ha il kernel monolitico e AIX ha un kernel monolitico con moduli caricabili dinamicamente. |
Aggiunta / rimozione di funzionalità del kernel | Fornisce un'ottima funzionalità attraverso la quale i componenti del kernel come le unità dei dispositivi possono essere aggiunti e rimossi dinamicamente come moduli. Questa funzionalità è chiamata LDM (loadable kernel modules). Ciò elimina la necessità di compilare nuovamente l'intero kernel. Questa caratteristica a sua volta offre una grande flessibilità a Linux. | Il kernel dei sistemi Unix tradizionali necessita del collegamento statico di nuovi sistemi da aggiungere. |
Flussi | In Linux, non esistono sottosistemi I / O di flussi. | Nella maggior parte dei kernel Unix, è incluso il sottosistema di I / O stream che risulta essere l'interfaccia desiderata per la scrittura di driver di dispositivo, driver di terminale, ecc. |
Approccio preventivo vs non preventivo | Normalmente un kernel Linux non è preventivo. Tuttavia, negli ultimi tempi, il sistema operativo in tempo reale Linux ha iniziato a utilizzare kernel preventivi. | Alcuni sistemi Unix sono completamente preventivi. Ad esempio, Solaris 2.x. eccetera. |
Threading del kernel | Linux utilizza il thread del kernel solo per eseguire periodicamente del codice del kernel. | Molti sistemi operativi simili a Unix utilizzano thread del kernel allo scopo di cambiare il contesto del processo. |
Modi per gestire l'ambiente multi-thread | Attraverso il multi-threading, vengono creati più flussi di esecuzione indipendenti chiamati processi leggeri (LWP). In Linux, LWP viene creato chiamando la funzione clone (). Questi processi in Linux possono condividere memoria fisica, file aperti, spazio di indirizzi, ecc. | In Unix, LWP si basa sui thread del kernel. |
Comandi Unix vs Linux
Ci sono alcune differenze tra i comandi della shell, cioè anche tra le versioni della stessa variante Unix. Tuttavia, ciò che varia di più è la shell interna che è incorporata piuttosto che la presentazione.
Nel complesso, vengono fatti degli sforzi per mantenere Linux il più vicino possibile a Unix rispettando gli standard POSIX. Quindi, i comandi del terminale nelle distribuzioni Linux e nei sistemi operativi Unix non sono esattamente gli stessi, ma non ci sono anche molte differenze.
Ogni distribuzione Linux in sé ha il proprio modo di esecuzione.
Per esempio , in CentOS, che è un SO della famiglia Linux, utilizziamo i comandi yum (yellowdog update modifier) per l'installazione di nuovi pacchetti, mentre in Debian, che è un altro SO della famiglia Linux, usiamo i comandi apt-get per l'installazione.
In IBM AIX, che è un sistema operativo Unix proprietario, utilizziamo -dito comando per verificare chi è connesso al sistema. Ma questo comando non è utilizzato in Linux. In Linux, usiamo il mignolo comando per recuperare lo stesso risultato.
In Ubuntu / Debian (un sistema operativo Linux), abbiamo fdisk, parted, gparted comandi per l'attività 'crea'. D'altra parte, in Solaris (un sistema operativo Unix), abbiamo un file formato, fmthard per l'attività di 'creazione' .
Puoi fare riferimento all'elenco dei comandi Linux e Unix, scoprirai che i comandi Linux e Unix sono simili ma non esattamente uguali.
Esempi
Finora, in questo articolo, abbiamo visto le differenze principali generalizzate tra Linux e Unix. Queste differenze possono essere più specifiche se confrontiamo le versioni esatte dei due. Vediamolo attraverso alcuni esempi.
Solaris contro Linux
Solaris, che ora si chiama Oracle Solaris, è un sistema operativo della famiglia Unix. Confrontiamo Linux con Solaris.
Linux supporta più architetture di sistema rispetto a Solaris. Quindi, Linux è più portabile.
Pur parlando di stabilità e integrazione hardware, Solaris sembra stare meglio qui. Linux ha anche un tasso di sviluppo più veloce rispetto a Solaris.
Ci sono poche altre differenze tecniche tra i due, ma qui limitiamo il nostro confronto solo alle prestazioni.
MacOS vs Linux
MacOS è un sistema operativo Unix certificato. Ha il proprio kernel chiamato XNU. Viene utilizzato nei computer Apple che sono considerati i PC più affidabili.
MacOS è relativamente facile da configurare. D'altra parte, Linux è più economico e ha molto software open source disponibile rispetto alle soluzioni proprietarie di Apple. Inoltre, Linux è più flessibile in quanto può essere eseguito su quasi tutti gli hardware mentre MacOS può essere eseguito solo su hardware Apple. Per esempio , iPhone.
MacOS utilizza HFS + come file system predefinito mentre Linux utilizza ext4.
Conclusione
Unix è molto vecchio e si dice che sia la madre di tutti i sistemi operativi. Anche il kernel Linux è derivato da Unix. La principale differenza tra i sistemi operativi basati su Unix e Linux non è nella parte della presentazione, ma nel modo in cui funzionano internamente, cioè principalmente nella parte del kernel.
La differenza tra i due dipenderà anche dalle versioni esatte di Linux e Unix che stai confrontando.
È anche essenziale affermare che Linux (e molti altri sistemi operativi simili a Unix) sono liberi di ottenere e modificare, mentre i sistemi operativi Unix non lo sono. Il costo è sempre una delle principali preoccupazioni quando si decide quale tecnologia utilizzare e Linux ha un vantaggio in questo senso.
Linux è più flessibile e gratuito rispetto ai veri sistemi Unix ed è per questo che Linux ha guadagnato più popolarità. Mentre si discute dei comandi in Unix e Linux, non sono gli stessi ma sono molto simili. In effetti, anche i comandi in ciascuna distribuzione dello stesso sistema operativo di famiglia variano.
Solaris, HP, Intel, ecc. Impiegano server Internet, workstation e personal computer Unix. Mentre, Linux è ampiamente utilizzato per software e hardware per computer, giochi, tablet, mainframe, ecc.
domanda di intervista pl sql per esperti
Ci sono studi che dicono che Linux sta crescendo velocemente rispetto a qualsiasi altro sistema operativo negli ultimi anni. Quindi, in futuro, Linux potrebbe tendere a lasciare le installazioni UNIX molto indietro.
Riferimenti: Linux, Unix, Distribuzione Linux, Libro: l'ambiente di programmazione Unix
Spero che questo articolo informativo sulla differenza tra Unix e Linux ti sia piaciuto !!
=> Fare clic qui per la serie completa di tutorial Unix
Tutorial PREV | PROSSIMO Tutorial
Lettura consigliata
- Cos'è Unix: una breve introduzione a Unix
- Comandi Unix: comandi Unix di base e avanzati con esempi
- Comandi di elaborazione del testo Unix: filtri Unix con esempi
- Tutorial su Unix Pipes: Pipes nella programmazione Unix
- Differenza tra Linux e Windows: qual è il miglior sistema operativo?
- Più filtri Unix e Awk, comandi Sed nell'elaborazione del testo
- Tutorial UNIX per principianti (oltre 20 video di formazione approfonditi su Unix)
- Come confrontare due file in Unix: comandi di confronto dei file