-<?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">
<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
+ 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ù
+ 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.
</p>
<p>
- L'obiettivo resta comunque quello di riuscire a produrre una
+ 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
- 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>
- </tr>
- <tr>
- <td width="130" valign="top">
- <b>
- <font color="#0000aa">
- Disponibilità
- </font>
- </b>
- </td>
- <td bgcolor="lightblue">
+ <td valign="top">
- <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.
+ <script type="text/javascript">
+ <!--
+ google_ad_client = "pub-8183995981511372";
+ /* GapilHomeAd160x600 */
+ google_ad_slot = "2733882512";
+ google_ad_width = 160;
+ google_ad_height = 600;
+ //-->
+ </script>
+ <script type="text/javascript"
+ src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+ </script>
</td>
- </tr>
+
+ </tr>
<tr>
<td width="130" valign="top">
<b>
<font color="#0000aa">
- Stato
+ Altro materiale
</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>
+ <td bgcolor="lightblue">
+
+ Potete trovare altro materiale libero di vario tipo (non
+ necessariamente attinente l'informatica) prodotto da me
+ all'indirizzo: <a
+ href="http://firenze.linux.it/~piccardi/pubblicazioni.html">
+ http://firenze.linux.it/~piccardi/pubblicazioni.html</a>
<p>
- <b> Versione corrente:</b> 485 pagine.
+ 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>
</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,
+ 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
- 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>