X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=process.tex;h=9983e8230b06073026adc9eb24f122b9a7a5f11b;hp=e5e4b50ab66464dd828c8eead3a339c6d7a263ee;hb=69f0eebce66fc36189698b2469a6008520b9e6c8;hpb=477c80ba90e4571eb046af49b64dba15eb5a08bf diff --git a/process.tex b/process.tex index e5e4b50..9983e82 100644 --- a/process.tex +++ b/process.tex @@ -222,7 +222,7 @@ volontariamente la sua esecuzione \func{exit} o il ritorno di \func{main}. Uno schema riassuntivo che illustra le modalità con cui si avvia e conclude -normalmente un programma è riportato in \nfig. +normalmente un programma è riportato in \figref{fig:proc_prog_start_stop}. \begin{figure}[htb] \centering @@ -233,7 +233,8 @@ normalmente un programma Si ricordi infine che un programma può anche essere interrotto dall'esterno attraverso l'uso di un segnale (modalità di conclusione non mostrata in -\curfig); torneremo su questo aspetto in \capref{cha:signals}. +\figref{fig:proc_prog_start_stop}); torneremo su questo aspetto in +\capref{cha:signals}. @@ -480,7 +481,7 @@ allineato correttamente per tutti i tipi di dati; ad esempio sulle macchine a 32 bit in genere è allineato a multipli di 4 byte e sulle macchine a 64 bit a multipli di 8 byte. -In genere su usano le funzioni \func{malloc} e \func{calloc} per allocare +In genere si usano le funzioni \func{malloc} e \func{calloc} per allocare dinamicamente la memoria necessaria al programma, e siccome i puntatori ritornati sono di tipo generico non è necessario effettuare un cast per assegnarli a puntatori al tipo di variabile per la quale si effettua @@ -842,7 +843,7 @@ Nella scansione viene costruito il vettore di puntatori \var{argv} inserendo in successione il puntatore alla stringa costituente l'$n$-simo parametro; la variabile \var{argc} viene inizializzata al numero di parametri trovati, in questo modo il primo parametro è sempre il nome del programma; un esempio di -questo meccanismo è mostrato in \curfig. +questo meccanismo è mostrato in \figref{fig:proc_argv_argc}. \subsection{La gestione delle opzioni} @@ -1015,9 +1016,9 @@ pi Per convenzione le stringhe che definiscono l'ambiente sono tutte del tipo \textsl{\texttt{nome=valore}}. Inoltre alcune variabili, come quelle elencate -in \curfig, sono definite dal sistema per essere usate da diversi programmi e -funzioni: per queste c'è l'ulteriore convenzione di usare nomi espressi in -caratteri maiuscoli. +in \figref{fig:proc_envirno_list}, sono definite dal sistema per essere usate +da diversi programmi e funzioni: per queste c'è l'ulteriore convenzione di +usare nomi espressi in caratteri maiuscoli. Il kernel non usa mai queste variabili, il loro uso e la loro interpretazione è riservata alle applicazioni e ad alcune funzioni di libreria; in genere esse @@ -1027,18 +1028,21 @@ configurazione. La shell ad esempio ne usa molte per il suo funzionamento (come \var{PATH} per la ricerca dei comandi, o \cmd{IFS} per la scansione degli argomenti), e -alcune di esse (come \var{HOME}, \var{USER}, etc.) sono definite al login. In -genere è cura dell'amministratore definire le opportune variabili di ambiente -in uno script di avvio. Alcune servono poi come riferimento generico per molti -programmi (come \var{EDITOR} che indica l'editor preferito da invocare in caso -di necessità). +alcune di esse (come \var{HOME}, \var{USER}, etc.) sono definite al login (per +i dettagli si veda \secref{sec:sess_login}). In genere è cura +dell'amministratore definire le opportune variabili di ambiente in uno script +di avvio. Alcune servono poi come riferimento generico per molti programmi +(come \var{EDITOR} che indica l'editor preferito da invocare in caso di +necessità). Gli standard POSIX e XPG3 definiscono alcune di queste variabili (le più -comuni), come riportato in \ntab. GNU/Linux le supporta tutte e ne definisce -anche altre: per una lista più completa si può controllare \cmd{man environ}. +comuni), come riportato in \tabref{tab:proc_env_var}. GNU/Linux le supporta +tutte e ne definisce anche altre: per una lista più completa si può +controllare \cmd{man environ}. \begin{table}[htb] \centering + \footnotesize \begin{tabular}[c]{|l|c|c|c|p{7cm}|} \hline \textbf{Variabile} & \textbf{POSIX} & \textbf{XPG3} @@ -1082,10 +1086,11 @@ Oltre a questa funzione di lettura, che C, nell'evoluzione dei sistemi Unix ne sono state proposte altre, da utilizzare per impostare e per cancellare le variabili di ambiente. Uno schema delle funzioni previste nei vari standard e disponibili in Linux è riportato -in \ntab. +in \tabref{tab:proc_env_func}. \begin{table}[htb] \centering + \footnotesize \begin{tabular}[c]{|l|c|c|c|c|c|c|} \hline \textbf{Funzione} & \textbf{ANSI C} & \textbf{POSIX.1} & \textbf{XPG3} & @@ -1108,9 +1113,9 @@ in \ntab. \label{tab:proc_env_func} \end{table} -In Linux solo le prime quattro funzioni di \curtab\ sono definite, -\func{getenv} l'abbiamo già esaminata; delle tre restanti le prime due, -\func{putenv} e \func{setenv}, servono per assegnare nuove variabili di +In Linux solo le prime quattro funzioni di \tabref{tab:proc_env_func} sono +definite, \func{getenv} l'abbiamo già esaminata; delle tre restanti le prime +due, \func{putenv} e \func{setenv}, servono per assegnare nuove variabili di ambiente, i loro prototipi sono i seguenti: \begin{functions} \headdecl{stdlib.h}