X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=intro.tex;h=4059f5ea05c8fadaad46b3b9dc00b00a83e001ef;hp=504093d2ee1f3a0ec5338aea0ae16f900fbabe00;hb=fa15a3f1ecd64efd8440e46d398fd9976abc3d25;hpb=b0f9e84fb388f894bf26c87ffa304847bddfa3b0 diff --git a/intro.tex b/intro.tex index 504093d..4059f5e 100644 --- a/intro.tex +++ b/intro.tex @@ -1,6 +1,6 @@ %% intro.tex %% -%% Copyright (C) 2000-2018 Simone Piccardi. Permission is granted to +%% Copyright (C) 2000-2019 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 "Un preambolo", @@ -293,10 +293,10 @@ riportate nella terza sezione del \textsl{Manuale di Programmazione di Unix} (cioè accessibili con il comando \cmd{man 3 }) e come accennato non sono direttamente associate ad una \textit{system call} anche se, ad esempio per la gestione dei file o della allocazione dinamica della memoria, possono farne -uso nella loro implementazione. Nonostante questa questa distinzione, -fondamentale per capire il funzionamento del sistema, l'uso da parte dei -programmi di una di queste funzioni resta lo stesso, sia che si tratti di una -funzione interna della libreria che di una \textit{system call}. +uso nella loro implementazione. Nonostante questa distinzione, fondamentale +per capire il funzionamento del sistema, l'uso da parte dei programmi di una +di queste funzioni resta lo stesso, sia che si tratti di una funzione interna +della libreria che di una \textit{system call}. \subsection{Un sistema multiutente} @@ -702,7 +702,7 @@ file) da parte del kernel,\footnote{non è così ad esempio nel filesystem HFS file con gli \textit{extended attributes} (vedi sez.~\ref{sec:file_xattr}), ma è una caratteristica tutt'ora poco utilizzata, dato che non corrisponde al modello classico dei file in un sistema Unix.} ogni classificazione di -questo tipo avviene sempre in \textit{user-space}. Gli unici file di cui il +questo tipo avviene sempre in \textit{user space}. Gli unici file di cui il kernel deve essere in grado di capire il contenuto sono i binari dei programmi, per i quali sono supportati solo alcuni formati, anche se oggi viene usato quasi esclusivamente @@ -738,7 +738,7 @@ solo delle convenzioni il cui rispetto è demandato alle applicazioni stesse. \itindbeg{file~descriptor} In Linux le interfacce di programmazione per l'I/O su file due. La prima è -l'interfaccia nativa del sistema, quella che il manuale delle \textsl{glibc} +l'interfaccia nativa del sistema, quella che il manuale della \textsl{glibc} chiama interfaccia dei ``\textit{file descriptor}'' (in italiano \textsl{descrittori di file}). Si tratta di un'interfaccia specifica dei sistemi unix-like che fornisce un accesso non bufferizzato. @@ -761,7 +761,7 @@ La seconda interfaccia è quella che il manuale della \acr{glibc} chiama dei kernel negli Unix derivati da \textit{System V}, come strato di astrazione per file e socket; in Linux questa interfaccia, che comunque ha avuto poco successo, non esiste, per cui facendo riferimento agli \textit{stream} - useremo il significato adottato dal manuale delle \acr{glibc}.} Essa + useremo il significato adottato dal manuale della \acr{glibc}.} Essa fornisce funzioni più evolute e un accesso bufferizzato, controllato dalla implementazione fatta nella \acr{glibc}. Questa è l'interfaccia specificata dallo standard ANSI C e perciò si trova anche su tutti i sistemi non Unix. Gli @@ -963,7 +963,7 @@ acquisito alcuni diritti sul codice di System V, una ulteriore versione delle \textit{System V Interface Description}, che va sotto la denominazione di SVID 4. -Linux e le \acr{glibc} implementano le principali funzionalità richieste dalle +Linux e la \acr{glibc} implementano le principali funzionalità richieste dalle specifiche SVID che non sono già incluse negli standard POSIX ed ANSI C, per compatibilità con lo Unix System V e con altri Unix (come SunOS) che le includono. Tuttavia le funzionalità più oscure e meno utilizzate (che non sono @@ -1293,13 +1293,13 @@ in essi definite, sono illustrate nel seguente elenco: definito una di queste macro, l'effetto sarà quello di dare la precedenza alle funzioni in forma BSD. Questa macro, essendo ricompresa in \macro{\_DEFAULT\_SOURCE} che è definita di default, è stata deprecata a - partire dalle \acr{glibc} 2.20. + partire dalla \acr{glibc} 2.20. \item[\macrod{\_SVID\_SOURCE}] definendo questa macro si rendono disponibili le funzionalità derivate da SVID. Esse comprendono anche quelle definite negli standard ISO C, POSIX.1, POSIX.2, e X/Open (XPG$n$) illustrati in precedenza. Questa macro, essendo ricompresa in \macro{\_DEFAULT\_SOURCE} - che è definita di default, è stata deprecata a partire dalle \acr{glibc} + che è definita di default, è stata deprecata a partire dalla \acr{glibc} 2.20. \item[\macrod{\_DEFAULT\_SOURCE}] questa macro abilita le definizioni @@ -1310,7 +1310,7 @@ in essi definite, sono illustrate nel seguente elenco: meno di non aver richiesto delle definizioni più restrittive sia con altre macro che con i flag del compilatore, nel qual caso abilita le funzioni che altrimenti sarebbero disabilitate. Questa macro è stata introdotta a partire - dalle \acr{glibc} 2.19 e consente di deprecare \macro{\_SVID\_SOURCE} e + dalla \acr{glibc} 2.19 e consente di deprecare \macro{\_SVID\_SOURCE} e \macro{\_BSD\_SOURCE}. \item[\macrod{\_XOPEN\_SOURCE}] definendo questa macro si rendono disponibili @@ -1437,7 +1437,7 @@ una opportuna macro; queste estensioni sono illustrate nel seguente elenco: le estensioni delle funzioni di creazione, accesso e modifica di file e directory che risolvono i problemi di sicurezza insiti nell'uso di \textit{pathname} relativi con programmi \textit{multi-thread} illustrate in - sez.~\ref{sec:file_openat}. Dalle \acr{glibc} 2.10 questa macro viene + sez.~\ref{sec:file_openat}. Dalla \acr{glibc} 2.10 questa macro viene definita implicitamente se si definisce \macro{\_POSIX\_C\_SOURCE} ad un valore maggiore o uguale di ``\texttt{200809L}''. @@ -1448,8 +1448,8 @@ una opportuna macro; queste estensioni sono illustrate nel seguente elenco: funzioni sono anche previste nello standard POSIX.1c, ma ve ne sono altre che sono disponibili soltanto su alcuni sistemi, o specifiche della \acr{glibc}, e possono essere utilizzate una volta definita la macro. Oggi - la macro è obsoleta, già dalle \acr{glibc} 2.3 le librerie erano già - completamente rientranti e dalle \acr{glibc} 2.25 la macro è equivalente ad + la macro è obsoleta, già dalla \acr{glibc} 2.3 le funzioni erano già + completamente rientranti e dalla \acr{glibc} 2.25 la macro è equivalente ad definire \macro{\_POSIX\_C\_SOURCE} con un valore di ``\texttt{199606L}'' mentre se una qualunque delle altre macro che richiede un valore di conformità più alto è definita, la sua definizione non ha alcun effetto.