Guida alla Programmazione in Linux
Simone Piccardi
Home Download Versione online CVS
Il progetto

GaPiL nasce dalla mia convinzione profonda che la "filosofia" 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.

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.

GaPiL è un tentativo di scrivere un manuale di programmazione di sistema per Linux e le GNU libc. L'obiettivo è quello di riuscire a produrre una testo rilasciato sotto GNU FDL, che possa servire a chi si accosta per la prima volta alla programmazione avanzata e di sistema in Linux, con la speranza di poter un giorno raggiungere la qualità dei testi del compianto R. W. Stevens.

Stato GaPiL è 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:
Cap. 1 Introduzione completo e revisionato
Cap. 2-3 Gestione dei processi completi e revisionati
Cap. 4-7 Gestione base dei file completi, parzialmente revisionati
Cap. 8 Sistema, parametri, errori completo, da revisionare
Cap. 9 Segnali completo, da revisionare
Cap. 10 Sessioni e terminali Sessioni abbozzate, terminali da fare
Cap. 11 Gestione avanzata dei file I/O avanzato abbozzato, file locking accennato
Cap. 12 IPC Pipe e fifo complete, abbozzate code e semafori, POSIX IPC da fare
Cap. 13-14 Introduzione alla rete completi, da revisionare
Cap. 15-16 Socket TCP elementari Caratteristiche base complete, esempio elementare da concludere

Versione corrente: 373 pagine.

Notizie

24 - settembre - 2002
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.

20 - agosto - 2002
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.

7 - agosto - 2002
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.

22 - luglio - 2002
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.

3 - luglio - 2002
Prima versione del sito, con rilascio della prima versione di GaPiL in un HTML passabile.
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.