+<?xml version="1.0" encoding="iso-8859-1"?>
+
+<!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" />
+ <title>GaPiL -- Guida alla Programmazione in Linux</title>
+ <meta name="author" content="Simone Piccardi" />
+ <meta name="title" content="Guida alla Programmazione in Linux" />
+ <meta name="description" content="Un manuale di programmazione avanzata in
+ Linux" />
+ <meta name="keywords" content="programmazione, programmazione linux,
+ POSIX, programmazione avanzata "/>
+ <style type="text/css">
+<!--
+ a {text-decoration: none;}
+ td {font-family: sans-serif}
+-->
+ </style>
+ </head>
+ <body link="mediumslateblue" vlink="mediumblue" alink="red" bgcolor="white">
+
+ <table cellspacing="0" cellpadding="0" border="0" width="800">
+ <tbody>
+ <tr>
+ <td width="170" align="center">
+ <img src="gapil.png" width="160" border="0" />
+ </td>
+ <td valign="bottom" align="left" bgcolor="white">
+ <table cellspacing="0">
+ <tr>
+ <td>
+ <font face="sans-serif" size="+4"
+ color="darkred" style="font-size: 22pt">
+ <b>Guida alla Programmazione in Linux</b>
+ <br />
+ <font color="midnightblue">
+ <b>Simone Piccardi</b>
+ </font>
+ </font>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <table width="790" cellspacing="0" cellpadding="3" border="0">
+ <tbody>
+ <tr>
+ <td width="164" align="center" >
+ </td>
+ <td align="center" bgcolor="#dddddd">
+ <a target="_parent" href="index.html">
+ <font face="sans-serif">
+ <b>Home</b>
+ </font>
+ </a>
+ </td>
+ <td align="center" bgcolor="#dddddd">
+ <a target="_parent" href="stampa.html">
+ <font face="sans-serif">
+ <b>Download</b>
+ </font>
+ </a>
+ </td>
+ <td align="center" bgcolor="#dddddd">
+ <a target="_parent"
+ href="http://www.lilik.it/~mirko/gapil/gapil.html">
+ <font face="sans-serif" color="darkred">
+ <b>Versione online</b>
+ </font>
+ </a>
+ </td>
+ <td align="center" bgcolor="#dddddd">
+ <a target="_parent"
+ href="http://cvs.firenze.linux.it/cgi-bin/viewcvs.cgi/gapil/?cvsroot=Misc">
+ <font face="sans-serif">
+ <b>CVS</b>
+ </font>
+ </a>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+<!-- CUT HERE -->
+ <table width="800" cellspacing="10" cellpadding="10" border="0">
+ <tbody>
+ <tr>
+ <td width="130" valign="top"><b>
+ <font color="#0000aa">
+ Il progetto
+ </font>
+ </b>
+ </td>
+ <td bgcolor="lightblue">
+
+ <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
+ ad altri campi che non siano necessariamente quelli della
+ scrittura di programmi per computer. In particolare ritengo che
+ possa assumere una grande rilevanza in ambiti come quelli
+ dell'educazione e della formazione.
+
+ <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
+ in lingua italiana.
+ </p>
+ <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.
+ </p>
+ <p>
+ L'obiettivo resta comunque quello di riuscire a produrre una
+ 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
+ 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">
+
+ <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>
+ <p>
+ <b> Versione corrente:</b> 473 pagine.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td width="130" valign="top">
+ <b>
+ <font color="#0000aa">
+ Notizie
+ </font>
+ </b>
+ </td>
+ <td bgcolor="lightblue">
+ <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
+ 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
+ introduzione alle reti.
+ </p>
+ <p>
+ <b>10 - marzo - 2003</b> <br/> Completata la memoria condivisa
+ POSIX, introdotte le relative funzioni di interfaccia,
+ revisionati ed ampliati i capitoli sull'introduzione alla rete
+ ed ai socket.
+ </p>
+ <p>
+ <b>20 - febbraio - 2003</b> <br/> Completata la sezione sulle
+ alternative al SysV IPC, introdotte le code di messaggi POSIX,
+ un esempio di uso della memoria condivisa, e parecchie revisioni
+ generali.
+ </p>
+ <p>
+ <b>10 - dicembre - 2002</b> <br/> Completata la sezione sul file
+ locking, inserita una nuova sezione sulle alternative al SysV
+ IPC, estesa la parte sulla memoria condivisa, fatta una
+ revisione generale degli indici.
+ </p>
+ <p>
+ <b>26 - ottobre - 2002</b> <br/> Revisione di terminali, code di
+ messaggi e advisory file locking. Aggiunta la struttura dei
+ semafori SysV IPC, del file locking in stile POSIX, ed un
+ contributo di Daniele Masini sull'allocazione della memoria.
+ </p>
+ <p>
+ <b>18 - ottobre - 2002</b> <br/> Aggiunte: trattazione elementare
+ dei terminali, dei semafori di System V IPC, del file locking in
+ stile BSD.
+ </p>
+ <p>
+ <b>24 - settembre - 2002</b> <br/> Spostato tutto sul CVS
+ pubblico del FLUG che consente l'accesso anonimo. Aggiunta una
+ trattazione preliminare delle code di messaggi di System V IPC e
+ del controllo di sessione.
+ </p>
+ <p>
+ <b>20 - agosto - 2002</b> <br/> Completata la stesura preliminare
+ del memory mapped I/O, inserito un esempio di server basato
+ sulle FIFO, completata la versione iniziale dell'introduzione
+ al System V IPC.
+ </p>
+ <p>
+ <b>7 - agosto - 2002</b> <br/> Completata la prima stesura delle
+ sezioni relative all'I/O asincrono ed ai segnali real-time,
+ iniziata la stesura della sezione sul memory mapped I/O.
+ </p>
+ <p>
+ <b>22 - luglio - 2002</b> <br/> Iniziata la stesura del capitolo
+ sull'I/O avanzato. Completata la sezione su pipe e FIFO (in
+ versione preliminare) inziate le sezioni su I/O asincrono ed una
+ sezione aggiuntiva sui segnali real-time nel relativo capitolo.
+ </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,
+ 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
+ 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
+ bozza non rivista ed il semplice elenco degli argomenti) gli
+ altri capitoli.
+ </p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+<!-- CUT HERE -->
+ </body>
+</html>