definendo gruppi di lavoro, di accesso a determinate risorse, etc.
L'utente e il gruppo sono identificati da due numeri (la cui corrispondenza ad
-un nome espresso in caratteri è inserita nei due files \file{/etc/passwd} e
+un nome espresso in caratteri è inserita nei due file \file{/etc/passwd} e
\file{/etc/groups}). Questi numeri sono l'\textit{user identifier}, detto in
breve \acr{uid}, e il \textit{group identifier}, detto in breve \acr{gid}, che
sono quelli che poi vengono usati dal kernel per identificare l'utente.
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}
+successivamente adottato dalla \textit{International Standard Organisation}
come standard internazionale con la sigla ISO/IEC 9899:1990, e va anche sotto
il nome di standard ISO C.
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
+di libreria da esso previste. Queste sono dichiarate in quindici header file
(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
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
+(scartando le funzionalità addizionali) 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.
basato sullo standard POSIX.1, ma prevede una serie di funzionalità aggiuntive
fra cui le specifiche delle API per l'interfaccia grafica (X11).
-Nel 1992 lo standard venne rivisto con una nuova versione della guida (XPG4)
-che aggiungeva l'interfaccia XTI (\textit{X transport Interface}) mirante a
-soppiantare (senza molto successo) quella l'interfaccia dei socket derivata da
-BSD.
+Nel 1992 lo standard venne rivisto con una nuova versione della guida, la
+Issue 4 (da cui la sigla XPG4) che aggiungeva l'interfaccia XTI (\textit{X
+ transport Interface}) mirante a soppiantare (senza molto successo)
+l'interfaccia dei socket derivata da BSD. Una seconda versione della guida fu
+rilasciata nel 1994, questa è nota con il nome di Spec 1170 (dal numero delle
+interfacce, header e comandi definiti).
+
+Nel 1993 il marchio Unix passò di proprietà dalla Novell (che a sua volta lo
+aveva comprato dalla AT\&T) al consorzio X/Open che iniziò a pubblicare le sue
+specifiche sotto il nome di \textit{Single UNIX Specification}, l'ultima
+versione di Spec 1170 diventò così la prima versione delle \textit{Single UNIX
+ Specification}, più comunemente nota come \textit{Unix 95}.
\subsection{Gli standard UNIX -- Open Group}
\label{sec:intro_opengroup}
-Nel 1993 il marchio Unix passò di proprietà dalla Novell (che a sua volta lo
-aveva comprato dalla AT\&T) al consorzio X/Open, che iniziò a pubblicare le
-sue specifiche sotto il nome di \textit{Single UNIX Specification},
+Nel 1996 la fusione del consorzio X/Open con la Open Software Foundation (nata
+da un gruppo di aziende concorrenti rispetto ai fondatori di X/Open) portò
+alla costituzione dell'Open Group, un consorzio internazionale che raccoglie
+produttori, utenti industriali, entità accademiche e governative.
+
+Nel 1997 fu annunciata la seconda versione delle \textit{Single UNIX
+ Specification}, che portava le interfacce specificate a 1434 (e a 3030 per
+le stazioni grafiche, comprendendo pure la definizione di CDE che richiede sia
+X11 che Motif). La conformità a questa versione permette l'uso del nome
+\textit{Unix 98}, usato spesso anche per riferirsi allo standard.
\subsection{Il comportamento standard del \cmd{gcc}}
\subsection{Lo ``standard'' BSD}
\label{sec:intro_bsd}
-Lo sviluppo di BSD inziò quando la fine della collaborazione fra l'Università
+Lo sviluppo di BSD iniziò quando la fine della collaborazione fra l'Università
di Berkley e la AT/T generò una delle prime e più importanti fratture del
mondo Unix. L'Università di Berkley proseguì nello sviluppo della base di
codice di cui disponeva, e che presentava parecchie migliorie rispetto alle
della AT/T.
Benchè BSD non sia uno standard formalizzato, l'implementazione di unix
-dell'Università di Berkley, ha provveduto nel tempo una serie di estenzioni e
+dell'Università di Berkley, ha provveduto nel tempo una serie di estensioni e
di API grande rilievo, come il link simbolici (vedi \secref{sec:file_symlink},
la funzione \func{select}, i socket.
\subsection{Lo standard System V}
\label{sec:intro_sysv}
-System V
+Come noto Unix nasce nei laboratori della AT/T, che per molti anni ne detiene
+il marchio depositato; le varie versioni
+
+
+System V è la denominazione dello Unix sviluppato ufficialmente dalla AT/T; la
+sua interfaccia è descritta in un documento dal titolo \textit{System V
+ Interface Description}, a cui si fa spesso riferimento con la sigla
+SVID. Anche questo costituisce un sovrainsieme delle interfacce definite dallo
+standard POSIX.