programma posto in esecuzione.
+\section{Esecuzione e conclusione di un programma}
+
+Una delle concetti base relativi ai processi è che un processo esegue sempre
+uno ed un solo programma: si possono avere più processi che eseguono lo stesso
+programma ma ciascun processo vedrà la sua copia del codice (in realtà il
+kernel fa si che tutte le parti uguali siano condivise) avrà un suo spazio di
+indirizzi, variabili proprie e sarà eseguito in maniera completamente
+indipendente da tutti gli altri.
+
+Anche quando all'interno di un programma possono essere presenti più
+\textsl{filoni} di esecuzione (i cosiddetti \textit{thread}), o questo possa
+essere composto da moduli multipli completamente separati, quando questo sarà
+posto in esecuzione esso apparirà al sistema come un solo processo (il
+discorso dei \textit{thread} comunque in linux necessita di una trattazione a
+parte per la peculiarità dell'implementazione).
+
+
\section{La funzione \texttt{main}}
\label{sec:proc_main}
+Quando un programma viene lanciato dal kernel viene eseguito il
+programma \texttt{ld-linux.so}, è questo programma che prima carica le
+librerie condivise che servono al programma, effettua il link dinamico del
+codice e poi alla fine lo esegue. La procedura è controllata da alcune
+variabili di ambiente e dai settaggi di
+
+Il sistema fa partire qualunque programma chiamando la funzione \texttt{main};
+sta al programmatore chiamare così la funzione principale del programma, se
+così non fosse lo stesso linker darebbe luogo ad errori.
+
+Lo stadard ISO C specifica che detta funzione può non avere argomenti o
+prendere due argomenti che rappresentano gli argomenti passati da linea di
+comando, in sostanza un prototipo che va sempre bene è il seguente:
+\begin{verbatim}
+ int main (int argc, char *argv[])
+\end{verbatim}
+
+
+In realtà nei sistemi unix esiste un'altro modo per definire la funzione
+\texttt{main}, che prende un terzo parametro, \texttt{char *envp[]}, che
+fornisce l'ambiente (vedi \secref{proc_environ}) del programma; questa forma
+però non è prevista dallo standard POSIX.1 per cui se si vogliono scrivere
+programmi portabili è meglio evitarla.
+
\subsection{}
Il passaggio dei parametri e delle variabili di ambiente dalla riga di comando
al singolo programma quando viene lanciato è effettuato attraverso le
variabili \texttt{argc}, \texttt{argv} che vengono passate al programma
-come argomenti della funzione principale:
+come argomenti della funzione principale.
\subsection{Il formato dei parametri}
\label{sec:proc_par_format}
Questo va fatto.
+
+\section{La gestione della memoria}
+\label{sec:proc_memory_manag}
\ No newline at end of file