Merge branch 'master' of ssh://gapil.gnulinux.it/srv/git/gapil
[gapil.git] / html / gapil.html
index d66a73be327e93cf78bf0f5feef755d57a8b3828..d1e73493b77bb57c5f3c0dd20137f555ec392cf9 100644 (file)
@@ -1,11 +1,11 @@
-<?xml version="1.0" encoding="iso-8859-1"?> 
+<?xml version="1.0" encoding="utf-8"?> 
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
 "DTD/xhtml1-strict.dtd">
 
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="it">
   <head>
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
 "DTD/xhtml1-strict.dtd">
 
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="it">
   <head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     <title>GaPiL -- Guida alla Programmazione in Linux</title>
     <meta name="author" content="Simone Piccardi" />
     <meta name="title" content="Guida alla Programmazione in Linux" />
     <title>GaPiL -- Guida alla Programmazione in Linux</title>
     <meta name="author" content="Simone Piccardi" />
     <meta name="title" content="Guida alla Programmazione in Linux" />
            </a> 
          </td>
          <td align="center" bgcolor="#dddddd">
            </a> 
          </td>
          <td align="center" bgcolor="#dddddd">
-           <a target="_parent"  href="stampa.html">
+           <a target="_parent"  href="stato.html">
+             <font face="sans-serif">
+               <b>Stato</b>
+             </font>
+           </a> 
+         </td>
+         <td align="center" bgcolor="#dddddd">
+           <a target="_parent"  href="download.html">
              <font face="sans-serif">
                <b>Download</b>
              </font>
              <font face="sans-serif">
                <b>Download</b>
              </font>
@@ -77,9 +84,9 @@
          </td>
          <td align="center" bgcolor="#dddddd">
            <a target="_parent"  
          </td>
          <td align="center" bgcolor="#dddddd">
            <a target="_parent"  
-             href="http://cvs.firenze.linux.it/cgi-bin/viewcvs.cgi/gapil/?cvsroot=Misc">
+             href="http://gapil.truelite.it/sources">
              <font face="sans-serif">
              <font face="sans-serif">
-               <b>CVS</b>
+               <b>Trac</b>
              </font>
            </a>
          </td>
              </font>
            </a>
          </td>
@@ -88,7 +95,7 @@
     </table>
 
 <!-- CUT HERE -->
     </table>
 
 <!-- CUT HERE -->
-    <table width="800" cellspacing="10" cellpadding="10" border="0">
+    <table width="1000" cellspacing="10" cellpadding="10" border="0">
       <tbody>
        <tr>
          <td width="130" valign="top"><b>
       <tbody>
        <tr>
          <td width="130" valign="top"><b>
              </font>
            </b>
          </td>
              </font>
            </b>
          </td>
-         <td bgcolor="lightblue"> 
-           
+         <td bgcolor="lightblue"  width="600">             
            <b>GaPiL</b> nasce dalla mia convinzione profonda che la <a
              href="http://www.gnu.org/philosophy/philosophy.it.html">
              "filosofia"</a> che ispira il software libero si applichi anche
            <b>GaPiL</b> nasce dalla mia convinzione profonda che la <a
              href="http://www.gnu.org/philosophy/philosophy.it.html">
              "filosofia"</a> che ispira il software libero si applichi anche
           
            <p> Ma se trovare della buona documentazione libera, specie per
                quanto riguarda i programmi che girano sul sistema GNU/Linux,
           
            <p> Ma se trovare della buona documentazione libera, specie per
                quanto riguarda i programmi che girano sul sistema GNU/Linux,
-               è ormai relativamente facile, la produzione di buoni testi
-               didattici è ancora molto limitata, soprattutto se li si cercano
+               è ormai relativamente facile, la produzione di buoni testi
+               didattici è ancora molto limitata, soprattutto se li si cercano
                in lingua italiana.
            </p>
                in lingua italiana.
            </p>
-           <p> <b>GaPiL</b> è un tentativo di scrivere un manuale di
+           <p> <b>GaPiL</b> è un tentativo di scrivere un manuale di
                programmazione di sistema in ambiente Linux, con una
                particolare attenzione alle caratteristiche specifiche delle
                programmazione di sistema in ambiente Linux, con una
                particolare attenzione alle caratteristiche specifiche delle
-               interfacce fornite dal kernel. Benché buona parte della
-               trattazione delle funzioni di libreria faccia riferimento a
-               standard generali come POSIX, si è comunque data una
-               attenzione particolare alle GNU libc, che sono la versione più
-               usata delle librerie del C, senza dimenticare, ove note, di
-               citare le differenze con possibili alternative come le libc5 o
-               le uclibc.
+               interfacce fornite dal kernel. Per questo motivo si parla di
+               Linux e non di GNU/Linux.
+           </p>
+           <p> Nonostante questa specificità, essendo la gran parte delle
+               funzioni di sistema standardizzate, la guida dovrebbe
+               risultare utile anche facendo riferimenti ad altri sistemi di
+               tipo Unix come BSD, in ogni caso si sono sottolineate
+               esplicitamente le caratteristiche specifiche di Linux.  
            </p>
            <p>
            </p>
            <p>
-               L'obiettivo resta comunque quello di riuscire a produrre una
+               Benché buona parte della trattazione delle funzioni di
+               libreria sia del tutto identica, facendo riferimento a
+               standard generali come POSIX, si 
+               è comunque prestata particolare attenzione alle funzioni delle
+               GNU libc, che sono la versione più usata delle librerie del C,
+               senza dimenticare, ove note, di citare le differenze con
+               possibili alternative come le libc5 o le uclibc.
+           </p>
+           <p>
+               L'obiettivo resta comunque quello di riuscire a produrre un
                testo, rilasciato sotto <a
                href="http://www.gnu.org/copyleft/fdl.html">GNU FDL</a>, che
                possa servire a chi si accosta per la prima volta alla
                programmazione avanzata e di sistema su un kernel Linux, con
                testo, rilasciato sotto <a
                href="http://www.gnu.org/copyleft/fdl.html">GNU FDL</a>, che
                possa servire a chi si accosta per la prima volta alla
                programmazione avanzata e di sistema su un kernel Linux, con
-               la speranza di poter un giorno raggiungere la qualità dei
+               la speranza di poter un giorno raggiungere la qualità dei
                lavori del compianto R. W. Stevens.
            </p>
          </td>
                lavori del compianto R. W. Stevens.
            </p>
          </td>
+         <td valign="top">
+<!-- Generated by OpenX 2.8.5 -->
+<script type='text/javascript' src='http://openx.fountainpen.it/www/delivery/spcjs.php?id=3'></script>
+<script type='text/javascript'><!--// <![CDATA[
+    /* [id3] gapil.truelite.it - Default */
+        OA_show(3);
+// ]]> --></script><noscript><a target='_blank' href='http://openx.fountainpen.it/www/delivery/ck.php?n=80aa9ec'><img border='0' alt='' src='http://openx.fountainpen.it/www/delivery/avw.php?zoneid=3&amp;n=80aa9ec' /></a></noscript>
+         </td>
        </tr> 
        <tr>
          <td width="130" valign="top">
            <b>
              <font color="#0000aa">
        </tr> 
        <tr>
          <td width="130" valign="top">
            <b>
              <font color="#0000aa">
-               Disponibilità
+               Altro materiale
              </font>
            </b>
          </td>
          <td bgcolor="lightblue"> 
              </font>
            </b>
          </td>
          <td bgcolor="lightblue"> 
-
-             <b>GaPiL</b> nasce come libro e come tale la versione di
-             riferimento è quella in PDF, accessibile nella sezione <a
-             href="stampa.html"> <font face="sans-serif"> <b>Download</b>
-             </font></a>. Grazie all'opera di Mirko Maischberger abbiamo
-             anche una bellissima versione HTML, accessibile nella sezione <a
-             href="http://www.lilik.it/~mirko/gapil/gapil.html"> <font
-             face="sans-serif"> <b>online</b> </font></a>, finalmente
-             all'altezza della versione stampabile.
-         </td>
-       </tr>
-       <tr>
-         <td width="130" valign="top">
-           <b>
-             <font color="#0000aa">
-               Stato
-             </font>
-           </b>
-         </td>
-         <td bgcolor="lightblue"> <b>GaPiL</b> è in continua evoluzione ma
-           alcune parti hanno raggiunto una "stabilità" sufficiente (nel
-           senso che le ho riviste, le ritengo abbastanza complete, e non
-           sono stato capace di accorgermi degli errori che ci ho lasciato)
-           altre sono da rivedere, altre sono solo parzialmente accennate. La
-           situazione attuale è la seguente:
-           <table width="600" cellspacing="5">
-             <tbody>
-               <tr>
-                 <td valign="top"> <b> Cap. 1 </b> </td>
-                 <td valign="top"> Introduzione </td> 
-                 <td valign="top"> quasi completo e parzialmente revisionato
-                 </td>
-               </tr>
-               <tr>
-                 <td valign="top"> <b> Cap. 2-3 </b> </td>
-                 <td valign="top"> Gestione dei processi </td>
-                 <td valign="top"> quasi completi e parzialmente revisionati
-                 </td>
-               </tr>
-               <tr>
-                 <td valign="top"> <b> Cap. 4-7 </b> </td>
-                 <td valign="top"> Gestione base dei file </td>
-                 <td valign="top"> quasi completi e parzialmente revisionati
-                 </td>
-               </tr>
-               <tr>
-                 <td valign="top"> <b> Cap. 8 </b> </td>               
-                 <td valign="top"> Sistema, parametri, errori</td> 
-                 <td valign="top"> quasi completo, da revisionare</td>
-               </tr>
-               <tr>
-                 <td valign="top"> <b> Cap. 9 </b> </td>
-                 <td valign="top"> Segnali</td> 
-                 <td valign="top"> quasi completo, da revisionare </td>
-               </tr>
-               <tr>
-                 <td valign="top"> <b> Cap. 10 </b> </td>
-                 <td valign="top"> Sessioni e terminali</td> 
-                 <td valign="top"> Sessioni complete, da revisionare, 
-                   terminali quasi completi. </td>
-               </tr>
-               <tr>
-                 <td valign="top"> <b> Cap. 11 </b> </td>
-                 <td valign="top"> Gestione avanzata dei file</td> 
-                 <td valign="top"> 
-                   I/O non bloccante, asincrono, memory
-                   mapped completo, da revisionare, file locking
-                   completo, da revisionare.  
-                 </td>
-               </tr>
-               <tr>
-                 <td valign="top"> <b> Cap. 12 </b> </td>
-                 <td valign="top"> IPC </td> 
-                 <td valign="top"> Pipe, fifo e code, semafori, 
-                   memoria condivisa, tecniche alternative completi, da
-                   revisionare, IPC POSIX quasi completo. 
-                 </td>
-               </tr>
-               <tr>
-                 <td valign="top"> <b> Cap. 13-14 </b> </td>
-                 <td valign="top"> Introduzione alla rete</td> 
-                 <td valign="top"> completi, da revisionare </td>
-               </tr>
-               <tr>
-                 <td valign="top"> <b> Cap. 15-16 </b> </td>
-                 <td valign="top"> Socket TCP elementari</td> 
-                 <td valign="top"> Caratteristiche base quasi complete,
-                   esempio elementare da concludere </td>
-               </tr>
-             </tbody>
-           </table>
+         
+           Potete trovare altra documentazione libera di vario tipo (non
+           necessariamente attinente l'informatica) prodotta da me
+           all'indirizzo: <a
+           href="http://firenze.linux.it/~piccardi/pubblicazioni.html">
+           http://firenze.linux.it/~piccardi/pubblicazioni.html</a>
+           <p>
+           Invece la documentazione tecnica più recente che ho prodotto è
+           pubblicata sul sito di <a href="http://www.truelite.it">Truelite
+           Srl</a>, ed in particolare sono disponibili una serie di manuali
+           su temi di natura sistemistica a partire da <a href=
+           "http://labs.truelite.it/truedoc">
+           http://labs.truelite.it/truedoc</a>.
+           </p>
+           <p>
+           Infine, sia per dar sfogo ad una passione personale, che per
+           giocare con Mediawiki, ho creato una sito dedicato alla storia
+           della penna stilografica, con molto materiale ed informazioni,
+           sempre libere, all'indirizzo:
+           <a
+           href="http://www.fountainpen.it">
+           http://www.fountainpen.it</a>
            <p>
            <p>
-             <b> Versione corrente:</b> 473 pagine.
            </p>
          </td>
        </tr>
            </p>
          </td>
        </tr>
            </b>
          </td>
          <td bgcolor="lightblue"> 
            </b>
          </td>
          <td bgcolor="lightblue"> 
+             <b>6 - dicembre - 2008</b> <br/> Aggiornata la versione cartacea
+              acquistabile su lulu.com, all'indirizzo 
+             <a href="http://stores.lulu.com/piccardi">
+               http://stores.lulu.com/piccardi</a>, contiene le ultime
+               novità in particolare riguardo le funzioni delle ACL. Si
+               ricorda che il sovrapprezzo serve a finanziare lo sviluppo del
+               testo; si può sempre scaricare la versione corrente aggiornata
+               e gratuita da questo sito.
+           <p>
+             <b>5 - gennaio - 2007</b> <br/> Pubblicata una versione
+             stampabile a richiesta su lulu.com, ordinabile all'indirizzo 
+             <a href="http://stores.lulu.com/piccardi">
+               http://stores.lulu.com/piccardi</a>. 
+           <p>
+             <b>1 - giugno - 2006</b> <br/> Nuova revisione con varie aggiunte
+             e correzioni, in occasione della pubblicazione sul DVD di
+             LinuxPro. 
+           <p>
+             <b>11 - marzo - 2005</b> <br/> Modificata la pagina dell'accesso
+             ai sorgenti, non viene più utilizzato ViewCVS ma è stato
+             installato il sistema di tracking <a
+             href="http://www.edgewall.com/trac/">trac</a> che oltre alla
+             navigazione dei contenuti consente di tenere sotto controllo le
+             revisioni, e l'evoluzione della guida e di inviare ticket via
+             web.
+           <p>
+             <b>6 - marzo - 2005</b> <br/> Realizzato un web server
+             elementare a scopo didattico, in vista <a href="
+             http://www.lilik.it/page.php?pg=gapil">dell'iniziativa del
+             Lilik</a> su GaPiL.
+           <p>
+             <b>12 - gennaio - 2005</b> <br/> Completata la sezione sulla
+             gestione della risoluzione degli indirizzi ed iniziata la
+             sezione sulle opzioni dei socket.
+           <p>
+             <b>19 - luglio - 2004</b> <br/> Completata una prima sezione sui
+             socket UDP ed iniziata una sezione sulle funzioni per la
+             risoluzione degli indirizzi. Inoltre da oggi i sorgenti di Gapil
+             sono accessibili usando <a href="http://subversion.tigris.org/">
+             Subversion</a> sul sito di <a
+             href="http://www.truelite.it">Truelite Srl</a>.
+           <p>
+             <b>3 - marzo - 2004</b> <br/> Ristrutturata la parte sulla
+             programmazione di rete, inserita la sezione sull'I/O
+             multiplexing (completata con esempio di server basato su
+             <b>poll</b>) nella sezione sui socket TCP. Introdotti i nuovi
+             capitoli sugli altri socket, ed iniziata la sezione sui socket
+             UDP. 
+           <p>
+             <b>26 - dicembre - 2003</b> <br/> Inserito esempio di server
+             basato sull'I/O multiplexing. Ristrutturato il capitolo sui file
+             avanzati scorporando in una sezione a parte l'I/O multiplexing,
+             e inserendo alcuni esempi per <b>pselect</b>. Creata una terza
+             parte per le appendici.
+           <p>
+             <b>8 - novembre - 2003</b> <br/> Corretta tabella sbagliata al
+             capitolo 5, completata la sezione sull'uso dell'I/O multiplexing
+             sul lato client ed iniziata la versione server, inserita la
+             trattazione della funzione shutdown.
+           </p>
+           <p>
+             <b>21 - settembre - 2003</b> <br/> Completato il capitolo sui
+             socket elementari, e corretti numerosi errori. Revisione della
+             sezione sull'I/O multiplexing nel capitolo sui file avanzati in
+             vista dell'uso nel capitolo sui socket TCP avanzati.
+           </p>
            <p>
              <b>6 - aprile - 2003</b> <br/> Grazie all'incredibile lavoro di
              Mirko Maischberger abbiamo una favolosa versione in HTML, che
            <p>
              <b>6 - aprile - 2003</b> <br/> Grazie all'incredibile lavoro di
              Mirko Maischberger abbiamo una favolosa versione in HTML, che
-             collego direttamente dalla sua home page. Non finirò mai di
+             collego direttamente dalla sua home page. Non finirò mai di
              ringraziarlo per aver domato htlatex fino a produrre la prima
              versione di GaPiL realmente consuntabile on line. Con
              ringraziarlo per aver domato htlatex fino a produrre la prima
              versione di GaPiL realmente consuntabile on line. Con
-             l'occasione è stata completamente revisionata la parte di
+             l'occasione è stata completamente revisionata la parte di
              introduzione alle reti.
            </p>
            <p>
              introduzione alle reti.
            </p>
            <p>
            <p>
              <b>3 - luglio - 2002</b> <br/> Prima versione del sito, con
              rilascio della prima versione di GaPiL in un HTML passabile.
            <p>
              <b>3 - luglio - 2002</b> <br/> Prima versione del sito, con
              rilascio della prima versione di GaPiL in un HTML passabile.
-             <br/>
-             Sono in versione preliminare, ma ricontrollati e di qualità
-             accettabile, i capitoli dal primo al nono: introduzione,
+             <br/> Sono in versione preliminare, ma ricontrollati e di
+             qualità accettabile, i capitoli dal primo al nono: introduzione,
              gestione dei processi, interfacce di base per i file e per il
              controllo dei parametri del sistema, gestione dei segnali. Sono
              gestione dei processi, interfacce di base per i file e per il
              controllo dei parametri del sistema, gestione dei segnali. Sono
-             da ricontrollare, ma di qualità decente, i capitoli dal
+             da ricontrollare, ma di qualità decente, i capitoli dal
              tredicesimo al sedicesimo: reti e socket elementari (il
              tredicesimo al sedicesimo: reti e socket elementari (il
-             sedicesimo capitolo è incompleto). Sono in corso di stesura, e
-             pertanto di qualità non classificabile (che può oscillare fra la
+             sedicesimo capitolo è incompleto). Sono in corso di stesura, e
+             pertanto di qualità non classificabile (che può oscillare fra la
              bozza non rivista ed il semplice elenco degli argomenti) gli
              altri capitoli.
            </p>
              bozza non rivista ed il semplice elenco degli argomenti) gli
              altri capitoli.
            </p>
        </tr>
      </tbody>
     </table>
        </tr>
      </tbody>
     </table>
+
+<!-- Piwik -->
+<script type="text/javascript">
+var pkBaseURL = (("https:" == document.location.protocol) ? "https://piwik.fountainpen.it/" : "http://piwik.fountainpen.it/");
+document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E"));
+</script><script type="text/javascript">
+try {
+var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 3);
+piwikTracker.trackPageView();
+piwikTracker.enableLinkTracking();
+} catch( err ) {}
+</script><noscript><p><img src="http://piwik.fountainpen.it/piwik.php?idsite=3" style="border:0" alt=""/></p></noscript>
+<!-- End Piwik Tag -->
+
 <!-- CUT HERE -->
   </body>
 </html>
 <!-- CUT HERE -->
   </body>
 </html>