-<?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>
- <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" />
</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>
</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">
- <b>CVS</b>
+ <b>Trac</b>
</font>
</a>
</td>
</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>
</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
<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>
- <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
- 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>
+ 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
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>
+ <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&n=80aa9ec' /></a></noscript>
+ </td>
</tr>
<tr>
<td width="130" valign="top">
<b>
<font color="#0000aa">
- Disponibilità
+ Altro materiale
</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 </b> </td>
- <td valign="top"> Introduzione alla rete</td>
- <td valign="top"> completo, da revisionare </td>
- </tr>
- <tr>
- <td valign="top"> <b> Cap. 14 </b> </td>
- <td valign="top"> I socket</td>
- <td valign="top"> completo, da revisionare. Manca la
- trattazione di eventuali ulteriori famiglie. </td>
- </tr>
- <tr>
- <td valign="top"> <b> Cap. 15-16 </b> </td>
- <td valign="top"> I socket TCP </td>
- <td valign="top"> socket TCP elementari completo, da
- revisionare. Socket TCP avanzati appena iniziato,
- in fase di stesura.
-
- </td>
- </tr>
- <tr>
- <td valign="top"> <b> Appendici </b> </td>
- <td valign="top"> I protocolli, gli errori, ecc.</td>
- <td valign="top"> Materiale messo insieme alla
- rinfusa, e da rivedere da zero.
- </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>
- <b> Versione corrente:</b> 499 pagine.
</p>
</td>
</tr>
</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,
<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
- l'occasione è stata completamente revisionata la parte di
+ l'occasione è stata completamente revisionata la parte di
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.
- <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
- 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
- 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>
</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>