Research Unix: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
+Correggere |
m Bot: sintassi dei link e modifiche minori |
||
(52 versioni intermedie di 35 utenti non mostrate) | |||
Riga 1:
{{
'''Research Unix'''
== Storia ==
[[File:Version 7 Unix SIMH PDP11 Emulation DMR.png|thumb|[[Versione Unix 7]] per il [[PDP-11]], eseguito in [[SIMH]]]]
Il termine
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.
A partire dalla ottava edizione, il sistema operativo Research Unix ebbe una forte correlazione con [[BSD]]. Questo avvenne poiche` si scelse di usare 4.1cBSD come base per la ottava edizione. In un post su [[Usenet]] nel 2000, [[Dennis Ritchie]] descrisse queste ultime versioni di Research Unix come piu` simili a BSD che a [[Unix System V|System V]],<ref>{{cite web|url=http://yarchive.net/comp/bsd.html|title=alt.folklore.computers: BSD (Dennis Ritchie)|author=Dennis Ritchie|date=26 October 2000|accessdate=3 July 2014}}</ref> che includeva anch'esso del codice BSD:▼
Questi dettagli evidenziano la storia complessa dello sviluppo di Research Unix e il suo ruolo cruciale nell'evoluzione dei moderni sistemi operativi Unix e Unix-like.
{{quote|Research Unix ottava edizione e` partito (cosi` mi sembra) da BSD 4.1c, ma con molto materiale rimpiazzato dal nostro. Si e` proseguito allo stesso modo per la nona e la decima edizione. I command-set ordinari, ritengo, sono a tratti piu` nella direzione di BSD piuttosto che di SysVish, ma rimane piuttosto eclettico.}}▼
Un altro modo comune di indicare la versione è "Unix versione x" (o "Vx"), dove x rappresenta la versione del manuale. Tutte le moderne edizioni di Unix (ad eccezione dei sistemi [[Unix-like|Unix compatibili]] come Coherent, [[MINIX|Minix]] e [[Linux]]) derivano dalla settima edizione.
== Versions ==▼
▲A partire
▲{{
Questa evoluzione sottolinea l'importanza della collaborazione tra i vari sviluppatori e le influenze reciproche tra i sistemi operativi, contribuendo così alla formazione delle moderne distribuzioni Unix-like.
{| class="wikitable"
! Edizione del manuale
Line 20 ⟶ 28:
|-
| Edizione 1
| 3
|
|-
| Edizione 2
| 12
| 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
|
|
|-
| Edizione 4
|
|
|-
| Edizione 5
|
| Fu
|-
| Edizione 6
|
|
|-
| Edizione 7
|
| 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
|
|
|-
| Edizione 9
|
|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).
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.
In sintesi, questa frase indica un miglioramento significativo nella capacità di gestire la comunicazione tra processi, rendendo il sistema più versatile e potente.</ref>introdotti nella versione 8. La chiamata al sistema di montaggio fu estesa per supportare lo streaming di un file, collegato a un programma in user level. Questo meccanismo serviva a implementare la connessione di rete nello [[spazio utente]].<ref>{{cita pubblicazione|autore2=Dennis M. Ritchie|anno=1990|titolo=Interprocess Communication in the Ninth Edition Unix System|rivista=[[Software—Practice and Experience]]|volume=19|accesso=26 aprile 2015|url=http://cm.bell-labs.com/cm/cs/who/dmr/ipcpaper.html|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 includevano <kbd>[[make (Unix)|make]]</kbd><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 [[Dennis Ritchie]], le versioni V9 e V10 erano "concettuali": sebbene esistessero manuali, non fu mai rilasciata una distribuzione completa e coerente del sistema 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
|
| L'ultimo ''Research Unix''. Nonostante il manuale
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>
|}
== Note ==
<references />▼
== Voci correlate ==
* [[Unix]]
* [[Plan 9]]
* [[Inferno (sistema operativo)]]
==
{{interprogetto}}
▲<references />
== Collegamenti esterni ==
*[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 |date=8 aprile 2015 }} by [[Dennis M. Ritchie]]
*[
*
{{Sistemi operativi}}{{Portale|informatica}}
[[Categoria:Sistemi operativi Unix]]
|