da \param{envp}. Entrambe le liste devono essere terminate da un puntatore
nullo. I vettori degli argomenti e dell'ambiente possono essere acceduti dal
nuovo programma quando la sua funzione \func{main} è dichiarata nella forma
-\code{main(int argc, char *argv[], char *envp[])}.
+\code{main(int argc, char *argv[], char *envp[])}. Si tenga presente per il
+passaggio degli argomenti e dell'ambiente esistono comunque dei limiti, su cui
+torneremo in sez.~\ref{sec:sys_res_limits}).
+% TODO aggiungere la parte sul numero massimo di argomenti, da man execve
In caso di successo la funzione non ritorna, in quanto al posto del programma
chiamante viene eseguito il nuovo programma indicato da \param{filename}. Se
sez.~\ref{sec:process_ptrace}) in caso di successo viene emesso il segnale
\signal{SIGTRAP}.
-% TODO aggiungere la parte sul numero massimo di argomenti, da man execve
-
Le altre funzioni della famiglia (\funcd{execl}, \funcd{execv},
\funcd{execle}, \funcd{execlp}, \funcd{execvp}) servono per fornire all'utente
una serie di possibili diverse interfacce nelle modalità di passaggio degli
convenzione che il primo argomento (\var{arg0} o \var{argv[0]}) viene usato
per indicare il nome del file che contiene il programma che verrà eseguito.
-
\begin{figure}[!htb]
- \centering \includegraphics[width=12cm]{img/exec_rel}
+ \centering \includegraphics[width=10cm]{img/exec_rel}
\caption{La interrelazione fra le sei funzioni della famiglia \func{exec}.}
\label{fig:proc_exec_relat}
\end{figure}
fatto solo fino al valore del secondo, che per questo viene detto \textit{hard
limit}.
+%TODO: tabella troppo grossa, trasformare in lista
+
\begin{table}[htb]
\footnotesize
\centering
limite è solo una indicazione per il kernel,
qualora ci fosse un surplus di memoria questa
verrebbe assegnata.\\
+% TODO: aggiungere a \const{RLIMIT\_STACK} i dati di execve:
+% Questi fino al kernel 2.6.23 erano fissi e costituiti da
+% 32 pagine di memoria (corrispondenti per la gran parte delle architetture a
+% 128kb di dati). Dal 2.6.23 su molte architettire il limite viene stabilito in
+% base al valore della risorsa \const{RLIMIT\_STACK} (vedi
+% sez.~\ref{sec:sys_resource_limit}), ad un quarto dello spazio da essa
+% indicato). Dal 2.6.25 viene comunque garantito uno spazio base di 32 pagine.
+
% TODO integrare con la roba di madvise
% TODO integrare con le ultime aggiunte, vedi pagina di manuale
\hline