Unix: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
 
(539 versioni intermedie di oltre 100 utenti non mostrate)
Riga 1:
{{Nota disambigua|descrizione=la famiglia di sistemi di tipo Unix|titolo=Unix-like}}
[[Image:Unix.png|thumb|right|400px|Grafico che mostra la linea del tempo delle principali derivazioni dello Unix]]
{{Sistema operativo
Lo '''UNIX®''' (o '''Unix''') è un [[sistema operativo]] portabile per [[computer]] inizialmente sviluppato da un gruppo di ricerca dei laboratori [[ATT|AT&T]] e [[Bell Labs]], fra i quali c'erano inizialmente anche [[Ken Thompson]] e [[Dennis Ritchie]].
|nome = Unix
|logo =
|screenshot =
|didascalia =
|sviluppatore = [[Bell Laboratories]]
|proprietario = [[The Open Group]]
|famiglia = [[Unix-like]]
|prima_versione_pubblicata = Unix Version 1
|data_prima_pubblicazione = [[1969]]
|ultima_versione_pubblicata = [[Unix System V|UNIX System V Release 4]]
|data_ultima_pubblicazione = [[1989]]
|tipo_kernel = [[Kernel monolitico]]
|piattaforme_supportate =
|metodo_di_aggiornamento =
|tipologia_licenza = proprietario
|licenza = All'inizio nessuna, dopodiché diverse. Alcune parti sono [[Software proprietario]] altre free o [[open source]].
|stadio_sviluppo = Terminato. Sono disponibili, comunque, diverse implementazioni derivate.
|successore = [[BSD]], [[GNU]], [[Linux (kernel)|kernel Linux]], [[Solaris (sistema operativo)|Solaris]], [[AIX (sistema operativo)|AIX]], [[HP-UX]], [[macOS]], [[Tru64 UNIX]], [[SCO UnixWare]], [[Xenix]] e altri.
}}
'''Unix''' è un [[sistema operativo]] sviluppato originariamente dai [[Bell Laboratories]] negli anni '60 e '70. È noto per essere il primo sistema operativo portabile, [[multiutente]] e [[multitasking]], implementato con il [[C (linguaggio di programmazione)|linguaggio di programmazione C]]. UNIX è stato progettato per gestire file come semplici sequenze di [[byte]] e utilizza un [[file system]] gerarchico; inoltre gestisce dispositivi e comunicazioni interprocesso come se fossero file.<ref>{{Treccani|unix|UNIX}}</ref>
 
== Storia ==
=Storia di Unix=
La storia del sistema operativo UNIX inizia nei laboratori [[Bell Telephone Company|Bell]] di [[AT&T]] negli anni '60. Gli informatici statunitensi [[Ken Thompson]] e [[Dennis Ritchie]] sono stati tra i principali sviluppatori che hanno lavorato su questo progetto. UNIX è nato come un’evoluzione del progetto [[Multics]], che era troppo complesso e pertanto fu abbandonato.
Unix è nato dall'intelligenza e la passione di alcune menti libere nei Bell Laboratories: dove molti vollero porre fine al progetto, altri lo portarono avanti, senza altro incentivo che quello della ricerca e della curiosità.
Dobbiamo a Unix il concetto di [[Informatica]] come scienza autonoma; prima di allora essa era considerata un aspetto pratico delle scienze matematiche, semplice applicazione di postulati teorici.
 
Nel [[1969]], Thompson scrisse la prima versione di UNIX su un computer [[Digital Equipment Corporation]] [[PDP-7]]. Successivamente, Ritchie riscrisse gran parte del sistema operativo in [[C (linguaggio di programmazione)|linguaggio C]], rendendolo più portabile e flessibile. Questa riscrittura ha permesso a UNIX di essere eseguito su diverse piattaforme hardware, un fattore chiave per la sua diffusione.
==I Bell Laboratories (anni '60)==
Molti credono che Unix sia stato sviluppato grazie a un'intuizione fortunata; l'affermazione non è esatta: il suo sviluppo si deve in parte a un progetto precedente, [[Multics]], abbandonato ben presto dalla direzione dei Bell Labs perché ritenuto troppo complesso.
 
Negli anni '70, UNIX fu adottato da molte università e istituti di ricerca, contribuendo alla sua evoluzione e miglioramento. La versione 7 di UNIX, pubblicata nel 1979, è stata una delle versioni più influenti, introducendo molte delle caratteristiche che sono ancora presenti nei sistemi operativi moderni.
Multics nacque con presupposti molto avanzati per l'epoca: un sistema operativo in grado di supportare l'esecuzione di applicazioni in [[timesharing]]. Si scelse di svilupparlo internamente, dato lo scarso supporto che l'allora produttore di computer dava a questo aspetto. Si chiamava [[BESYS]] il sistema operativo che veniva montato di default sulle macchine, e si trattava più che altro di una semplice estensione dell'hardware. BESYS richiedeva un massiccio intervento manuale da parte degli operatori: ogni sequenza di operazioni doveva essere caricata dall'uomo, con grande spreco di tempo.
 
Negli anni '80, UNIX ha visto una commercializzazione significativa con la nascita di diverse varianti come [[BSD]] (Berkeley Software Distribution) e [[System V]]. Queste varianti hanno portato a una frammentazione del mercato, ma anche a una grande innovazione.<ref>{{Cita web|url=https://www.okpedia.it/unix|titolo=Unix|accesso=4 settembre 2024}}</ref>
Fu con l'intento di automatizzare queste operazioni (timesharing), che nacque Multics (Multiplexed Information and Computing Service). Purtroppo il progetto si rivelò troppo complesso, specie per i ricercatori abituati ai sistemi operativi classici e perfettamente lineari. Fu ben presto abbandonato a favore di un altro sistema nettamente più semplice, ma anche molto più modesto: [[GECOS]].
Alcuni ricercatori non ritennero corretta la decisione presa e decisero nonostante tutto di continuare lo sviluppo del progetto. Furono in particolare [[Ken Thompson]] e [[Dennis Ritchie]] a non arrendersi: fu grazie ai loro sforzi che, su una vecchissima macchina [[PDP]]-7, nacque la versione finale di Unics (in seguito Unix). Nome che stava a sottolineare la semplicità del progetto rispetto alla mal gestita complessità di Multics. In seguito al completamento del primo [[kernel]], Thompson e altri ricercatori elaborarono una serie di principi di programmazione, tuttora ritenuti universalmente validi:
 
== Caratteristiche ==
1. fare in modo che ogni programma faccia una sola cosa e bene.
[[File:Tux.svg|thumb|verticale|Mascotte di [[Linux]], sistema operativo derivato da UNIX]]
2. ci si aspetti che l'output di un programma diventi l'input di un altro.
3. si sviluppi software con l'idea che esso verrà provato subito: non si esiti a condividere il programma.
4. si usino degli strumenti appositi nella programmazione e non si cerchi di reinventare la ruota.
 
Il sistema operativo Unix può essere riassunto in base alle seguenti caratteristiche:
==L'invenzione del linguaggio C==
L'invenzione del linguaggio [[C]] costituisce una fase importantissima nella storia di Unix. Il C, sviluppato dallo stesso Thompson nell'arco 1969-1973, ha permesso di portare il kernel su piattaforme diverse dall'originario PDP-7, costituendo di fatto il primo software della storia ad essere in grado di funzionare in ambienti totalmente diversi. Assieme al kernel, che ricordiamo rappresenta il cuore del sistema operativo, il sistema Unix è stato corredato da una serie di comandi standard per la gestione dei file e degli utenti, comandi che ancora oggi vengono usati nei sistemi operativi moderni.
 
*Multiutente: Permette a più utenti di interagire contemporaneamente con il sistema da terminali diversi, evitando interferenze tra le attività degli utenti. Ogni utente è identificato univocamente da un nome logico ([[username]]) e suddiviso in gruppi, ciascuno identificato da un nome (''groupname''). Il sistema definisce anche un utente [[Root (utente)|root]], che rappresenta l’amministratore di sistema e non ha limitazioni nell’accesso alle risorse.
==Le prime applicazioni in azienda (anni '70)==
*Multiprogrammato ([[multitasking]]): Il [[kernel]] supporta l’esecuzione contemporanea di più processi gestiti tramite divisione di tempo ([[timesharing]]).
I Bell Laboratories erano di proprietà dell'[[AT&T]] (società che gestiva le comunicazioni telefoniche negli Stati Uniti), la quale di fatto quindi deteneva i diritti di Unix. Proprio in quel periodo, all'inizio degli anni settanta, il sistema telefonico statunitense stava subendo una piccola rivoluzione interna: l'utilizzo di mini-computer per la gestione del traffico voce e dati. Questi erano dotati di software di tipo minimale, che permetteva operazioni di manutenzione piuttosto limitate. Ben presto si scoprì come Unix, grazie alla sua concezione moderna e alla sua versatilità, permettesse di fare ai mini-computer operazioni molto più complesse. Per la prima volta, le operazioni di manutenzione potevano essere gestite a livello centrale, senza spedire i tecnici a investigare sul posto ad ogni singolo guasto.
*Gestione della memoria virtuale: Utilizza paginazione e segmentazione per consentire a ogni processo di indirizzare un’area di memoria potenzialmente superiore alla memoria centrale disponibile.
*Portabile: Grazie all’uso del [[C (linguaggio di programmazione)|linguaggio C]], Unix è altamente portabile e disponibile su una vasta gamma di architetture hardware.
*Aperto: Le versioni più recenti si sono uniformate allo standard [[POSIX]]. Unix implementa anche molti dei servizi e protocolli di comunicazione più diffusi su Internet, facilitando l’integrazione dei sistemi Unix in una rete.
*Ambiente di sviluppo per programmi in C: Mantiene uno stretto legame con il linguaggio di programmazione C, offrendo un ricco insieme di strumenti per lo sviluppo di applicazioni in C, tra cui il compilatore cc.
 
== Galleria d'immagini ==
==Lo sviluppo di Unix ad opera del mondo universitario (anni '80 e '90)==
<gallery>
AT&T non volle avere alcuna [[royalty]] sull'utilizzo e la modifica di Unix. Ciò non a fini di beneficenza, come si potrebbe erroneamente pensare, ma per un fatto “politico”. In quanto monopolista, AT&T aveva un range di servizi da offrire al mercato limitato per legge e Unix non costituiva un business direttamente collegato alle telecomunicazioni, anche se sotto certi aspetti lo era. Al centro di forti critiche per via della sua posizione dominante, AT&T permise che il codice sorgente di Unix venisse distribuito gratuitamente per fini di studio presso le Università di tutto il mondo.
File:NetBSD.png|[[NetBSD]]
File:2017-03-23-182021_1024x768_scrot.png|[[OpenBSD]]
File:DragonFly_BSD_4.2.3_bootloader_screenshot.png|[[DragonFly BSD]]
File:MINIX_screenshot.png|[[Microsoft XENIX]]
File:IBM AIX logo (2021).svg|[[AIX (sistema operativo)|AIX]]
File:HP-UX logo.svg|[[HP-UX]]
</gallery>
 
== Note ==
Ottenere una copia del sistema operativo era piuttosto semplice e davvero poco costoso: bastava pagare le spese di spedizione del supporto. In breve si formò una comunità mondiale a livello universitario incentrata sullo sviluppo di nuove componenti e applicazioni di Unix. Tutto ciò ricorda in qualche modo l'[[Open Source]] moderno: tutto il materiale veniva condiviso ed era rigorosamente a codice aperto. Grazie a questo processo, nel corso degli anni settanta videro la luce le prime 7 versioni del sistema operativo.
<references/>
 
== Bibliografia ==
Unix costituì un forte aggregatore per la nascente scienza dell'informazione. Di fatto, si può addirittura affermare che fu il suo sviluppo congiunto a definire per la prima volta l'idea di [[informatica]] come scienza. Unix ha prodotto inoltre una serie di conseguenze altamente desiderabili in ambito scientifico: la creazione di un ambiente comune all'interno del quale i ricercatori potevano verificare e controllare gli esperimenti; i lavori prodotti si potevano riutilizzare e migliorare; avvenne il passaggio definitivo dal laboratorio isolato a un ambiente di lavoro comunitario, dove tutti potevano contribuire.
*{{Cita testo|titolo=UNIX - Introduzione al sistema operativo|url=https://archive.org/details/unix-introduzione-al-sistema-operativo|autore=Ivo Quartiroli|autore2=Massimo Fusaro|autore3=Stefano Smareglia|editore=CLUP|anno=1983|ISBN=88-7005-566-3}}
* Hahn Harley, ''Guida a Unix'', Mc-Graw Hill, 1996. ISBN 88-386-0872-5.
*{{Cita testo|titolo=Ambiente Unix|url=https://archive.org/details/ambienteunix|autore=Maurizio Matteuzzi|autore2=Paolo Pellizzardi|editore=Gruppo Editoriale Jackson|anno=1985|ISBN=88-7056-221-2}}
* {{cita testo|autore=Dennis M. Ritchie|autore2=Ken Thompson|anno=1978|titolo=The UNIX Time-Sharing System|opera=The Bell System Technical Journal|volume=vol.57(6)|url=http://cm.bell-labs.com/cm/cs/who/dmr/cacm.pdf|lingua=en|accesso=17 aprile 2018|dataarchivio=10 dicembre 2005|urlarchivio=https://web.archive.org/web/20051210230248/http://cm.bell-labs.com/cm/cs/who/dmr/cacm.pdf|urlmorto=sì}}
* {{cita libro | curatore=NMI Club | altri=Antonella Beccaria, Francesco Marchetti-Stasi, Bernardo Parrella, Emmanuele Somma | titolo=No SCOpyright. Il caso SCO contro Linux | editore=Stampa Alternativa | città=Viterbo | anno=2004 | isbn=88-7226-806-0 | url=http://www.stampalternativa.it/liberacultura/?p=9 | accesso=3 luglio 2010 | dataarchivio=12 ottobre 2007 | urlarchivio=https://web.archive.org/web/20071012054430/http://www.stampalternativa.it/liberacultura/?p=9 | urlmorto=sì }}
 
== Voci correlate ==
Per risolvere i problemi di condivisione del codice, si introdusse per la prima volta la copia di file tra sistemi dislocati in parti diverse del mondo attraverso la linea telefonica. Il sistema venne chiamato [[UUCP]] (Unix to Unix Copy) e nonostante venne ben presto surclassato dalla nascente [[Arpanet]] (in seguito [[Internet]]), costituì un esempio dell'ambiente vivace e produttivo che si era costruito attorno a Unix.
{{Div col|strette}}
* [[Android]]
* [[AIX (sistema operativo)]]
* [[AT&T]]
* [[Bell Laboratories]]
* [[Berkeley Software Distribution]]
* [[Dennis Ritchie]]
* [[Filosofia di Unix]]
* [[GNU]]
* [[HP-UX]]
* [[IRIX]]
* [[Ken Thompson]]
* [[Linux]]
* [[Microsoft XENIX]]
* [[Multics]]
* [[MacOS]]
* [[OpenSolaris]]
* [[SCO UNIX]]
* [[Shell Unix]]
* [[Solaris (sistema operativo)]]
* [[Unix-like]]
* [[Uzix]]
* [[X Window System]]
* [[Kernel panic]]
* [[Runlevel]]
* [[Permessi (Unix)]]
{{Div col end}}
 
== Altri progetti ==
==La commercializzazione di Unix==
{{interprogetto}}
Con lo smembramento di AT&T nel [[1984]] nelle famose 7 baby-bells, società più piccole che operavano a livello locale, la condivisione gratuita di Unix ebbe fine. Solamente alcune Università, come [[Berkeley]] in [[California]], continuarono a sviluppare la loro versione derivata di Unix. AT&T aveva dimesso la propria posizione di operatore dominante ed era diventato un carrier per le chiamate tra i vari stati. La commercializzazione di Unix non conosceva più ostacoli e pertanto Unix System III (basato sulla settima versione) fu la prima release ad essere rilasciata dietro corrispettivo di un prezzo e senza codice sorgente. Seguì pochi anni dopo la versione [[Unix System V]], che includeva il supporto ad altre architetture e l'inserimento dell'editor [[VI]] originariamente sviluppato dalla derivazione californiana di Unix, [[BSD]].
 
Altre società cominciarono a offrire versioni commerciali di Unix. Alcune ottennero un'apposita licenza di utilizzo del codice da parte di AT&T, altre si affidarono al ramo di sviluppo creato dall'Università di Berkeley. Fu appunto da questa derivazione che [[Bill Joy]] creò [[SunOS]] (ora [[Solaris Operating Environment|Solaris]] e [[OpenSolaris]]) e fondò [[Sun Microsystems]] nel [[1982]]. Incredibile a dirsi, anche [[Microsoft]] creò la propria versione di Unix, che chiamò [[Xenix]]. Questa venne in seguito venduta a [[SCO]] (Santa Cruz Operation), la quale si adoperò per renderla compatibile con i sistemi [[Intel]] 386.
 
Nel 1984 nacque il primo vero standard di Unix, il [[SVR4]] o System V Release 4, che racchiudeva tutte le innovazioni promosse dalle varie società che avevano commercializzato Unix finora come Sun, BSD, e SCO.
 
Nel 1993 AT&T decise di vendere tutti i diritti di Unix a [[Novell]], con i quali creò [[UnixWare]], un sistema che integrava la tecnologia alla base di [[Netware]]. Il neonato UnixWare si trovò a dover competere con Microsoft [[Windows NT]], ma alla lunga perse la battaglia. Nel [[1995]] alcuni diritti sullo sviluppo vennero distribuiti a SCO. Non si conosce di preciso quali diritti siano stati ceduti, e la questione è attualmente alla base dell'odierna causa che contrappone le due società.
 
==Unix: la causa di SCO a tutto campo contro Linux (anni [[2000]])==
La nascita di [[Linux]] causò non pochi problemi a SCO, che venne schiacciata dalla forte crescita del pinguino da un lato e dalla forza commerciale di Microsoft dall'altro. Decise allora di ricorrere per vie legali contro [[IBM]] e altre società che utilizzavano fortemente Linux al centro del proprio business. Le accuse riguardano presunte violazioni di [[copyright]] nel kernel di Linux; ciò significa che alcune parti di Linux sarebbero state copiate dal kernel di Unix, di cui SCO afferma di detenere i diritti.
 
Non è tuttora chiaro né se SCO detenga effettivamente diritti su Unix, né se le accuse sul kernel di Linux siano effettivamente fondate. Tuttora SCO non è stata in grado di dimostrare che una sola linea di codice sia stata copiata da Unix; inoltre, alcuni studi interni alla stessa SCO, trapelati recentemente sotto forma di un'email spedita da un responsabile della società, forniscono l'evidenza che non esistono copiature di codice da un sistema all'altro.
 
 
=Unix e Free Software=
 
La rivoluzione più imponente nel mondo Unix è avvenuta nel [[1991]] ad opera di [[Linus Torvalds]], che fece conoscere al mondo Unix una seconda giovinezza. Torvalds voleva realizzare un sistema operativo simile a Unix che funzionasse su computer [[Intel]] 80386 standard, ed iniziò quindi a sviluppare un kernel chiamato [[Kernel Linux]], inizialmente ispirato a [[Minix]] di [[Andrew Tanenbaum]]. Il Kernel Linux fu poi unito al [[Sistema GNU]] creando [[GNU Linux]].
 
Un'altra importante famiglia dei sistemi Unix è quella di BSD, di cui fanno parte [[FreeBSD]], [[NetBSD]], [[OpenBSD]] e [[DragonflyBSD]].
 
C'è grande differenza tra le diciture UNIX®, UNIX e Unix:
* '''UNIX®''' indica un sistema operativo certificato da ''[[The Open Group]]'', consorzio di aziende tra cui [[IBM]], [[Hewlett Packard|HP]] e [[Sun Microsystems]]. Per essere certificato, il sistema deve essere conforme a specifiche determinate da The Open Group stessa.
* '''UNIX''' indica prevalentemente i sistemi BSD, quali [[FreeBSD]], che possono usare questa indicazione per motivi storici
* Con '''Unix''' vengono indicati generalmente tutti i sistemi derivati dallo UNIX della [[ATT|AT&T]].
 
Un albero genealogico della famiglia UNIX molto completo e considerato quasi ufficiale, si trova all'indirizzo [http://www.levenez.com/unix/history.html http://www.levenez.com/unix/history.html].
 
== Bibliografia ==
 
* Dennis M. Ritchie, Ken Thompson. 1978. &quot;The UNIX Time-Sharing System&quot;. ''The Bell System Technical Journal'', vol.57(6) [http://cm.bell-labs.com/cm/cs/who/dmr/cacm.pdf].
 
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* {{cita web|https://www.autistici.org/loa/web/doc/corsounix.a4.pdf|LOA HackLab - Corso base di Unix|formato=pdf}}
* {{en}}[http://www.booksopen.org/index.php?view=article&catid=33%3Adescrizione-libri-pubblicati&id=69%3Athe-art-of-unix-programming&option=com_content&Itemid=56 The Art of UNIX Programming] Manuale in inglese in formato pdf liberamente scaricabile.
* {{cita web|http://www.opengroup.org/openbrand/register/|Elenco dei sistemi operativi certificati UNIX|lingua=en}}
* {{cita web|http://www.unix.com/|Unix and Linux Forums|lingua=en}}
 
{{Sistemi operativi}}
[http://www.e-socrates.org/course/view.php?id=12 Corso libero sui fondamenti di unix]
{{Comandi Unix}}
 
{{Controllo di autorità}}
[[Categoria:Unix]]
{{Portale|informatica}}
 
[[arCategoria:يونكسUnix| ]]
[[caCategoria:Sistemi operativi Unix]]
[[cs:Unix]]
[[da:UNIX]]
[[de:Unix]]
[[en:Unix]]
[[eo:Unikso]]
[[es:Unix]]
[[fa:یونیکس]]
[[fi:Unix]]
[[fr:UNIX]]
[[gl:UNIX]]
[[he:יוניקס]]
[[hr:UNIX]]
[[hu:Unix]]
[[ia:UNIX]]
[[ja:UNIX]]
[[ko:유닉스]]
[[lt:UNIX]]
[[lv:UNIX]]
[[mk:Unix]]
[[ms:UNIX]]
[[nds:Unix]]
[[nl:Unix]]
[[nn:Unix]]
[[no:Unix]]
[[pl:Unix]]
[[pt:UNIX]]
[[ro:UNIX]]
[[ru:UNIX]]
[[simple:Unix]]
[[sk:Unix]]
[[sl:Unix]]
[[sv:UNIX]]
[[th:ยูนิกซ์]]
[[tr:UNIX]]
[[vi:Unix]]
[[zh:UNIX]]