% Linux Guida dell'Utente                   -*- TeX -*-
  % unixinfo.tex
  % Copyright (c) 1993, 1994 by Larry Greenfield
  %
  % Traduzione di Eugenia Franzoni, 1997
  %
  % Questo file e' liberamente distribuibile, ma si deve preservare questo
  % avviso di copyright su tutte le copie, e deve essere distribuito solo come
  % parte di "Linux Guida dell'Utente". L'uso di questo file e'
  % protetto dal copyright dell'intero documento, nel file "copyright.tex".
  
  
  % Titolo del capitolo
  \chapter{Cos'\`e \unix?}\label{unixinfo}
  
  % Frasetta estratta dal programma fortune e non tradotta...
  % \begin{quote}
  % Ken Thompson\index{Thompson, Ken} has an automobile which he helped
  % design.  Unlike most automobiles, it has neither speedometer, nor gas
  % gage, nor any of the numerous idiot lights which plague the modern
  % driver.  Rather, if the driver makes any mistake, a giant ``?'' lights
  % up in the center of the dashboard.  ``The experienced driver,'' he
  % says, ``will usually know what's wrong.''
  % \end{quote}
  
  
  \section{Storia di \unix}
  
  Nel 1965, i laboratori della Bell Telephone (Bell Labs, una divisione della
  AT\&T\index{AT\&T})\glossary{Bell Labs} stavano lavorando con la General
  Electric\index{General Electric} e il Project MAC del
  MIT\index{Massachusetts Institute of Technology} per scrivere un sistema
  operativo chiamato Multics.\index{Multics} Per fare la storia un
  po' pi\`u breve, i laboratori della Bell decisero che il progetto non sarebbe
  andato in porto e sciolsero il gruppo. Questo, comunque, lasci\`o i laboratori
  della Bell senza un buon sistema operativo.
  
  Ken Thompson\index{Thompson, Ken} e Dennis Ritchie\index{Ritchie, Dennis} 
  decisero di abbozzare un sistema operativo che doveva incontrare le
  necessit\`a dei Laboratori della Bell. Quando a Thompson serv\`i un
  ambiente di sviluppo (1970) che funzionasse su un PDP-7, implement\`o le
  loro idee. Come gioco di parole su Multics, Brian
  Kernighan\index{Kernighan, Brian}, un altro ricercatore della Bell
  Labs, diede al sistema il nome
  \unix.
  
  In seguito, Dennis Ritchie\index{Ritchie, Dennis} invent\`o il linguaggio di
  programmazione ``C''. Nel 1973, UNIX fu riscritto in C, invece che
  nell'originale linguaggio assembly.\footnote{Il ``linguaggio
  assembly'' \`e un linguaggio di programmazione a livello molto basso
  legato ad un determinato tipo di computer. Programmare in assembly \`e
  spesso considerato una sfida.} Nel 1977, UNIX fu adattato ad una
  nuova macchina usando un processo chiamato porting \glossary{porting}, e fu
  tolto dalla macchina PDP su cui girava precedentemente. Ci\`o fu
  aiutato dal fatto che UNIX era stato scritto in C, dato che non si dovette
  riscrivere molto
  codice, ma bast\`o ricompilarlo. 
  
  Alla fine degli anni '70, alla AT\&T fu vietato di competere
  nell'industria informatica, quindi forn\`i a prezzo molto basso le
  licenze di UNIX a svariati college ed universit\`a. Prese piede
  lentamente all'esterno delle istituzioni accademiche, ma alla fine
  divenne popolare anche nell'ambiente commerciale.
  Lo UNIX di oggi \`e diverso
  dallo Unix del 1970: ha due grandi versioni: la System~V, degli Unix
  System Laboratories (USL)\index{Unix System Laboratories}, dei consociati
  della Novell,\footnote{\`E stato recentemente venduto alla Novell.
  Precedentemente,
  USL era di propriet\`a della AT\&T.\index{AT\&T}}\index{Novell} e la
  Berkeley Software Distribution (BSD).\index{BSD}\index{Universit\`a della
  California,
  Berkeley} La versione USL \`e arrivata alla quarta revisione, o
  SVR4,\footnote{Un modo criptico di dire ``System five, release
  four''.} mentre l'ultima versione BSD
  \`e la 4.4. Comunque ci sono molte diverse versioni di UNIX oltre a 
  queste
  due. La maggior parte delle versioni commerciali di UNIX derivano
  da uno di questi due gruppi.
  Le versioni di UNIX
  attualmente utilizzate incorporano caratteristiche di entrambi.
  
  Le versioni attuali di \uslunix\ per PC Intel\index{Intel} costano tra i
  \$500 e i \$2000.
  
  
  \section{Storia di \linux}
  
  L'autore primario di Linux \`e Linus
  Torvalds\index{Torvalds, Linus}. Dalla sua versione originale, \`e
  stato perfezionato da innumerevoli persone da tutto il mondo. 
  \`E un clone, scritto
  interamente da zero, del sistema operativo \unix. N\'e USL n\'e
  l'Universit\`a della California, Berkeley, sono stati coinvolti nella
  stesura di
  \linux. Uno dei fatti pi\`u interessanti di Linux \`e che il suo sviluppo
  avviene simultaneamente in tutto il mondo. Gente dall'Australia alla
  Finlandia ha contribuito a \linux, e continuer\`a  felicemente a
  farlo.
    
  Linux inizi\`o con un progetto di esplorazione del chip 80386. Uno
  dei primi
  progetti di Linus era un programma che doveva stampare
  alternativamente
  {\tt AAAA} e {\tt BBBB} (due processi funzionanti in multitasking). Questo
  poi \`e diventato \linux.
  
  Linux \`e sottoposto al copyright della GNU General Public License
  (GPL)\index{General Public License}. Si tratta di una licenza scritta
  dalla
  Free Software Foundation (FSF)\index{Free Software Foundation}, progettata
  per prevenire la gente dal restringere la distribuzione del software. In
  breve essa dice che anche se si pu\`o far pagare quello che si vuole
  per una
  copia, non si pu\`o impedire alla persona a cui la copia \`e stata venduta
  di distribuirla liberamente. Significa anche che il codice
  sorgente\footnote{Il codice sorgente\glossary{codice sorgente} di un programma \`e ci\`o
  che il programmatore scrive e legge. Viene in seguito trasformato in
  codice macchina illeggibile che viene interpretato dal computer.}
  deve essere disponibile, cosa molto utile
  per i programmatori. Chiunque pu\`o modificare Linux e rendere
  disponibili le sue modifiche, sempre che mantengano il codice sotto
  lo stesso copyright.
  
  Linux supporta molto del software UNIX pi\`u famoso, compreso il Sistema
  X~Window\index{X Window System}. 
  Il sistema X Window \`e stato creato al Massachusetts Institute of
  Technology\index{Massachusetts Institute of Technology}. \`E stato
  scritto per permettere ai sistemi UNIX di creare finestre grafiche
  ed interagire facilmente l'uno con l'altro. Oggi, il sistema X~Window 
  viene usato su tutte le versioni di UNIX disponibili.
  
  In aggiunta alle due versioni di \unix, System V e BSD, c'\`e anche un
  insieme di documenti di standardizzazione, pubblicati dalla
  IEEE\index{IEEE}, intitolati {\bf POSIX}\glossary{POSIX}. Linux \`e
  principalmente conforme a POSIX-1 e POSIX-2.\index{POSIX} Il suo
  aspetto \`e molto simile a BSD in alcune cose, e a System V in altre.
  \`E un insieme (secondo la maggior parte delle persone, ottimo) di tutti e
  tre gli standard.
  
  Molte delle utility incluse nelle distribuzioni di Linux provengono dalla
  Free Software Foundation\index{Free Software Foundation} e sono parte del
  Progetto GNU\index{Progetto GNU}. Il Progetto GNU \`e un'opera di scrittura
  di un sistema operativo portabile ed avanzato che somigli molto a \unix.
  ``Portabile'' significa che funzioner\`a su una variet\`a di macchine, non
  solo PC Intel, ma anche Macintosh o altri. 
  Il sistema operativo GNU si chiama Hurd\index{GNU Hurd}. La
  differenza principale tra Linux e Hurd non sta nell'interfaccia
  utente, ma nell'interfaccia di programmazione---Hurd \`e un sistema
  operativo moderno mentre Linux prende in prestito pi\`u cose dallo
  UNIX originale.
  
  La storia di Linux riportata qui sopra \`e carente perch\'e non
  menziona nessuno {\em oltre a\/} Linus Torvalds. Ad esempio,
  H.~J.~Lu \index{Lu, H.~J.}ha curato la manutenzione del {\tt gcc} e la libreria C di         
  Linux (due elementi necessari per la programmazione su \linux) fin
  da molto presto nella storia di Linux stesso. Potete trovare un
  elenco di persone che meritano di essere nominate in ogni sistema
  Linux nel file {\tt /usr/src/linux/CREDITS}. 
  
  
  \subsection{Linux oggi}
  
  La prima cifra del numero di versione di Linux indica revisioni
  veramente enormi, che cambiano molto lentamente; al momento in
  cui sto scrivendo (febbraio 1996) \`e disponibile solo la versione
  ``1''. La seconda cifra indica revisioni un po' pi\`u piccole. Una
  seconda cifra pari indica le versioni pi\`u stabili ed affidabili,
  mentre le versioni con la seconda cifra dispari sono versioni di
  sviluppo, pi\`u facilmente bacate. L'ultima cifra \`e il numero della
  versione---ogni volta che viene rilasciata una nuova versione, che
  pu\`o semplicemente risolvere dei piccoli problemi o aggiungere
  caratteristiche di piccola entit\`a, questa cifra viene aumentata di
  uno. Oggi, febbraio 1996, siamo arrivati alla versione stabile
  1.2.11, ed alla versione di sviluppo 1.3.61.
  
  Linux \`e un grosso sistema operativo e sfortunatamente
  contiene bug (errori) che devono essere trovati e corretti. Sebbene alcune
  persone trovino regolarmente degli errori, normalmente avviene a
  causa di un hardware insolito o difettoso; i bug che interessano
  molte persone sono pochissimi.
  
  Certamente, questi sono solo i bug del kernel. I bug possono essere presenti
  anche in ogni aspetto del sistema, e gli utenti inesperti possono avere
  problemi a distinguere programmi diversi l'uno dall'altro. Per
  esempio, un problema che potrebbe
  presentarsi \`e che i caratteri diventano illeggibili---\`e un bug o una
  ``caratteristica''? Sorprendentemente, questa \`e una caratteristica---i
  caratteri illeggibili sono causati da alcune sequenze di controllo che a
  volte possono apparire. Speriamo che questo libro insegni a
  distinguere le
  varie situazioni.
  
  
  \subsection{Domande comuni su \linux}
  
  Prima di partire per il nostro lungo viaggio, mettiamo in chiaro le
  cose veramente importanti:
  
  {\bf Domanda:} Come si pronuncia \linux?\index{pronuncia}
  
  {\bf Risposta:} Per volont\`a di Linus\index{Torvalds, Linus}, 
  dovrebbe essere pronunciato con una breve suono {\em ih}, come prInt,
  mInImo ecc. Linux dovrebbe far rima con Minix, un'altro clone di
  \unix.
  La pronuncia \`e {\em LIH-nucks}.
  
  {\bf Domanda:} Perch\'e lavorare su \linux?
   
  {\bf Risposta:} Perch\'e no? Linux \`e in genere meno caro degli altri
  sistemi operativi, e spesso meno problematico di molti sistemi
  commerciali. Pu\`o non essere il sistema migliore per le vostre
  particolari applicazioni, ma per chi \`e interessato ad usare le
  applicazioni UNIX disponibili per \linux, \`e un sistema molto
  performante.
  
  \subsection{Software commerciale per \linux}
  
  Esiste molto software commerciale disponibile per \linux. 
  Ad esempio si pu\`o cominciare con Motif\index{Motif}, un'interfaccia
  utente per il sistema X Window\index{X Window System} che somiglia
  vagamente a Microsoft Windows\index{Microsoft Windows}. Linux si
  sta guadagnando sempre pi\`u software commerciale. In questi giorni si
  pu\`o comprare di tutto per \linux, da Word Perfect, un famoso word processor, a
  Maple, un complesso pacchetto di manipolazione simbolica.
  
  Per i lettori interessati agli aspetti legali di \linux, ci\`o \`e
  permesso
  dalla licenza \linux. Mentre la Licenza Pubblica Generale GNU\index{GNU,
  Licenza Pubblica Generale} (riprodotta nell'appendice~\ref{GNU-GPL}) copre
  il kernel di Linux e sembra non permettere lo sviluppo di software
  commerciale, la Licenza Pubblica Generale Librerie\index{GNU,
  Licenza Pubblica Generale Librerie} (riprodotta
  nell'appendice~\ref{GNU-LGPL}) copre
  molto del codice su cui le applicazioni
  dipendono.\glossary{GPL}\glossary{GNU General Public License}\glossary{LGPL}\glossary{GNU Library General Public License}
  Ci\`o permette agli sviluppatori di software commerciale di vendere le
  loro applicazioni e non distribuire il codice sorgente.
  
  Da notare che questi due documenti sono avvisi di copyright, non
  licenze per
  l'uso. Essi {\em non\/} regolano come si dovrebbe usare il software, ma
  semplicemente in quali circostanze si pu\`o copiare il software e ogni
  lavoro
  derivato. Per la Free Software Foundation, questa \`e una distinzione
  importante: Linux non ha nessuna licenza d'uso ma \`e
  semplicemente protetto dalla stessa regolamentazione che non permette
  di fotocopiare un libro.
  
  % Local Variables:
  % mode: latex
  % TeX-master: "guide"
  % End:
