Research Unix: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Zorro55 (discussione | contributi)
Correzioni e integrazioni alle edizioni
Zorro55 (discussione | contributi)
Correzioni SOS alla tabella "Edizioni"
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 57:
| 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. Usato<ref>In interamenteambito eUnix, concessoSTREAMS soloè un 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> and<ref>In ambito 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>
|}