X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=intro.tex;h=18708c781817b80062944bc5c9661e9ca1b87860;hp=81f3e14ae67fdb81bb2cae0223ed072b23d1739d;hb=f5e0b5be624d5a5a0b7a414ec7e957b0f86b2a56;hpb=9a68f03944a1c6fda3b6bd8122ecf3543dfcaf61 diff --git a/intro.tex b/intro.tex index 81f3e14..18708c7 100644 --- a/intro.tex +++ b/intro.tex @@ -212,7 +212,7 @@ accesso ai file e quindi anche alle periferiche, in maniera pi 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. @@ -253,7 +253,7 @@ GNU/Linux (sia per quanto riguarda il kernel che le \acr{glibc}). 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. @@ -266,7 +266,7 @@ qualunque sistema operativo. 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 @@ -275,7 +275,7 @@ 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 +(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. @@ -317,32 +317,47 @@ e Linux; \label{sec:intro_xopen} Il consorzio X/Open nacque nel 1984 come consorzio di venditori di sistemi -unix per giungere ad una armonizzazione dele varie implementazioni di unix. -Per far questo iniziò a pubblicare una serie di documentazioni e specifiche -sotto il nome di \textit{X/Open Portability Guide} (che chiameremo XPGn). +unix per giungere ad una armonizzazione delle varie implementazioni. Per far +questo iniziò a pubblicare una serie di documentazioni e specifiche sotto il +nome di \textit{X/Open Portability Guide} (a cui di norma si fa riferimento +con l'abbreviazione XPGn). - -Nel 1989 produsse una terza versione della sua guida particolarmente -voluminosa (la \textit{X/Open Portability Guide, Issue 3}), che venne presa -come riferimento da vari produttori, e al cui interno definiva una ulteriore -standardizzazione dell'interfaccia ad un sistema unix. +Nel 1989 produsse una terza versione di questa guida particolarmente +voluminosa (la \textit{X/Open Portability Guide, Issue 3}), contenente una +ulteriore standardizzazione dell'interfaccia sistema unix, che venne presa +come riferimento da vari produttori. Questo standard, detto anche XPG3 dal nome della suddetta guida, è sempre 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}} @@ -354,16 +369,16 @@ sue specifiche sotto il nome di \textit{Single UNIX Specification}, \subsection{Lo ``standard'' BSD} \label{sec:intro_bsd} -Lo sviluppo di BSD inziò quando la fine della collaborazione fra l'Università -di Berkley e la AT/T, generò una delle prime e più importanti fratture del +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 allora versioni disponibili, fino ad arrivare al rilascio di una versione completa di unix, chiamata appunto BSD, del tutto indipendente dal codice della AT/T. -Benchè non sia uno standard formalizzato, l'implementazione di unix -dell'Università di Berkley, ha provveduto nel tempo una serie di estenzioni e +Benchè BSD non sia uno standard formalizzato, l'implementazione di unix +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. @@ -376,7 +391,15 @@ sono state in gran parte incorporate negli standard successivi. \subsection{Lo standard System V} \label{sec:intro_sysv} +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.