correzioni e aggiunte alla sezione standard
authorSimone Piccardi <piccardi@gnulinux.it>
Wed, 7 Nov 2001 19:07:19 +0000 (19:07 +0000)
committerSimone Piccardi <piccardi@gnulinux.it>
Wed, 7 Nov 2001 19:07:19 +0000 (19:07 +0000)
gapil.tex
intro.tex
pref.tex

index 92926594f62df5d7cba777e04cc402504b6d7891..31347c061f24762330cd787db824bd580198fdbf 100644 (file)
--- a/gapil.tex
+++ b/gapil.tex
@@ -1,6 +1,6 @@
 %% 
 %% GaPiL : Guida alla Programmazione in Linux
-%%
+%% 
 %% S. Piccardi Oct. 2000 
 %%
 %% main.tex: file principale, gli altri vanno inclusi da questo.
index cd878bf60b6361f6ffbfa667dd6cf3c9d6042f87..43efa10e4dcaa9a2151b6fa3557dcf5cb7bc3f22 100644 (file)
--- a/intro.tex
+++ b/intro.tex
@@ -236,10 +236,17 @@ disattivati\footnote{i controlli infatti vengono sempre eseguiti da un codice
 \section{Gli standard di unix e GNU/Linux}
 \label{sec:intro_standard}
 
-In questa sezione prenderemo faremo una breve panoramica yrelativi ai vari
-standard che nel tempo sono stati formalizzati da enti, associazioni, e
-organizzazioni varie riguardanti interfacce di programmazioni e
-caratteristiche di un sistema unix-like.
+In questa sezione faremo una breve panoramica relativa ai vari standard che
+nel tempo sono stati formalizzati da enti, associazioni, consorzi e
+organizzazioni varie al riguardo del sistema o alle caratteristiche che si
+sono stabilite come standard di fatto in quanto facenti parte di alcune
+implementazioni molto diffuse come BSD o SVr4.
+
+Ovviamente prenderemo in considerazione solo gli aspetti riguardanti
+interfacce di programmazione e le altre caratteristiche di un sistema
+unix-like ed in particolare a come e in che modo essi sono supportati da
+GNU/Linux (sia per quanto riguarda il kernel che le \acr{glibc}).
+
 
 \subsection{Lo standard ANSI C}
 \label{sec:intro_ansiC}
@@ -247,7 +254,8 @@ caratteristiche di un sistema unix-like.
 Lo standard ANSI C è stato definito nel 1989 dall'\textit{American National
   Standard Institute}, come standard del linguaggio C ed è stato
 successivamente adottatto dalla \textit{International Standard Organisation}
-come standard internazionale con la sigla ISO/IEC 9899:1990.
+come standard internazionale con la sigla ISO/IEC 9899:1990, e va anche sotto
+il nome di standard ISO C.
 
 Scopo dello standard è quello di garantire la portabilità dei programmi C fra
 sistemi operativi diversi, ma oltre alla sintassi e alla semantica del
@@ -255,20 +263,38 @@ linguaggio C (operatori, parole chiave, tipi di dati) lo standard prevede
 anche una libreria di funzioni che devono poter essere implementate su
 qualunque sistema operativo.
 
-Linux, come molti unix moderni, provvede la compatibilità con questo standard,
-fornendo le funzioni di libreria da esso previste; queste sono dichiarate in
-quindici header files, uno per ciascuna delle quindici aree in cui è stata
-suddivisa la libreria. In \ntab\ si sono riportati questi header, insieme a
-quelli definiti negli altri standard descritti nelle sezioni successive.
+Per questo motivo, anche se lo standard non ha alcun riferimento ad un sistema
+di tipo unix, GNU/Linux (per essere precisi le glibc), come molti unix
+moderni, provvede la compatibilità con questo standard, fornendo le funzioni
+di libreria da esso previste. Queste sono dichiarate in quindici header files
+(anch'essi provvisti dalla \acr{glibc}), uno per ciascuna delle quindici aree
+in cui è stata suddivisa una libreria standard. In \ntab\ si sono riportati
+questi header, insieme a quelli definiti negli altri standard descritti nelle
+sezioni successive.
+
+In realtà \acr{glibc} ed i relativi header file definiscono un insieme di
+funzionalità in cui sono incluse come sottoinsieme anche quelle previste dallo
+standard ANSI C. È possibile ottenere una conformità stretta allo standard
+(scartando le funzionalità adizionali) usando il \cmd{gcc} con l'opzione
+\cmd{-ansi}. Questa opzione istruisce il compilatore a definire nei vari
+header file soltanto le funzionalità previste dallo standard ANSI C e a non
+usare le varie estensioni al linguaggio e al preprocessore da esso supportate.
+
 
 \subsection{Lo standard IEEE -- POSIX}
 \label{sec:intro_posix}
 
-In realtà POSIX è una famiglia di standard diversi, il nome, suggerito da
+Uno standard più attinente al sistema nel suo complesso (e che concerne sia il
+kernel che le librerie e` lo standard POSIX. Esso prende origine dallo
+standard ANSI C, che contiene come sottoinsieme, prevedendo ulteriori capacità
+per le funzioni in esso definite, ed aggiungendone di nuove. Le estensioni
+principali sono 
+
+In realtà POSIX è una famiglia di standard diversi, il cui nome, suggerito da
 Richard Stallman, sta per \textit{Portable Operating System Interface}, ma la
 X finale denuncia la sua stretta relazione con i sistemi unix. Esso nasce dal
 lavoro dell'IEEE (\textit{Institute of Electrical and Electronics Engeneers})
-che ne ha prodotto una prima versione, nota come IEEE 1003.1-1988, mirante a
+che ne produsse una prima versione, nota come IEEE 1003.1-1988, mirante a
 standardizzare l'interfaccia con il sistema operativo.
 
 Ma gli standard POSIX non si limitano alla standardizzazione delle funzioni di
@@ -281,7 +307,10 @@ una interfaccia e non fa riferimento ad una specifica implementazione (ad
 esempio esiste anche una implementazione di questo standard pure sotto Windows
 NT). Lo standard si è evoluto nel tempo ed una versione più aggiornata (quella
 che viene normalmente denominata POSIX.1) è stata rilasciata come standard
-internazionale con la sigla ISO/IEC 9945-1:1990.
+internazionale con la sigla ISO/IEC 9945-1:1996. 
+
+Le \acr{glibc} implementano tutte le funzioni definite nello standard POSIX.1,
+e Linux; 
 
 
 \subsection{Lo standard X/Open -- XPG3}
@@ -319,6 +348,13 @@ sue specifiche sotto il nome di \textit{Single UNIX Specification},
 
 
 
+\subsection{Il comportamento standard del \cmd{gcc}}
+\label{sec:intro_gcc_behaviuor}
+
+
+
+
+
 \subsection{Prototipi e puntatori}
 \label{sec:intro_function}
 
@@ -327,3 +363,4 @@ sue specifiche sotto il nome di \textit{Single UNIX Specification},
 \label{sec:intro_data_types}
 
 
+
index fb592801d24fa69502d9e9142ae772410f132419..25e07dcd2631f911c2485fa38d776de531e0d173 100644 (file)
--- a/pref.tex
+++ b/pref.tex
@@ -29,7 +29,7 @@ per il software libero.
 
 Questo progetto mira alla stesura di un libro il più completo e chiaro
 possibile sulla programmazione in GNU/Linux (che da qui in avanti spesso
-chiameremo semplicemante Linux per brevità). Ovviamente essendo i concetti in
+chiameremo semplicemente Linux per brevità). Ovviamente essendo i concetti in
 gran parte gli stessi, esso dovrebbe restare valido anche per la
 programmazione in ambito Unix generico, pur restando l'intenzione di
 approfondire in maniera specifica le caratteristiche peculiari di GNU/Linux.
@@ -54,10 +54,15 @@ 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.
 
-Dato che lo scopo del progetto è la produzione di un libro si è 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.
+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
+particolare il compilatore usato per provare tutti i programmi e gli esempi
+descritti nel testo è lo GNU GCC.
+
+Infine, dato che lo scopo del progetto è la produzione di un libro, si è
+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.
 
 Il testo sarà, almeno inizialmente, in italiano.