Modificato la sezione invariante mettendoci solo quello che e effettivamente
authorSimone Piccardi <piccardi@gnulinux.it>
Wed, 15 Dec 2004 21:11:08 +0000 (21:11 +0000)
committerSimone Piccardi <piccardi@gnulinux.it>
Wed, 15 Dec 2004 21:11:08 +0000 (21:11 +0000)
importante

gapil.tex
pref.tex
sockctrl.tex

index 7d96b48d6aaca6e9a0e32402fa3e9973a9dbd6c7..8cf4bf680db394e9a34319debeccf7b3dbd6b169 100644 (file)
--- a/gapil.tex
+++ b/gapil.tex
@@ -88,7 +88,8 @@
   Copyright \copyright\ 2000-2004 Simone Piccardi.  Permission is granted to
   copy, distribute and/or modify this document under the terms of the GNU Free
   Documentation License, Version 1.1 or any later version published by the
   Copyright \copyright\ 2000-2004 Simone Piccardi.  Permission is granted to
   copy, distribute and/or modify this document under the terms of the GNU Free
   Documentation License, Version 1.1 or any later version published by the
-  Free Software Foundation; with the Invariant Sections being ``Prefazione'',
+  Free Software Foundation; with the Invariant Sections being ``Un preambolo''
+  in ``Prefazione'',
   with no Front-Cover Texts, and with no Back-Cover Texts.  A copy of the
   license is included in the section entitled ``GNU Free Documentation
   License''.
   with no Front-Cover Texts, and with no Back-Cover Texts.  A copy of the
   license is included in the section entitled ``GNU Free Documentation
   License''.
 
 \clearemptydoublepage
 \include{macro}
 
 \clearemptydoublepage
 \include{macro}
+\include{preambolo}
 \include{pref}
 \clearemptydoublepage
 \mainmatter
 \include{pref}
 \clearemptydoublepage
 \mainmatter
index bf247e37eaa82569f6897d45b8fb6ef8cbcff568..09656e3cb68b3662ddb00b46dbd443f04aab6d30 100644 (file)
--- a/pref.tex
+++ b/pref.tex
 \chapter{Prefazione}
 \label{cha:preface}
 
 \chapter{Prefazione}
 \label{cha:preface}
 
-Nelle motivazioni in cui si introduce la GNU Free Documentation License (FDL)
-(reperibili su \href{http://www.gnu.org/philosophy/free-doc.html}
-{http://www.gnu.org/philosophy/free-doc.html}) si dà una grande rilevanza
-all'importanza di disporre di buoni manuali, in quanto la fruibilità e la
-possibilità di usare appieno il software libero vengono notevolmente ridotte
-senza la presenza di un valido manuale che sia altrettanto liberamente
-disponibile.
-
-E, come per il software libero, anche in questo caso è di fondamentale
-importanza la libertà di accedere ai sorgenti (e non solo al risultato finale,
-sia questo una stampa o un file formattato) e la libertà di modificarli per
-apportarvi migliorie, aggiornamenti, etc.
-
-Per questo la Free Software Foundation ha approntato una licenza apposita per
-la documentazione, che tiene conto delle differenze che restano fra un testo e
-un programma. 
-
-Esiste però un altro campo, diverso dalla documentazione e dai manuali, in cui
-avere a disposizione testi liberi, aperti e modificabili è essenziale ed
-estremamente utile: quello della didattica e dell'educazione.  E benché anche
-questo campo sia citato dalla FDL non è altrettanto comune trovarlo messo in
-pratica.
-
-In particolare sarebbe di grande interesse poter disporre di testi didattici
-in grado di crescere, essere adattati alle diverse esigenze, modificati e
-ampliati, o anche ridotti per usi specifici, nello stesso modo in cui si fa
-per il software libero.
-
-Questo progetto mira alla stesura di un libro il più completo e chiaro
-possibile sulla programmazione in un sistema basato su un kernel Linux.
-Essendo i concetti in gran parte gli stessi, il testo dovrebbe restare valido
-anche per la programmazione in ambito Unix generico, ma resta una attenzione
+Questo progetto mira alla stesura di un testo il più completo e chiaro
+possibile sulla programmazione di sistema su un kernel Linux.  Essendo i
+concetti in gran parte gli stessi, il testo dovrebbe restare valido anche per
+la programmazione in ambito si sistemi Unix generici, ma resta una attenzione
 specifica alle caratteristiche peculiari del kernel Linux e delle versioni
 specifica alle caratteristiche peculiari del kernel Linux e delle versioni
-delle librerie del C in uso con esso, ed in particolare per le glibc del
-progetto GNU (che ormai sono usate nella stragrande maggioranza dei casi).
-
-Nonostante l'uso nel titolo del solo ``Linux'', (che si è fatto sia per
-brevità sia perché il libro ha a che fare principalmente con le interfacce del
-kernel e dei principali standard supportati delle librerie del C), voglio
-sottolineare che trovo assolutamente scorretto chiamare in questo modo un
-sistema completo. Il kernel infatti, senza tutte le librerie e le applicazioni
-di base fornite dal progretto GNU, sarebbe sostanzialmente inutile: per questo
-il nome del sistema nella sua interezza non può che essere GNU/Linux.
+delle librerie del C in uso con esso; in particolare si darà ampio spazio alla
+versione realizzata dal progetto GNU, le cosiddette le \textit{GNU C Library}
+o \textsl{glibc}, che ormai sono usate nella stragrande maggioranza dei casi.
 
 L'obiettivo finale di questo progetto è quello di riuscire a ottenere un testo
 utilizzabile per apprendere i concetti fondamentali della programmazione di
 
 L'obiettivo finale di questo progetto è quello di riuscire a ottenere un testo
 utilizzabile per apprendere i concetti fondamentali della programmazione di
@@ -69,14 +34,9 @@ dello specifico argomento in esame (ed in particolare lo \textit{GNU C Library
   Reference Manual} non brilla per chiarezza espositiva).
 
 Per questo motivo si è cercato di fare tesoro di quanto appreso dai testi di
   Reference Manual} non brilla per chiarezza espositiva).
 
 Per questo motivo si è cercato di fare tesoro di quanto appreso dai testi di
-R. Stevens (in particolare \cite{APUE} e \cite{UNP1}) per rendere la
+R. W. Stevens (in particolare \cite{APUE} e \cite{UNP1}) per rendere la
 trattazione dei vari argomenti in una sequenza logica il più esplicativa
 trattazione dei vari argomenti in una sequenza logica il più esplicativa
-possibile, corredata, quando possibile, da programmi di esempio.
-
-Il progetto prevede il rilascio del testo sotto licenza FDL, ed una modalità
-di realizzazione aperta che permetta di accogliere i contributi di chiunque
-sia interessato. Tutti i programmi di esempio sono invece rilasciati sotto GNU
-GPL.
+possibile, corredando il tutto, quando possibile, con programmi di esempio.
 
 Dato che sia il kernel che tutte le librerie fondamentali di GNU/Linux sono
 scritte in C, questo sarà il linguaggio di riferimento del testo. In
 
 Dato che sia il kernel che tutte le librerie fondamentali di GNU/Linux sono
 scritte in C, questo sarà il linguaggio di riferimento del testo. In
@@ -90,7 +50,12 @@ scelto di usare \LaTeX\ come "ambiente di sviluppo" del medesimo, sia per
 l'impareggiabile qualità tipografica ottenibile, che per la congruenza dello
 strumento, tanto sul piano pratico, quanto su quello filosofico.
 
 l'impareggiabile qualità tipografica ottenibile, che per la congruenza dello
 strumento, tanto sul piano pratico, quanto su quello filosofico.
 
-Il testo sarà, almeno inizialmente, in italiano.
+Il testo sarà, almeno inizialmente, in italiano. Per il momento lo si è
+suddiviso in due parti, la prima sulla programmazione di sistema, in cui si
+trattano le varie funzionalità disponibili per i programmi che devono essere
+eseguiti su una singola macchina, la seconda sulla programmazione di rete, in
+cui si trattano le funzionalità per eseguire programmi che mettono in
+comunicazione macchine diverse.
 
 
 
 
 
 
index b1199d6dc6cc72c94cdb634a4d0659441cd215bb..4b07f89b92e601cd8103f02a2ab5b7a7ec3a6d49 100644 (file)
@@ -1874,19 +1874,25 @@ pi
 dai protocolli usati dal socket sul quale si va ad agire, e saranno anche esse
 differenziate a seconda del protocollo cui fanno riferimento. 
 
 dai protocolli usati dal socket sul quale si va ad agire, e saranno anche esse
 differenziate a seconda del protocollo cui fanno riferimento. 
 
-La scelta su quale opzione agire è fatta appunto con l'uso dell'argomento
-\param{level}, per esso esiste il valore speciale \const{SOL\_SOCKET} che
-indica il livello astratto di socket (cioè di opzioni disponibili in generale
-per qualunque tipo di socket), per impostare altre opzioni relative a
-funzionalità disponibili per socket che usano particolari protocolli si usa in
-genere il valore numerico degli stessi in \file{/etc/protocols},\footnote{o
-  quanto si può ottenere da una chiamata a \func{getprotoent}, questo però
-  presenta l'ambiguità dovuta al fatto che su Linux \const{SOL\_SOCKET} è
-  definito uguale ad 1, che corrisponde anche al valore di ICMP, che pertanto
-  non compare nelle varie costanti \texttt{SOL\_*}.} più comunemente però si
-utilizzano le apposite costanti \texttt{SOL\_*} riportate in
-tab.~\ref{tab:sock_option_levels} dove si sono riassunti i possibili valori
-per l'argomento \param{level}.
+
+
+
+Il valore di \param{level} seleziona allora il livello sul quale si va ad
+intervenire e permette di usare le opzioni definite su quel livello. Esiste
+poi il valore \const{SOL\_SOCKET} che indica un livello generico e cioè le
+opzioni disponibili per qualunque tipo di socket.  Per impostare le opzioni
+relative alle funzionalità disponibili per socket che usano particolari
+protocolli può utilizzare il valore numerico che identifica questi ultimi in
+\file{/etc/protocols}, ma più comunemente si suano le apposite costanti
+\texttt{SOL\_*} riportate in tab.~\ref{tab:sock_option_levels} dove si sono
+riassunti i possibili valori per l'argomento \param{level}.\footnote{la
+  notazione in questo caso è, purtroppo, abbastanza confusa: infatti in Linux
+  il valore si può impostare sia usando le costanti \texttt{SOL\_*}, che delle
+  analoghe \texttt{IPPROTO\_*} (citate anche da Stevens in \cite{UNP1}) che di
+  nuovo sono equivalenti ai numeri di protocollo di \file{/etc/protocols}; con
+  una eccesione specifica, che è quella del protocollo ICMP, per la quale non
+  esista una costante, dato poi che il suo valore, 1, è anche quello che viene
+  assegnato a \const{SOL\_SOCKET}.}
 
 \begin{table}[!htb]
   \centering
 
 \begin{table}[!htb]
   \centering