X-Git-Url: https://gapil.gnulinux.it/gitweb/?a=blobdiff_plain;f=prochand.tex;h=8d27565b18ad84670190fd907ccb59d78039529d;hb=eb318a83679841eada97ff880e361b5a5f62bb02;hp=390b072421612d0dfc58ab281037f65ccd7f9768;hpb=a93a0bac951085a52c4b33c42a607fc81f6868d2;p=gapil.git diff --git a/prochand.tex b/prochand.tex index 390b072..8d27565 100644 --- a/prochand.tex +++ b/prochand.tex @@ -12,7 +12,7 @@ funzioni a questo connesse. \section{Una panoramica sui concetti base} -\label{sec:proc_gen} +\label{sec:prochand_gen} Una delle caratteristiche essenziali di unix (che esamineremo in dettaglio più avanti) è che ogni processo può a sua volta generare altri processi figli @@ -31,7 +31,7 @@ questo caso c' \section{Gli identificatori dei processi} -\label{sec:proc_id} +\label{sec:prochand_id} Ogni processo viene identificato dal sistema da un numero identificativo unico, il \textit{process id} o \textit{pid}. Questo viene assegnato in forma @@ -62,18 +62,18 @@ gli header files \texttt{unistd.h} e \texttt{sys/types.h}). \section{Il controllo dei processi} -\label{sec:proc_control} +\label{sec:prochand_control} Esamineremo in questa sezione le varie funzioni per il controllo dei processi: -la lore creazione, la terminazione, l'esecuzione di altri programmi. Prima di +la loro creazione, la terminazione, l'esecuzione di altri programmi. Prima di trattare in dettaglio le singole funzioni, faremo un'introduzione generale ai -contetti che stanno alla base della gestione dei processi in unix. +concetti che stanno alla base della gestione dei processi in unix. \subsection{Una panoramica} -\label{sec:proc_control_overview} +\label{sec:prochand_control_overview} I processi vengono creati dalla funzione \texttt{fork}; in genere questa è una -system call, ma linux però usa un'altra nomenclatura, e la funzione fork è +system call, ma Linux però usa un'altra nomenclatura, e la funzione fork è basata a sua volta sulla system call \texttt{clone}, che viene usata anche per generare i \textit{thread}. Il processo figlio creato dalla \textit{fork} è una copia identica del processo processo padre, solo che ha un suo pid @@ -93,7 +93,7 @@ ricevuta dal processo padre, a quel punto tutte le risorse allocate nel sistema ad esso associate vengono rilasciate. Avere due processi che eseguono esattamente lo stesso codice non è molto -utile, mormalmente si genera un secondo processo per affidagli l'esecuzione di +utile, normalmente si genera un secondo processo per affidargli l'esecuzione di un compito specifico (ad esempio gestire una connessione dopo che questa è stata stabilita), o fargli eseguire (come fa la shell) un altro programma. Per questo si usa la seconda funzione fondamentale per programmazione coi processi @@ -113,7 +113,7 @@ non ritorna mai (in quanto con essa viene eseguito un altro programma). \subsection{La funzione \texttt{fork}} -\label{sec:proc_fork} +\label{sec:prochand_fork} Dopo l'esecuzione di una fork sia il processo padre che il processo figlio @@ -127,29 +127,22 @@ viene eseguito dal padre o dal figlio. \subsection{Le funzioni \texttt{wait} e \texttt{waitpid}} -\label{sec:proc_wait} +\label{sec:prochand_wait} \subsection{Le funzioni \texttt{exec}} -\label{sec:proc_exec} - - - - +\label{sec:prochand_exec} \section{Il controllo di accesso} -\label{sec:process_perms} +\label{sec:prochand_perms} Va messo qui tutta la storia su effective, real, saved uid, e pure le cose di -linux come il filesystem uid. - +Linux come il filesystem uid. \subsection{Le funzioni \texttt{setuid} e \texttt{setgid}} -\label{sec:proc_setuid} +\label{sec:prochand_setuid} \subsection{Le funzioni \texttt{seteuid} e \texttt{setegid}} -\label{sec:proc_setuid} - - +\label{sec:prochand_setuid}