3 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
4 <TITLE>GaPiL -- Guida alla Programmazione in Linux</TITLE>
5 <META name="author" content="Simone Piccardi">
6 <META name="title" content="Guida alla Programmazione in Linux">
7 <META name="description" content="Un manuale di programmazione avanzata in
9 <META name="keywords" content="programmazione, programmazione linux,
10 POSIX, programmazione avanzata ">
11 <style type="text/css">
13 a {text-decoration: none;}
14 td {font-family: sans-serif}
18 <BODY link="mediumslateblue" vlink="mediumblue" alink="red" bgcolor="white">
20 <table cellspacing=0 cellpadding=0 border=0 width=800>
23 <td width="170" align=center>
24 <img src="gapil.png" width="160" border=0>
26 <td valign=bottom align=left bgcolor="white">
30 <font face="sans-serif" size="+4"
31 color="darkred" style="font-size: 22pt">
32 <b>Guida alla Programmazione in Linux</b>
34 <font color="midnightblue">
35 <b>Simone Piccardi</b>
45 <table width="790" cellspacing="0" cellpadding="3" border="0">
47 <td width=164 align="center" >
49 <td align="center" bgcolor="#dddddd">
50 <A target="_parent" HREF="index.html">
51 <font face="sans-serif">
56 <td align="center" bgcolor="#dddddd">
57 <A target="_parent" href="stampa.html">
58 <font face="sans-serif">
63 <td align="center" bgcolor="#dddddd">
64 <A target="_parent" HREF="html/index.html">
65 <font face="sans-serif" color="darkred">
66 <b>Versione online</b>
70 <td align="center" bgcolor="#dddddd">
72 HREF="http://cvs.firenze.linux.it/cgi-bin/viewcvs.cgi/gapil/?cvsroot=Misc">
73 <font face="sans-serif">
83 <table width="800" cellspacing="10" cellpadding="10" border="0">
86 <td width="130" valign="top"><b>
87 <font color="#0000aa">
92 <td bgcolor="lightblue">
94 <p> <b>GaPiL</b> nasce dalla mia convinzione profonda che la <A
95 HREF="http://www.gnu.org/philosophy/philosophy.it.html">
96 "filosofia"</a> che ispira il software libero si applichi
97 anche ad altri campi che non siano necessariamente quelli
98 della scrittura di programmi per computer. In particolare
99 ritengo che possa assumere una grande rilevanza in ambiti come
100 quelli dell'educazione e della formazione.
102 <p> Ma se trovare della buona documentazione libera, specie per
103 quanto riguarda i programmi che girano sul sistema GNU/Linux,
104 è ormai relativamente facile, la produzione di buoni testi
105 didattici è ancora molto limitata, soprattutto se li si cercano
108 <p> <b>GaPiL</b> è un tentativo di scrivere un manuale di
109 programmazione di sistema per Linux e le GNU libc.
110 L'obiettivo è quello di riuscire a produrre una testo
112 HREF="http://www.gnu.org/copyleft/fdl.html">GNU FDL</a>, che
113 possa servire a chi si accosta per la prima volta alla
114 programmazione avanzata e di sistema in Linux, con la speranza
115 di poter un giorno raggiungere la qualità dei testi del
116 compianto R. W. Stevens.
121 <td width="130" valign="top">
123 <font color="#0000aa">
128 <td bgcolor="lightblue"> <b>GaPiL</b> è in continua evoluzione ma
129 alcune parti hanno raggiunto una "stabilità" sufficiente (nel
130 senso che le ho riviste, le ritengo abbastanza complete, e non
131 sono stato capace di accorgermi degli errori che ci ho lasciato)
132 altre sono da rivedere, altre sono solo parzialmente accennate. La
133 situazione attuale è la seguente:
134 <table width="600" cellspacing="5">
137 <td valign="top"> <b> Cap. 1 </b> </td>
138 <td valign="top"> Introduzione </td>
139 <td valign="top"> completo e revisionato</td>
142 <td valign="top"> <b> Cap. 2-3 </b> </td>
143 <td valign="top"> Gestione dei processi </td>
144 <td valign="top"> completi e revisionati</td>
147 <td valign="top"> <b> Cap. 4-7 </b> </td>
148 <td valign="top"> Gestione base dei file
149 <td valign="top"> completi, parzialmente revisionati</td>
152 <td valign="top"> <b> Cap. 8 </b> </td>
153 <td valign="top"> Sistema, parametri, errori</td>
154 <td valign="top"> completo, da revisionare</td>
157 <td valign="top"> <b> Cap. 9 </b> </td>
158 <td valign="top"> Segnali</td>
159 <td valign="top"> completo, da revisionare </td>
162 <td valign="top"> <b> Cap. 10 </b> </td>
163 <td valign="top"> Sessioni e terminali</td>
164 <td valign="top"> Sessioni abbozzate, terminali da fare </td>
167 <td valign="top"> <b> Cap. 11 </b> </td>
168 <td valign="top"> Gestione avanzata dei file</td>
169 <td valign="top"> I/O avanzato abbozzato, file locking
173 <td valign="top"> <b> Cap. 12 </b> </td>
174 <td valign="top"> IPC</td>
175 <td valign="top"> Pipe e fifo complete, abbozzate code e
176 semafori, POSIX IPC da fare </td>
178 <td valign="top"> <b> Cap. 13-14 </b> </td>
179 <td valign="top"> Introduzione alla rete</td>
180 <td valign="top"> completi, da revisionare </td>
183 <td valign="top"> <b> Cap. 15-16 </b> </td>
184 <td valign="top"> Socket TCP elementari</td>
185 <td valign="top"> Caratteristiche base complete, esempio
186 elementare da concludere </td>
191 <b> Versione corrente:</b> 373 pagine.
196 <td width="130" valign="top">
198 <font color="#0000aa">
203 <td bgcolor="lightblue">
205 <b>24 - settembre - 2002</b> <br> Spostato tutto sul CVS
206 pubblico del FLUG che consente l'accesso anonimo. Aggiunta una
207 trattazione preliminare delle code di messaggi di System V IPC e
208 del controllo di sessione.
211 <b>20 - agosto - 2002</b> <br> Completata la stesura preliminare
212 del memory mapped I/O, inserito un esempio di server basato
213 sulle FIFO, completata la versione iniziale dell'introduzione
217 <b>7 - agosto - 2002</b> <br> Completata la prima stesura delle
218 sezioni relative all'I/O asincrono ed ai segnali real-time,
219 iniziata la stesura della sezione sul memory mapped I/O.
222 <b>22 - luglio - 2002</b> <br> Iniziata la stesura del capitolo
223 sull'I/O avanzato. Completata la sezione su pipe e FIFO (in
224 versione preliminare) inziate le sezioni su I/O asincrono ed una
225 sezione aggiuntiva sui segnali real-time nel relativo capitolo.
228 <b>3 - luglio - 2002</b> <br> Prima versione del sito, con
229 rilascio della prima versione di GaPiL in un HTML passabile.
231 Sono in versione preliminare, ma ricontrollati e di qualità
232 accettabile, i capitoli dal primo al nono: introduzione,
233 gestione dei processi, interfacce di base per i file e per il
234 controllo dei parametri del sistema, gestione dei segnali. Sono
235 da ricontrollare, ma di qualità decente, i capitoli dal
236 tredicesimo al sedicesimo: reti e socket elementari (il
237 sedicesimo capitolo è incompleto). Sono in corso di stesura, e
238 pertanto di qualità non classificabile (che può oscillare fra la
239 bozza non rivista ed il semplice elenco degli argomenti) gli