Research Unix: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Zorro55 (discussione | contributi)
Correzioni e integrazioni alle edizioni
m clean up, replaced: |date= → |data=
 
(3 versioni intermedie di 2 utenti non mostrate)
Riga 1:
{{NN|informatica|luglio 2022}}{{Correggere|informatica|aprile 2015}}
'''Research Unix''' è un termine che si riferisce alle varie versioni del [[sistema operativo]] [[Unix]] sviluppate per i [[computer]] [[computer]] [[Digital Equipment Corporation|DEC]] [[PDP-7]], [[PDP-11]], [[VAX]] e Interdata 7/32 e 8/32, realizzate dal Bell Labs Computing Sciences Research Center, comunemente conosciuto come Dipartimento 1127.
 
== Storia ==
Riga 7:
Il termine "Research Unix" è stato introdotto per la prima volta in un articolo pubblicato nel Bell System Technical Journal (Volume 57, Numero 6, Luglio/Agosto 1978)<ref>{{Cita libro|titolo=Byte Magazine Volume 08 Number 10 - UNIX|url=http://archive.org/details/byte-magazine-1983-10|accesso=2024-04-12|data=1983-10}}</ref>. Questa denominazione è stata coniata per distinguere questa iterazione del sistema operativo [[Unix]] da altre versioni interne sviluppate nei laboratori [[Bell Labs]], come PWB/UNIX e MERT, che avevano subito modifiche significative rispetto alle prime versioni del Computer Systems Research Group (CSRC). L'uso del termine "Research Unix" è stato inizialmente sporadico, ma ha acquisito maggiore rilevanza a partire dalla versione 8 del sistema, estendendosi successivamente anche alle versioni precedenti. Prima dell'ottava edizione, il sistema era comunemente conosciuto semplicemente come "UNIX" (in maiuscolo) o come "UNIX Time-Sharing System."
 
La quinta edizione di Unix è stata distribuita da [[AT&T]] alle istituzioni educative, mentre la sesta edizione è stata resa disponibile anche per le organizzazioni commerciali. Le istituzioni accademiche dovevano versare una tariffa di 200 dollari, mentre le aziende erano tenute a pagare 20.000 dollari, una cifra significativa destinata a scoraggiare un utilizzo commerciale del sistema.
 
Nonostante questa differenziazione tariffaria, la sesta edizione si è rivelata essere la versione più diffusa negli anni '80. Per identificare le versioni specifiche di Research Unix, si faceva comunemente riferimento all'edizione del manuale corrispondente, poiché le prime versioni erano state sviluppate in modo organico senza una distribuzione al di fuori dei Bell Labs. Di conseguenza, la prima edizione è considerata la versione iniziale, mentre la decima rappresenta l'edizione finale di Research Unix.
Riga 29:
| Edizione 1
| 3 novembre 1971
| La prima edizione del manuale Unix, pubblicata il 3 novembre 1971, è stata modellata sulla versione del manuale del PDP-11. Questa edizione includeva la ''Thompson shell'',<ref>La Thompson shell è stata la prima shell di Unix, introdotta nella prima versione del sistema operativo Unix nel 1971 e sviluppata da Ken Thompson. Questa shell fungeva da semplice interprete di comandi, non progettato per la scrittura di script, ma ha comunque introdotto diverse funzionalità innovative per l'interfaccia a riga di comando.</ref> i comandi ''<code>mail</code>, <code>[[Cp (Unix)|cp]]</code> e <code>[[Su (Unix)|su]]</code>''. Il sistema operativo era stato sviluppato per due anni <ref name="reader">{{cita web|url=http://www.cs.dartmouth.edu/~doug/reader.pdf|titolo=A Research Unix reader: annotated excerpts from the Programmer's Manual, 1971–1986|wkautore=Doug McIlroy|editore=Bell Labs|formato=pdf|cognome1=McIlroy|anno=1987|trasmissione=CSTR|episodio=139}}</ref>, essendo stato portato dal [[PDP-7]] al PDP-11/20 nel 1970
|-
| Edizione 2
| 12 giugno 1972
| Nella seconda edizione del manuale Unix, il numero totale di installazioni era di 10, una cifra che fu considerata "più di quello che ci si aspettava" secondo la prefazione al manuale. Questa edizione includeva il comando <code>echo</code> <ref>Il comando <code>echo</code> è uno strumento versatile e ampiamente utilizzato per la visualizzazione di messaggi e la gestione dell'output nei terminali Unix. È particolarmente utile nella scrittura di script per comunicare informazioni all'utente o per registrare dati in file.</ref> e il primo [[compilatore]] C, segnando un passo significativo nell'evoluzione del sistema operativo.
|-
| Edizione 3
Riga 41:
| Edizione 4
| novembre 1973
| Questa edizione Unix, rappresenta la prima versione scritta in C. In questa edizione sono stati introdotti diversi strumenti, tra cui ''groups'' <ref>In ambito Unix, i groups (gruppi) sono collezioni di utenti che possono condividere file e altre risorse di sistema. Ogni gruppo ha un nome, un numero di identificazione del gruppo (GID) e un elenco di nomi utente che ne fanno parte.</ref>, <kbd>[[grep]]</kbd> e <kbd>[[printf]]</kbd> <ref name="reader" />. Il numero totale di installazioni era indicato come "più di 20". Inoltre, il manuale è stato formattato utilizzando ''troff'' <ref name=":0">In ambito Unix, troff è un sistema di elaborazione documentale sviluppato da Bell Labs, utilizzato principalmente per la formattazione e il typesetting di testi. È l'evoluzione del programma roff, originariamente creato per il sistema CTSS del MIT.</ref> per la prima volta. Questa versione è stata descritta da [[Ken Thompson]] e [[Dennis Ritchie]] nella rivista ''[[Communications of the ACM]]'', <ref>{{cita pubblicazione|nome2=K.|cognome2=Thompson|anno=1974|titolo=The UNIX Time-Sharing System|rivista=CACM|volume=17|numero=7|pp=365-375|accesso=26 aprile 2015|url=http://cm.bell-labs.com/cm/cs/who/dmr/cacm.html|urlarchivio=https://web.archive.org/web/20051230143815/http://cm.bell-labs.com/cm/cs/who/dmr/cacm.html|dataarchivio=30 dicembre 2005|urlmorto=sì|nome1=D. M.|cognome1=Ritchie}}</ref> segnando la prima presentazione pubblica del sistema operativo.<ref name="reader" />
|-
| Edizione 5
Riga 49:
| Edizione 6
| maggio 1975
| Ha introdotto importanti strumenti come i linguaggi di programmazione <kbd>[[ratfor]]</kbd> e <kbd>[[bc (Unix)|bc]]</kbd>. Questa è stata la prima versione distribuita anche agli utenti commerciali <ref name="fiedler198310">{{cita news|autore=Fiedler, Ryan|url=https://archive.org/stream/byte-magazine-1983-10/1983_10_BYTE_08-10_UNIX#page/n133/mode/2up|titolo=The Unix Tutorial / Part 3: Unix in the Microcomputer Marketplace|pubblicazione=BYTE|data=ottobre 1983|p=132|accesso=30 gennaio 2015}}</ref>, con la possibilità di portare il sistema su hardware non PDP. Nel maggio 1977, è stata rilasciata una versione ridotta chiamata MINI-UNIX, progettata per macchine a basso costo come il [[PDP-11]]/10
|-
| Edizione 7
| gennaio 1979
| Furono introdotti strumenti fondamentali come la [[Bourne shell]], <kbd>[[cpio]]</kbd>, <kbd>[[sed (Unix)|sed]]</kbd>, <kbd>[[ioctl]]</kbd><ref>In ambito Unix, ioctl (Input/Output Control) è una chiamata di sistema utilizzata per controllare i parametri di dispositivi speciali e interagire con i driver di dispositivo. Questa funzione consente di eseguire operazioni che non possono essere facilmente gestite tramite le normali chiamate di I/O, come leggere e scrivere dati.</ref> , <kbd>[[awk]]</kbd>, <kbd>[[f77]]</kbd> <ref>In ambito Unix, F77 si riferisce a un compilatore per il linguaggio di programmazione Fortran 77. È stato uno dei primi compilatori completi per Fortran 77 e ha giocato un ruolo significativo nello sviluppo di software scientifico e ingegneristico.</ref>, <kbd>[[spell (Unix)|spell]]</kbd><ref>In ambito Unix, spell è un programma di controllo ortografico standard per la lingua inglese. Introdotto nella sesta edizione di Unix, è stato originariamente sviluppato da Stephen C. Johnson presso i Bell Labs nel 1975.</ref> e <kbd>[[stdio]]</kbd> <ref>In ambito Unix, STDOUT (Standard Output) è il flusso predefinito attraverso il quale un programma scrive i suoi output. Questo flusso è rappresentato dal file descriptor numero 1 e, per impostazione predefinita, è collegato al terminale dell'utente.</ref>. Questa versione incorporò la maggior parte degli strumenti provenienti da [[Pwd (Unix)|PWB/UNIX]] e presentava un [[kernel]] ampiamente modificato, con oltre l'80% di codice nuovo rispetto alla sesta edizione. Nel febbraio 1979, fu progettato un port chiamato 32V <ref>in ambito Unix si riferisce alla creazione di una versione del sistema operativo Unix, denominata 32V, progettata specificamente per l'hardware DEC VAX. Questo port rappresenta un'importante evoluzione nella portabilità di Unix, consentendo al sistema operativo di funzionare su architetture diverse da quelle originariamente supportate, come il PDP-11.</ref> per l'hardware DEC VAX <ref>In ambito Unix, DEC VAX si riferisce a una serie di computer sviluppati dalla Digital Equipment Corporation (DEC), caratterizzati da un'architettura a 32 bit e dalla gestione della memoria virtuale. Il termine VAX è un acronimo per Virtual Address eXtension.</ref> ; 32V divenne la base per la [[Berkeley Software Distribution|4BSD]].
|-
| Edizione 8
| febbraio 1985
|È una versione modificata didi4.1cBSD<ref>La 4.1cBSD è una versione intermedia della Berkeley Software Distribution (BSD) rilasciata nel 1983, durante lo sviluppo della successiva versione 4.2BSD. Questa release includeva vari bugfix e miglioramenti rispetto alle versioni precedenti.</ref> per il [[VAX]], con la shell di [[UNIXUnix System V|System V]] e Ii [[socketSocket (reti)|socket]] sostituiti da STREAMS.<ref>In Usatoambito interamenteUnix, eSTREAMS concessoè soloun framework nativo per usoil educativo.<refsistema name="dmrV8910">{{citaUnix webSystem |titolo=[TUHS]V, Re:progettato V7per UNIXimplementare ondriver VAXdi 11/750dispositivi |autore=[[Dennisa Ritchie]]carattere, |data=27protocolli giugnodi 2003rete |accesso=9e aprilecomunicazione 2014tra |url=http://minnieprocessi.tuhs.org</pipermail/tuhs/2003-June/000631ref>.html |urlmorto=sìUtilizzato |urlarchivio=https://web.archive.org/web/20140620171705/http://minnie.tuhs.org/pipermail/tuhs/2003-June/000631.htmlesclusivamente |dataarchivio=20e giugnoconcesso 2014solo }}</ref>per uso educativo. Il terminale Blit divenne l'interfaccia grafica primariaprincipale. Fu aggiunto un file system di rete che permetteconsente l'accesso remoto ai file comenel formato <code>''/n/''hostname''/''path''</code> e una [[Application programming interface|API]]. È la prima versione senzapriva di codice [[assembly]] nella documentazione.
|-
| Edizione 9
| settembre 1986
|In questa edizione venne incorporato il codice sorgente di 4.3BSD ma venne distribuito solo per uso interno all'azienda. Questa versione includeva una generalizzazione degli Streams [[Comunicazione tra processi|ICP]]<ref>In ambito Unix, la frase "generalizzazione degli Streams ICP" si riferisce all'estensione e all'adattamento del framework STREAMS per la comunicazione interprocesso (ICP, Inter-Process Communication).
|Venne incorporato il codice di 4.3BSD e distribuito solo internamente. Incorpora una versione generalizzata degli Streams [[Comunicazione tra processi|ICP]] introdotti nella versione 8. La chiamata al mount system era estesa a uno streaming di un file, a sua volta collegato a un programma user level. Questo meccanismo serviva a implementare la connessione di rete nello [[spazio utente]].<ref>{{cita pubblicazione |autore1=David L. Presotto |autore2=Dennis M. Ritchie |anno=1990 |rivista=[[Software—Practice and Experience]] |volume=19 |titolo=Interprocess Communication in the Ninth Edition Unix System |url=http://cm.bell-labs.com/cm/cs/who/dmr/ipcpaper.html |urlmorto=sì |accesso=26 aprile 2015 |urlarchivio=https://web.archive.org/web/20150203070655/http://cm.bell-labs.com/cm/cs/who/dmr/ipcpaper.html |dataarchivio=3 febbraio 2015 }}</ref> Altre innovazioni includono <kbd>[[make (Unix)|make]]</kbd> and <kbd>[[Sam (text editor)|Sam]]</kbd>.<ref name="reader0">[[Doug McIlroy|M. D. McIlroy]] (1987). [http://pic.plover.com/UnixReader/ A Research Unix reader: annotated excerpts from the Programmer's Manual, 1971–1986] {{webarchive|url=https://web.archive.org/web/20120710085846/http://pic.plover.com/UnixReader/|data=10 luglio 2012}}. CSTR 139, Bell Labs.</ref> Secondo Denni Ritchie la V9 e la V10 erano “concettuali”: i manuali esistevano ma nessuna distribuzione del sistema operativo “in maniera completa e coerente” fu rilasciata.<ref name="dmrV8910"/>
 
Dettagli
 
STREAMS è un'architettura modulare che consente di gestire flussi di dati tra processi in user space e driver nel kernel. La "generalizzazione" implica che il sistema è stato reso più flessibile e applicabile a una varietà di scenari di comunicazione, non limitandosi a un singolo tipo di interazione.
 
Incorporazione di ICP: L'integrazione degli Streams ICP significa che il sistema ora supporta una gamma più ampia di protocolli e modalità di comunicazione, facilitando la creazione di applicazioni che richiedono interazioni complesse tra diversi processi o dispositivi.
 
|VenneIn incorporatosintesi, ilquesta codicefrase diindica 4.3BSDun emiglioramento distribuitosignificativo solonella internamente.capacità Incorporadi unagestire versionela generalizzatacomunicazione deglitra Streamsprocessi, [[Comunicazionerendendo trail processi|ICP]]sistema più versatile e potente.</ref> introdotti nella versione 8. La chiamata al mountsistema systemdi eramontaggio fu estesa aper supportare unolo streaming di un file, a sua volta collegato a un programma in user level. Questo meccanismo serviva a implementare la connessione di rete nello [[spazio utente]].<ref>{{cita pubblicazione |autore1=David L. Presotto |autore2=Dennis M. Ritchie |anno=1990|titolo=Interprocess Communication in the Ninth Edition Unix System|rivista=[[Software—Practice and Experience]] |volume=19 |titoloaccesso=Interprocess26 Communication in the Ninth Edition Unix Systemaprile 2015|url=http://cm.bell-labs.com/cm/cs/who/dmr/ipcpaper.html |urlmorto=sì |accesso=26 aprile 2015 |urlarchivio=https://web.archive.org/web/20150203070655/http://cm.bell-labs.com/cm/cs/who/dmr/ipcpaper.html |dataarchivio=3 febbraio 2015|urlmorto=sì|autore1=David L. Presotto}}</ref> Altre innovazioni includonoincludevano <kbd>[[make (Unix)|make]]</kbd><ref>In andambito Unix, make è un'utilità fondamentale per la gestione e la manutenzione di programmi software. È progettata per automatizzare il processo di compilazione, determinando quali parti di un programma devono essere ricompilate e emettendo i comandi necessari per farlo.</ref> e il <kbd>[[Sam (text editor)|Sam]]</kbd>.<ref name="reader0">[[Doug McIlroy|M. D. McIlroy]] (1987). [http://pic.plover.com/UnixReader/ A Research Unix reader: annotated excerpts from the Programmer's Manual, 1971–1986] {{webarchive|url=https://web.archive.org/web/20120710085846/http://pic.plover.com/UnixReader/|data=10 luglio 2012}}. CSTR 139, Bell Labs.</ref>. Secondo Denni[[Dennis Ritchie]], lale versioni V9 e la V10 erano “concettuali”"concettuali": isebbene esistessero manuali, esistevanonon mafu nessunamai distribuzionerilasciata deluna sistema operativo “in manieradistribuzione completa e coerente”coerente fudel rilasciatasistema operativo.<ref name="dmrV8910">{{cita web|url=http://minnie.tuhs.org/pipermail/tuhs/2003-June/000631.html|titolo=[TUHS] Re: V7 UNIX on VAX 11/750|autore=[[Dennis Ritchie]]|data=27 giugno 2003|accesso=9 aprile 2014|urlarchivio=https://web.archive.org/web/20140620171705/http://minnie.tuhs.org/pipermail/tuhs/2003-June/000631.html|dataarchivio=20 giugno 2014|urlmorto=sì}}</ref>
|-
| Edizione 10
| ottobre 1989
| L'ultimo ''Research Unix''. Nonostante il manuale vennefosse stato pubblicato al di fuori di AT&T da Saunders College Publishing,<ref>{{cita web |url=http://www.cs.bell-labs.com/10thEdMan |titolo=Unix Tenth Edition Manual |editore=[[Bell Labs]] |accesso=25 dicembre 2013 |urlmorto=sì |urlarchivio=https://web.archive.org/web/20150203070035/http://www.cs.bell-labs.com/10thEdMan/ |dataarchivio=3 febbraio 2015 |urlmorto=sì}}</ref>, non vi eranoesistevano distribuzioni complete del sistema operativo.<ref name="dmrV8910" />. Le novità includonoincludevano toolstrumenti grafici di [[typesetting]], strumenti per lavorare con [[troff]]<ref name=":0" />, un interprete per il linguaggio C, programmi di animazione e molti altri strumenti poi distribuiti in [[Plan 9]]:, [[mkcome (software)|Mk]]il tool di build Mk<ref>Il termine "tool edi labuild shellMk" [[rcsi shell|rc]].riferisce V10a fuun anchesistema ladi basecostruzione utilizzato per automatizzare il sistemaprocesso operativodi IXcompilazione die [[Dougassemblaggio McIlroy]]del ecodice Jamessorgente A.in Reeds.<ref>{{citaartefatti web|titolo=Theeseguibili IXnel Multilevel-Securecontesto UNIXdello Systemsviluppo |url=http://wwwsoftware.cs.dartmouth.edu/~doug/IX/}}</ref>
 
Cos'è un sistema di build?
 
Un sistema di build è un insieme di strumenti e procedure che gestiscono la trasformazione del codice sorgente in un prodotto finale, come un'applicazione o una libreria. Questo processo può includere la compilazione, il linking e altre operazioni necessarie per preparare il software per l'esecuzione o la distribuzione.
 
Mk (Make)
 
Il termine "Mk" si riferisce specificamente a Make, uno dei più noti tool di build. Make utilizza file di configurazione (tipicamente chiamati <code>Makefile</code>) per definire come i vari componenti del software devono essere costruiti e quali dipendenze devono essere soddisfatte. È stato ampiamente utilizzato in vari progetti software, ma presenta alcune limitazioni in termini di velocità e scalabilità, specialmente in progetti di grandi dimensioni come Android
 
1
 
3
 
.</ref> e la shell [[Rc (shell)|rc]]. La versione 10 fu anche la base per il sistema operativo IX di Doug McIlroy e James A. Reeds.<ref>{{cita web|url=http://www.cs.dartmouth.edu/~doug/IX/|titolo=The IX Multilevel-Secure UNIX System}}</ref>
|}
 
Riga 84 ⟶ 106:
*[http://www.collyer.net/who/geoff/history.html UNIX Evolution] ([http://www.collyer.net/who/geoff/history.ps PostScript]) by Ian F. Darwin and [[Geoffrey Collyer]]
*[https://web.archive.org/web/20050831153956/http://www.tuhs.org/ Unix heritage] - More links and source code for some Research Unix versions
*[http://cm.bell-labs.com/cm/cs/who/dmr/hist.html The Evolution of the Unix Time-sharing System] {{Webarchive|url=https://web.archive.org/web/20150408054606/http://cm.bell-labs.com/cm/cs/who/dmr/hist.html |datedata=8 aprile 2015 }} by [[Dennis M. Ritchie]]
*[https://www.usenix.org/events/usenix09/tech/full_papers/toomey/toomey.pdf The Restoration of Early UNIX Artifacts] by Warren Toomey, School of IT, Bond University
* {{cita web|http://man.cat-v.org/unix_8th/|Full Manual Pages documentation for Research Unix 8th Edition}}
 
{{Sistemi operativi}}{{Portale|informatica}}
 
[[Categoria:Sistemi operativi Unix]]