bf05faa7a570d2963ded36675ddbdc4673a0dd4c
[gapil.git] / html / index.html
1 <HTML>
2   <HEAD>
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
8       Linux">
9     <META name="keywords" content="programmazione, programmazione linux, 
10       POSIX, programmazione avanzata ">
11     <style type="text/css">
12 <!--
13  a {text-decoration: none;}
14  td {font-family: sans-serif}
15 -->
16     </style>
17   </HEAD>
18   <BODY link="mediumslateblue" vlink="mediumblue" alink="red" bgcolor="white">
19
20     <table cellspacing=0 cellpadding=0 border=0 width=800>
21       <tbody>
22         <tr>
23           <td width="170" align=center>
24             <img src="gapil.png" width="160" border=0>
25           </td>
26           <td valign=bottom align=left bgcolor="white">
27             <table cellspacing=0>
28                 <tr>
29                   <td>
30                     <font face="sans-serif" size="+4" 
31                       color="darkred" style="font-size: 22pt">
32                       <b>Guida alla Programmazione in Linux</b>
33                       <br>
34                       <font color="midnightblue">
35                         <b>Simone Piccardi</b>
36                       </font>
37                     </font>
38                   </td>
39                 </tr>
40             </table>
41         </tr>
42       </tbody>
43     </table>
44
45     <table width="790" cellspacing="0" cellpadding="3" border="0">
46       <tbody>
47           <td width=164 align="center" >
48           </td>
49           <td align="center" bgcolor="#dddddd">
50             <A target="_parent"  HREF="index.html">
51               <font face="sans-serif">
52                 <b>Home</b>
53               </font>
54             </A> 
55           </td>
56           <td align="center" bgcolor="#dddddd">
57             <A target="_parent"  href="stampa.html">
58               <font face="sans-serif">
59                 <b>Download</b>
60               </font>
61             </A> 
62           </td>
63           <td align="center" bgcolor="#dddddd">
64             <A target="_parent"  
65             HREF="http://www.lilik.it/~mirko/gapil/gapil.html">
66               <font face="sans-serif" color="darkred">
67                 <b>Versione online</b>
68               </font>
69             </A>
70           </td>
71           <td align="center" bgcolor="#dddddd">
72             <A target="_parent"  
73               HREF="http://cvs.firenze.linux.it/cgi-bin/viewcvs.cgi/gapil/?cvsroot=Misc">
74               <font face="sans-serif">
75                 <b>CVS</b>
76               </font>
77             </A> 
78           </td>
79         </tr>
80       </tbody>
81     </table>
82
83 <!-- CUT HERE -->
84     <table width="800" cellspacing="10" cellpadding="10" border="0">
85       <tbody>
86         <tr>
87           <td width="130" valign="top"><b>
88               <font color="#0000aa">
89                 Il progetto
90               </font>
91             </b>
92           </td>
93           <td bgcolor="lightblue"> 
94             
95             <p> <b>GaPiL</b> nasce dalla mia convinzione profonda che la <A
96                 HREF="http://www.gnu.org/philosophy/philosophy.it.html">
97                 "filosofia"</a> che ispira il software libero si applichi
98                 anche ad altri campi che non siano necessariamente quelli
99                 della scrittura di programmi per computer. In particolare
100                 ritengo che possa assumere una grande rilevanza in ambiti come
101                 quelli dell'educazione e della formazione.
102             </p>
103             <p> Ma se trovare della buona documentazione libera, specie per
104                 quanto riguarda i programmi che girano sul sistema GNU/Linux,
105                 è ormai relativamente facile, la produzione di buoni testi
106                 didattici è ancora molto limitata, soprattutto se li si cercano
107                 in lingua italiana.
108             </p>
109             <p> <b>GaPiL</b> è un tentativo di scrivere un manuale di
110                 programmazione di sistema per Linux con un'occhio particolare
111                 per le GNU libc, che sono la versione più diffusa delle
112                 librerie di sistema.  L'obiettivo è quello di riuscire a
113                 produrre una testo, rilasciato sotto <A
114                 HREF="http://www.gnu.org/copyleft/fdl.html">GNU FDL</a>, che
115                 possa servire a chi si accosta per la prima volta alla
116                 programmazione avanzata e di sistema in Linux, con la speranza
117                 di poter un giorno raggiungere la qualità dei testi del
118                 compianto R. W. Stevens.
119             </p>
120           </td>
121         </tr> 
122         <tr>
123           <td width="130" valign="top">
124             <b>
125               <font color="#0000aa">
126                 Disponibilità
127               </font>
128             </b>
129           </td>
130           <td bgcolor="lightblue"> 
131             <p>
132               GaPiL nasce come libro e come tale la versione di riferimento è
133               quella in PDF, accessibile nella sezione <A href="stampa.html">
134               <font face="sans-serif"> <b>Download</b> </font></A>. Grazie
135               all'opera di Mirko Maischberger abbiamo anche una bellissima
136               versione HTML, accessibile nella sezione <A
137               href="http://www.lilik.it/~mirko/gapil/gapil.html"> <font
138               face="sans-serif"> <b>On Line</b> </font></A>, finalemente
139               all'altezza della versione stampabile.
140             </p>
141           </td>
142         </tr>
143         <tr>
144           <td width="130" valign="top">
145             <b>
146               <font color="#0000aa">
147                 Stato
148               </font>
149             </b>
150           </td>
151           <td bgcolor="lightblue"> <b>GaPiL</b> è in continua evoluzione ma
152             alcune parti hanno raggiunto una "stabilità" sufficiente (nel
153             senso che le ho riviste, le ritengo abbastanza complete, e non
154             sono stato capace di accorgermi degli errori che ci ho lasciato)
155             altre sono da rivedere, altre sono solo parzialmente accennate. La
156             situazione attuale è la seguente:
157             <table width="600" cellspacing="5">
158               <tbody>
159                 <tr>
160                   <td valign="top"> <b> Cap. 1 </b> </td>
161                   <td valign="top"> Introduzione </td> 
162                   <td valign="top"> quasi completo e parzialmente revisionato
163                   </td>
164                 </tr>
165                 <tr>
166                   <td valign="top"> <b> Cap. 2-3 </b> </td>
167                   <td valign="top"> Gestione dei processi </td>
168                   <td valign="top"> quasi completi e parzialmente revisionati
169                   </td>
170                 </tr>
171                 <tr>
172                   <td valign="top"> <b> Cap. 4-7 </b> </td>
173                   <td valign="top"> Gestione base dei file
174                   <td valign="top"> quasi completi e parzialmente revisionati
175                   </td>
176                 </tr>
177                 <tr>
178                   <td valign="top"> <b> Cap. 8 </b> </td>               
179                   <td valign="top"> Sistema, parametri, errori</td> 
180                   <td valign="top"> quasi completo, da revisionare</td>
181                 </tr>
182                 <tr>
183                   <td valign="top"> <b> Cap. 9 </b> </td>
184                   <td valign="top"> Segnali</td> 
185                   <td valign="top"> quasi completo, da revisionare </td>
186                 </tr>
187                 <tr>
188                   <td valign="top"> <b> Cap. 10 </b> </td>
189                   <td valign="top"> Sessioni e terminali</td> 
190                   <td valign="top"> Sessioni complete, da revisionare, 
191                     terminali quasi completi. </td>
192                 </tr>
193                 <tr>
194                   <td valign="top"> <b> Cap. 11 </b> </td>
195                   <td valign="top"> Gestione avanzata dei file</td> 
196                   <td valign="top"> 
197                     I/O non bloccante, asincrono, memory
198                     mapped completo, da revisionare, file locking
199                     completo, da revisionare.  
200                   </td>
201                 </tr>
202                 <tr>
203                   <td valign="top"> <b> Cap. 12 </b> </td>
204                   <td valign="top"> IPC</td> 
205                   <td valign="top"> Pipe, fifo e code, semafori, 
206                     memoria condivisa, tecniche alternative completi, da
207                     revisionare, IPC POSIX quasi completo. 
208                   </td>
209                 <tr>
210                   <td valign="top"> <b> Cap. 13-14 </b> </td>
211                   <td valign="top"> Introduzione alla rete</td> 
212                   <td valign="top"> completi, da revisionare </td>
213                 </tr>
214                 <tr>
215                   <td valign="top"> <b> Cap. 15-16 </b> </td>
216                   <td valign="top"> Socket TCP elementari</td> 
217                   <td valign="top"> Caratteristiche base quasi complete,
218                     esempio elementare da concludere </td>
219                 </tr>
220               </tbody>
221             </table>
222             <p>
223               <b> Versione corrente:</b> 467 pagine.
224             </p>
225           </td>
226         </tr>
227         <tr>
228           <td width="130" valign="top">
229             <b>
230               <font color="#0000aa">
231                 Notizie
232               </font>
233             </b>
234           </td>
235           <td bgcolor="lightblue"> 
236             <p>
237               <b>6 - aprile - 2003</b> <br> Grazie all'incredibile lavoro di
238               Mirko Maischberger abbiamo una favolosa versione in HTML, che
239               linko direttamente dalla sua home page. Non finirò mai di
240               ringraziarlo per aver domato htlatex fino a produrre la prima
241               versione di GaPiL realmente consuntabile on line. Con
242               l'occasione è stata completamente revisionata la parte di
243               introduzione alle reti.
244             </p>
245             <p>
246               <b>10 - marzo - 2003</b> <br> Completata la memoria condivisa
247               POSIX, introdotte le relative funzioni di interfaccia,
248               revisionati ed ampliati i capitoli sull'introduzione alla rete
249               ed ai socket.
250             </p>
251               <b>20 - febbraio - 2003</b> <br> Completata la sezione sulle
252               alternative al SysV IPC, introdotte le code di messaggi POSIX,
253               un esempio di uso della memoria condivisa, e parecchie revisioni
254               generali.
255             </p>
256             <p>
257               <b>10 - dicembre - 2002</b> <br> Completata la sezione sul file
258               locking, inserita una nuova sezione sulle alternative al SysV
259               IPC, estesa la parte sulla memoria condivisa, fatta una
260               revisione generale degli indici.
261             </p>
262             <p>
263               <b>26 - ottobre - 2002</b> <br> Revisione di terminali, code di
264               messaggi e advisory file locking.  Aggiunta la struttura dei
265               semafori SysV IPC, del file locking in stile POSIX, ed un
266               contributo di Daniele Masini sull'allocazione della memoria.
267             </p>
268             <p>
269               <b>18 - ottobre - 2002</b> <br> Aggiunte: trattazione elementare
270               dei terminali, dei semafori di System V IPC, del file locking in
271               stile BSD.
272             </p>
273             <p>
274               <b>24 - settembre - 2002</b> <br> Spostato tutto sul CVS
275               pubblico del FLUG che consente l'accesso anonimo. Aggiunta una
276               trattazione preliminare delle code di messaggi di System V IPC e
277               del controllo di sessione.
278             </p>
279             <p>
280               <b>20 - agosto - 2002</b> <br> Completata la stesura preliminare
281               del memory mapped I/O, inserito un esempio di server basato
282               sulle FIFO, completata la versione iniziale dell'introduzione
283               al System V IPC.
284             </p>
285             <p>
286               <b>7 - agosto - 2002</b> <br> Completata la prima stesura delle
287               sezioni relative all'I/O asincrono ed ai segnali real-time,
288               iniziata la stesura della sezione sul memory mapped I/O.
289             </p>
290             <p>
291               <b>22 - luglio - 2002</b> <br> Iniziata la stesura del capitolo
292               sull'I/O avanzato. Completata la sezione su pipe e FIFO (in
293               versione preliminare) inziate le sezioni su I/O asincrono ed una
294               sezione aggiuntiva sui segnali real-time nel relativo capitolo.
295             </p>
296             <p>
297               <b>3 - luglio - 2002</b> <br> Prima versione del sito, con
298               rilascio della prima versione di GaPiL in un HTML passabile.
299               <br>
300               Sono in versione preliminare, ma ricontrollati e di qualità
301               accettabile, i capitoli dal primo al nono: introduzione,
302               gestione dei processi, interfacce di base per i file e per il
303               controllo dei parametri del sistema, gestione dei segnali. Sono
304               da ricontrollare, ma di qualità decente, i capitoli dal
305               tredicesimo al sedicesimo: reti e socket elementari (il
306               sedicesimo capitolo è incompleto). Sono in corso di stesura, e
307               pertanto di qualità non classificabile (che può oscillare fra la
308               bozza non rivista ed il semplice elenco degli argomenti) gli
309               altri capitoli.
310             </p>
311           </td>
312         </tr>
313      </tbody>
314     </table>
315 <!-- CUT HERE -->
316   </body>
317 </html>