ffe73bbd42dd3c24d11fbad8f6717cba265977d7
[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"  HREF="html/index.html">
65               <font face="sans-serif" color="darkred">
66                 <b>Versione online</b>
67               </font>
68             </A>
69           </td>
70           <td align="center" bgcolor="#dddddd">
71             <A target="_parent"  
72               HREF="http://cvs.firenze.linux.it/cgi-bin/viewcvs.cgi/gapil/?cvsroot=Misc">
73               <font face="sans-serif">
74                 <b>CVS</b>
75               </font>
76             </A> 
77           </td>
78         </tr>
79       </tbody>
80     </table>
81
82 <!-- CUT HERE -->
83     <table width="800" cellspacing="10" cellpadding="10" border="0">
84       <tbody>
85         <tr>
86           <td width="130" valign="top"><b>
87               <font color="#0000aa">
88                 Il progetto
89               </font>
90             </b>
91           </td>
92           <td bgcolor="lightblue"> 
93             
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.
101             </p>
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
106                 in lingua italiana.
107             </p>
108             <p> <b>GaPiL</b> è un tentativo di scrivere un manuale di
109                 programmazione di sistema per Linux con un'occhio particolare
110                 per le GNU libc, che sono la versione più diffusa delle
111                 librerie di sistema.  L'obiettivo è quello di riuscire a
112                 produrre una testo, rilasciato sotto <A
113                 HREF="http://www.gnu.org/copyleft/fdl.html">GNU FDL</a>, che
114                 possa servire a chi si accosta per la prima volta alla
115                 programmazione avanzata e di sistema in Linux, con la speranza
116                 di poter un giorno raggiungere la qualità dei testi del
117                 compianto R. W. Stevens.
118             </p>
119           </td>
120         </tr> 
121         <tr>
122           <td width="130" valign="top">
123             <b>
124               <font color="#0000aa">
125                 Stato
126               </font>
127             </b>
128           </td>
129           <td bgcolor="lightblue"> <b>GaPiL</b> è in continua evoluzione ma
130             alcune parti hanno raggiunto una "stabilità" sufficiente (nel
131             senso che le ho riviste, le ritengo abbastanza complete, e non
132             sono stato capace di accorgermi degli errori che ci ho lasciato)
133             altre sono da rivedere, altre sono solo parzialmente accennate. La
134             situazione attuale è la seguente:
135             <table width="600" cellspacing="5">
136               <tbody>
137                 <tr>
138                   <td valign="top"> <b> Cap. 1 </b> </td>
139                   <td valign="top"> Introduzione </td> 
140                   <td valign="top"> quasi completo e parzialmente revisionato
141                   </td>
142                 </tr>
143                 <tr>
144                   <td valign="top"> <b> Cap. 2-3 </b> </td>
145                   <td valign="top"> Gestione dei processi </td>
146                   <td valign="top"> quasi completi e parzialmente revisionati
147                   </td>
148                 </tr>
149                 <tr>
150                   <td valign="top"> <b> Cap. 4-7 </b> </td>
151                   <td valign="top"> Gestione base dei file
152                   <td valign="top"> quasi completi e parzialmente revisionati
153                   </td>
154                 </tr>
155                 <tr>
156                   <td valign="top"> <b> Cap. 8 </b> </td>               
157                   <td valign="top"> Sistema, parametri, errori</td> 
158                   <td valign="top"> quasi completo, da revisionare</td>
159                 </tr>
160                 <tr>
161                   <td valign="top"> <b> Cap. 9 </b> </td>
162                   <td valign="top"> Segnali</td> 
163                   <td valign="top"> quasi completo, da revisionare </td>
164                 </tr>
165                 <tr>
166                   <td valign="top"> <b> Cap. 10 </b> </td>
167                   <td valign="top"> Sessioni e terminali</td> 
168                   <td valign="top"> Sessioni complete, da revisionare, 
169                     terminali quasi completi. </td>
170                 </tr>
171                 <tr>
172                   <td valign="top"> <b> Cap. 11 </b> </td>
173                   <td valign="top"> Gestione avanzata dei file</td> 
174                   <td valign="top"> 
175                     I/O non bloccante, asincrono, memory
176                     mapped completo, da revisionare, file locking
177                     completo, da revisionare.  
178                   </td>
179                 </tr>
180                 <tr>
181                   <td valign="top"> <b> Cap. 12 </b> </td>
182                   <td valign="top"> IPC</td> 
183                   <td valign="top"> Pipe, fifo e code, semafori, 
184                     memoria condivisa, tecniche alternative completi, da
185                     revisionare, IPC POSIX quasi completo. 
186                   </td>
187                 <tr>
188                   <td valign="top"> <b> Cap. 13-14 </b> </td>
189                   <td valign="top"> Introduzione alla rete</td> 
190                   <td valign="top"> completi, da revisionare </td>
191                 </tr>
192                 <tr>
193                   <td valign="top"> <b> Cap. 15-16 </b> </td>
194                   <td valign="top"> Socket TCP elementari</td> 
195                   <td valign="top"> Caratteristiche base quasi complete,
196                     esempio elementare da concludere </td>
197                 </tr>
198               </tbody>
199             </table>
200             <p>
201               <b> Versione corrente:</b> 467 pagine.
202             </p>
203           </td>
204         </tr>
205         <tr>
206           <td width="130" valign="top">
207             <b>
208               <font color="#0000aa">
209                 Notizie
210               </font>
211             </b>
212           </td>
213           <td bgcolor="lightblue"> 
214             <p>
215             <p>
216               <b>10 - marzo - 2003</b> <br> Completata la memoria condivisa
217               POSIX, introdotte le relative funzioni di interfaccia,
218               revisionati ed ampliati i capitoli sull'introduzione alla rete
219               ed ai socket.
220             </p>
221               <b>20 - febbraio - 2003</b> <br> Completata la sezione sulle
222               alternative al SysV IPC, introdotte le code di messaggi POSIX,
223               un esempio di uso della memoria condivisa, e parecchie revisioni
224               generali.
225             </p>
226             <p>
227               <b>10 - dicembre - 2002</b> <br> Completata la sezione sul file
228               locking, inserita una nuova sezione sulle alternative al SysV
229               IPC, estesa la parte sulla memoria condivisa, fatta una
230               revisione generale degli indici.
231             </p>
232             <p>
233               <b>26 - ottobre - 2002</b> <br> Revisione di terminali, code di
234               messaggi e advisory file locking.  Aggiunta la struttura dei
235               semafori SysV IPC, del file locking in stile POSIX, ed un
236               contributo di Daniele Masini sull'allocazione della memoria.
237             </p>
238             <p>
239               <b>18 - ottobre - 2002</b> <br> Aggiunte: trattazione elementare
240               dei terminali, dei semafori di System V IPC, del file locking in
241               stile BSD.
242             </p>
243             <p>
244               <b>24 - settembre - 2002</b> <br> Spostato tutto sul CVS
245               pubblico del FLUG che consente l'accesso anonimo. Aggiunta una
246               trattazione preliminare delle code di messaggi di System V IPC e
247               del controllo di sessione.
248             </p>
249             <p>
250               <b>20 - agosto - 2002</b> <br> Completata la stesura preliminare
251               del memory mapped I/O, inserito un esempio di server basato
252               sulle FIFO, completata la versione iniziale dell'introduzione
253               al System V IPC.
254             </p>
255             <p>
256               <b>7 - agosto - 2002</b> <br> Completata la prima stesura delle
257               sezioni relative all'I/O asincrono ed ai segnali real-time,
258               iniziata la stesura della sezione sul memory mapped I/O.
259             </p>
260             <p>
261               <b>22 - luglio - 2002</b> <br> Iniziata la stesura del capitolo
262               sull'I/O avanzato. Completata la sezione su pipe e FIFO (in
263               versione preliminare) inziate le sezioni su I/O asincrono ed una
264               sezione aggiuntiva sui segnali real-time nel relativo capitolo.
265             </p>
266             <p>
267               <b>3 - luglio - 2002</b> <br> Prima versione del sito, con
268               rilascio della prima versione di GaPiL in un HTML passabile.
269               <br>
270               Sono in versione preliminare, ma ricontrollati e di qualità
271               accettabile, i capitoli dal primo al nono: introduzione,
272               gestione dei processi, interfacce di base per i file e per il
273               controllo dei parametri del sistema, gestione dei segnali. Sono
274               da ricontrollare, ma di qualità decente, i capitoli dal
275               tredicesimo al sedicesimo: reti e socket elementari (il
276               sedicesimo capitolo è incompleto). Sono in corso di stesura, e
277               pertanto di qualità non classificabile (che può oscillare fra la
278               bozza non rivista ed il semplice elenco degli argomenti) gli
279               altri capitoli.
280             </p>
281           </td>
282         </tr>
283      </tbody>
284     </table>
285 <!-- CUT HERE -->
286   </body>
287 </html>