Correzione label e sistemazione pagine web
[gapil.git] / html / gapil.html
1 <?xml version="1.0" encoding="utf-8"?> 
2
3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
4 "DTD/xhtml1-strict.dtd">
5
6 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="it">
7   <head>
8    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
9     <title>GaPiL -- Guida alla Programmazione in Linux</title>
10     <meta name="author" content="Simone Piccardi" />
11     <meta name="title" content="Guida alla Programmazione in Linux" />
12     <meta name="description" content="Un manuale di programmazione avanzata in
13       Linux" />
14     <meta name="keywords" content="programmazione, programmazione linux, 
15       POSIX, programmazione avanzata "/>
16     <style type="text/css">
17 <!--
18  a {text-decoration: none;}
19  td {font-family: sans-serif}
20 -->
21     </style>
22   </head>
23   <body link="mediumslateblue" vlink="mediumblue" alink="red" bgcolor="white">
24
25     <table cellspacing="0" cellpadding="0" border="0" width="800">
26       <tbody>
27         <tr>
28           <td width="170" align="center">
29             <img src="gapil.png" width="160" border="0" />
30           </td>
31           <td valign="bottom" align="left" bgcolor="white">
32             <table cellspacing="0">
33               <tr>
34                 <td>
35                   <font face="sans-serif" size="+4" 
36                     color="darkred" style="font-size: 22pt"> 
37                     <b>Guida alla Programmazione in Linux</b> 
38                     <br />
39                       <font color="midnightblue">
40                         <b>Simone Piccardi</b>
41                       </font>
42                   </font>
43                 </td>
44               </tr>
45             </table>
46           </td>
47         </tr>
48       </tbody>
49     </table>
50
51     <table width="790" cellspacing="0" cellpadding="3" border="0">
52       <tbody>
53         <tr>
54           <td width="164" align="center" >
55           </td>
56           <td align="center" bgcolor="#dddddd">
57             <a target="_parent"  href="index.html">
58               <font face="sans-serif">
59                 <b>Home</b>
60               </font>
61             </a> 
62           </td>
63           <td align="center" bgcolor="#dddddd">
64             <a target="_parent"  href="stato.html">
65               <font face="sans-serif">
66                 <b>Stato</b>
67               </font>
68             </a> 
69           </td>
70           <td align="center" bgcolor="#dddddd">
71             <a target="_parent"  href="download.html">
72               <font face="sans-serif">
73                 <b>Download</b>
74               </font>
75             </a> 
76           </td>
77           <td align="center" bgcolor="#dddddd">
78             <a target="_parent"  
79               href="http://www.lilik.it/~mirko/gapil/gapil.html">
80               <font face="sans-serif" color="darkred">
81                 <b>Versione online</b>
82               </font>
83             </a>
84           </td>
85           <td align="center" bgcolor="#dddddd">
86             <a target="_parent"  
87               href="http://gapil.truelite.it/sources">
88               <font face="sans-serif">
89                 <b>Trac</b>
90               </font>
91             </a>
92           </td>
93         </tr>
94       </tbody>
95     </table>
96
97 <!-- CUT HERE -->
98     <table width="1000" cellspacing="10" cellpadding="10" border="0">
99       <tbody>
100         <tr>
101           <td width="130" valign="top"><b>
102               <font color="#0000aa">
103                 Il progetto
104               </font>
105             </b>
106           </td>
107           <td bgcolor="lightblue"  width="600">             
108             <b>GaPiL</b> nasce dalla mia convinzione profonda che la <a
109               href="http://www.gnu.org/philosophy/philosophy.it.html">
110               "filosofia"</a> che ispira il software libero si applichi anche
111               ad altri campi che non siano necessariamente quelli della
112               scrittura di programmi per computer. In particolare ritengo che
113               possa assumere una grande rilevanza in ambiti come quelli
114               dell'educazione e della formazione.
115            
116             <p> Ma se trovare della buona documentazione libera, specie per
117                 quanto riguarda i programmi che girano sul sistema GNU/Linux,
118                 è ormai relativamente facile, la produzione di buoni testi
119                 didattici è ancora molto limitata, soprattutto se li si cercano
120                 in lingua italiana.
121             </p>
122             <p> <b>GaPiL</b> è un tentativo di scrivere un manuale di
123                 programmazione di sistema in ambiente Linux, con una
124                 particolare attenzione alle caratteristiche specifiche delle
125                 interfacce fornite dal kernel. Benché buona parte della
126                 trattazione delle funzioni di libreria faccia riferimento a
127                 standard generali come POSIX, si è comunque data una
128                 attenzione particolare alle GNU libc, che sono la versione più
129                 usata delle librerie del C, senza dimenticare, ove note, di
130                 citare le differenze con possibili alternative come le libc5 o
131                 le uclibc.
132             </p>
133             <p>
134                 L'obiettivo resta comunque quello di riuscire a produrre un
135                 testo, rilasciato sotto <a
136                 href="http://www.gnu.org/copyleft/fdl.html">GNU FDL</a>, che
137                 possa servire a chi si accosta per la prima volta alla
138                 programmazione avanzata e di sistema su un kernel Linux, con
139                 la speranza di poter un giorno raggiungere la qualità dei
140                 lavori del compianto R. W. Stevens.
141             </p>
142           </td>
143           <td valign="top">
144 <!-- Generated by OpenX 2.8.5 -->
145 <script type='text/javascript' src='http://openx.fountainpen.it/www/delivery/spcjs.php?id=3'></script>
146 <script type='text/javascript'><!--// <![CDATA[
147     /* [id3] gapil.truelite.it - Default */
148         OA_show(3);
149 // ]]> --></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>
150           </td>
151         </tr> 
152         <tr>
153           <td width="130" valign="top">
154             <b>
155               <font color="#0000aa">
156                 Altro materiale
157               </font>
158             </b>
159           </td>
160           <td bgcolor="lightblue"> 
161           
162             Potete trovare altro materiale libero di vario tipo (non
163             necessariamente attinente l'informatica) prodotto da me
164             all'indirizzo: <a
165             href="http://firenze.linux.it/~piccardi/pubblicazioni.html">
166             http://firenze.linux.it/~piccardi/pubblicazioni.html</a>
167             <p>
168             Invece la documentazione tecnica più recente che ho prodotto è
169             pubblicata sul sito di <a href="http://www.truelite.it">Truelite
170             Srl</a>, ed in particolare sono disponibili una serie di manuali
171             su temi di natura sistemistica a partire da <a href=
172             "http://labs.truelite.it/truedoc">
173             http://labs.truelite.it/truedoc</a>.
174             </p>
175           </td>
176         </tr>
177         <tr>
178           <td width="130" valign="top">
179             <b>
180               <font color="#0000aa">
181                 Notizie
182               </font>
183             </b>
184           </td>
185           <td bgcolor="lightblue"> 
186               <b>6 - dicembre - 2008</b> <br/> Aggiornata la versione cartacea
187                acquistabile su lulu.com, all'indirizzo 
188               <a href="http://stores.lulu.com/piccardi">
189                 http://stores.lulu.com/piccardi</a>, contiene le ultime
190                 novità in particolare riguardo le funzioni delle ACL. Si
191                 ricorda che il sovrapprezzo serve a finanziare lo sviluppo del
192                 testo; si può sempre scaricare la versione corrente aggiornata
193                 e gratuita da questo sito.
194             <p>
195               <b>5 - gennaio - 2007</b> <br/> Pubblicata una versione
196               stampabile a richiesta su lulu.com, ordinabile all'indirizzo 
197               <a href="http://stores.lulu.com/piccardi">
198                 http://stores.lulu.com/piccardi</a>. 
199             <p>
200               <b>1 - giugno - 2006</b> <br/> Nuova revisione con varie aggiunte
201               e correzioni, in occasione della pubblicazione sul DVD di
202               LinuxPro. 
203             <p>
204               <b>11 - marzo - 2005</b> <br/> Modificata la pagina dell'accesso
205               ai sorgenti, non viene più utilizzato ViewCVS ma è stato
206               installato il sistema di tracking <a
207               href="http://www.edgewall.com/trac/">trac</a> che oltre alla
208               navigazione dei contenuti consente di tenere sotto controllo le
209               revisioni, e l'evoluzione della guida e di inviare ticket via
210               web.
211             <p>
212               <b>6 - marzo - 2005</b> <br/> Realizzato un web server
213               elementare a scopo didattico, in vista <a href="
214               http://www.lilik.it/page.php?pg=gapil">dell'iniziativa del
215               Lilik</a> su GaPiL.
216             <p>
217               <b>12 - gennaio - 2005</b> <br/> Completata la sezione sulla
218               gestione della risoluzione degli indirizzi ed iniziata la
219               sezione sulle opzioni dei socket.
220             <p>
221               <b>19 - luglio - 2004</b> <br/> Completata una prima sezione sui
222               socket UDP ed iniziata una sezione sulle funzioni per la
223               risoluzione degli indirizzi. Inoltre da oggi i sorgenti di Gapil
224               sono accessibili usando <a href="http://subversion.tigris.org/">
225               Subversion</a> sul sito di <a
226               href="http://www.truelite.it">Truelite Srl</a>.
227             <p>
228               <b>3 - marzo - 2004</b> <br/> Ristrutturata la parte sulla
229               programmazione di rete, inserita la sezione sull'I/O
230               multiplexing (completata con esempio di server basato su
231               <b>poll</b>) nella sezione sui socket TCP. Introdotti i nuovi
232               capitoli sugli altri socket, ed iniziata la sezione sui socket
233               UDP. 
234             <p>
235               <b>26 - dicembre - 2003</b> <br/> Inserito esempio di server
236               basato sull'I/O multiplexing. Ristrutturato il capitolo sui file
237               avanzati scorporando in una sezione a parte l'I/O multiplexing,
238               e inserendo alcuni esempi per <b>pselect</b>. Creata una terza
239               parte per le appendici.
240             <p>
241               <b>8 - novembre - 2003</b> <br/> Corretta tabella sbagliata al
242               capitolo 5, completata la sezione sull'uso dell'I/O multiplexing
243               sul lato client ed iniziata la versione server, inserita la
244               trattazione della funzione shutdown.
245             </p>
246             <p>
247               <b>21 - settembre - 2003</b> <br/> Completato il capitolo sui
248               socket elementari, e corretti numerosi errori. Revisione della
249               sezione sull'I/O multiplexing nel capitolo sui file avanzati in
250               vista dell'uso nel capitolo sui socket TCP avanzati.
251             </p>
252             <p>
253               <b>6 - aprile - 2003</b> <br/> Grazie all'incredibile lavoro di
254               Mirko Maischberger abbiamo una favolosa versione in HTML, che
255               collego direttamente dalla sua home page. Non finirò mai di
256               ringraziarlo per aver domato htlatex fino a produrre la prima
257               versione di GaPiL realmente consuntabile on line. Con
258               l'occasione è stata completamente revisionata la parte di
259               introduzione alle reti.
260             </p>
261             <p>
262               <b>10 - marzo - 2003</b> <br/> Completata la memoria condivisa
263               POSIX, introdotte le relative funzioni di interfaccia,
264               revisionati ed ampliati i capitoli sull'introduzione alla rete
265               ed ai socket.
266             </p>
267             <p>
268               <b>20 - febbraio - 2003</b> <br/> Completata la sezione sulle
269               alternative al SysV IPC, introdotte le code di messaggi POSIX,
270               un esempio di uso della memoria condivisa, e parecchie revisioni
271               generali.
272             </p>
273             <p>
274               <b>10 - dicembre - 2002</b> <br/> Completata la sezione sul file
275               locking, inserita una nuova sezione sulle alternative al SysV
276               IPC, estesa la parte sulla memoria condivisa, fatta una
277               revisione generale degli indici.
278             </p>
279             <p>
280               <b>26 - ottobre - 2002</b> <br/> Revisione di terminali, code di
281               messaggi e advisory file locking.  Aggiunta la struttura dei
282               semafori SysV IPC, del file locking in stile POSIX, ed un
283               contributo di Daniele Masini sull'allocazione della memoria.
284             </p>
285             <p>
286               <b>18 - ottobre - 2002</b> <br/> Aggiunte: trattazione elementare
287               dei terminali, dei semafori di System V IPC, del file locking in
288               stile BSD.
289             </p>
290             <p>
291               <b>24 - settembre - 2002</b> <br/> Spostato tutto sul CVS
292               pubblico del FLUG che consente l'accesso anonimo. Aggiunta una
293               trattazione preliminare delle code di messaggi di System V IPC e
294               del controllo di sessione.
295             </p>
296             <p>
297               <b>20 - agosto - 2002</b> <br/> Completata la stesura preliminare
298               del memory mapped I/O, inserito un esempio di server basato
299               sulle FIFO, completata la versione iniziale dell'introduzione
300               al System V IPC.
301             </p>
302             <p>
303               <b>7 - agosto - 2002</b> <br/> Completata la prima stesura delle
304               sezioni relative all'I/O asincrono ed ai segnali real-time,
305               iniziata la stesura della sezione sul memory mapped I/O.
306             </p>
307             <p>
308               <b>22 - luglio - 2002</b> <br/> Iniziata la stesura del capitolo
309               sull'I/O avanzato. Completata la sezione su pipe e FIFO (in
310               versione preliminare) inziate le sezioni su I/O asincrono ed una
311               sezione aggiuntiva sui segnali real-time nel relativo capitolo.
312             </p>
313             <p>
314               <b>3 - luglio - 2002</b> <br/> Prima versione del sito, con
315               rilascio della prima versione di GaPiL in un HTML passabile.
316               <br/> Sono in versione preliminare, ma ricontrollati e di
317               qualità accettabile, i capitoli dal primo al nono: introduzione,
318               gestione dei processi, interfacce di base per i file e per il
319               controllo dei parametri del sistema, gestione dei segnali. Sono
320               da ricontrollare, ma di qualità decente, i capitoli dal
321               tredicesimo al sedicesimo: reti e socket elementari (il
322               sedicesimo capitolo è incompleto). Sono in corso di stesura, e
323               pertanto di qualità non classificabile (che può oscillare fra la
324               bozza non rivista ed il semplice elenco degli argomenti) gli
325               altri capitoli.
326             </p>
327           </td>
328         </tr>
329      </tbody>
330     </table>
331
332 <!-- Piwik -->
333 <script type="text/javascript">
334 var pkBaseURL = (("https:" == document.location.protocol) ? "https://piwik.fountainpen.it/" : "http://piwik.fountainpen.it/");
335 document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E"));
336 </script><script type="text/javascript">
337 try {
338 var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 3);
339 piwikTracker.trackPageView();
340 piwikTracker.enableLinkTracking();
341 } catch( err ) {}
342 </script><noscript><p><img src="http://piwik.fountainpen.it/piwik.php?idsite=3" style="border:0" alt=""/></p></noscript>
343 <!-- End Piwik Tag -->
344
345 <!-- CUT HERE -->
346   </body>
347 </html>