From 396c6948d58824a98ae75c73f8c91a002ab0860b Mon Sep 17 00:00:00 2001 From: Simone Piccardi Date: Mon, 23 Mar 2009 21:38:33 +0000 Subject: [PATCH] Correzioni varie piu una serie di precisazioni sull'uso di recvfrom secondo quanto suggerito da Fabiano Lever --- fileadv.tex | 2 +- othersock.tex | 17 ++++++++++++++--- pref.tex | 4 +++- prochand.tex | 3 +++ 4 files changed, 21 insertions(+), 5 deletions(-) diff --git a/fileadv.tex b/fileadv.tex index 84d51c5..8b9e0b4 100644 --- a/fileadv.tex +++ b/fileadv.tex @@ -3563,8 +3563,8 @@ saranno incrementate di conseguenza. Dopo aver eseguito con successo la funzione è garantito che una scrittura nella regione indicata non fallirà per mancanza di spazio disco. +% TODO controllare la trattazione della nuova funzionalità di preallocazione - % TODO documentare \func{posix\_fadvise} % vedi http://insights.oetiker.ch/linux/fadvise.html % questo tread? http://www.ussg.iu.edu/hypermail/linux/kernel/0703.1/0032.html diff --git a/othersock.tex b/othersock.tex index f181a4c..5837bae 100644 --- a/othersock.tex +++ b/othersock.tex @@ -264,9 +264,20 @@ comunque il numero di byte letti. I due argomenti \param{from} e \param{fromlen} sono utilizzati per ottenere l'indirizzo del mittente del pacchetto che è stato ricevuto, e devono essere -opportunamente inizializzati con i puntatori alle variabili dove la struttura -contenente quest'ultimo e la relativa lunghezza saranno scritti (si noti che -\param{fromlen} è un valore intero ottenuto come +opportunamente inizializzati; il primo deve contenere il puntatore alla +struttura (di tipo \ctyp{sockaddr}) che conterrà l'indirizzo e il secondo il +puntatore alla variabile con la dimensione di detta struttura. Si tenga +presente che mentre il contenuto della struttura \ctyp{sockaddr} cui punta +\param{from} può essere qualunque, la variabile puntata da \param{fromlen} +deve essere opportunamente inizializzata a \code{sizeof(sockaddr)}, +assicurandosi che la dimensione sia sufficiente a contenere tutti i dati +dell'indirizzo.\footnote{si ricordi che \ctyp{sockaddr} è un tipo generico che + serve ad indicare la struttura corrispondente allo specifico tipo di + indirizzo richiesto, il valore di \param{fromlen} pone un limite alla + quantità di dati che verranno scritti sulla struttura puntata da + \param{from} e se è insufficiente l'indirizzo risulterà corrotto.} Al +ritorno della funzione si otterranno i dati dell'indirizzo e la sua effettiva +lunghezza, (si noti che \param{fromlen} è un valore intero ottenuto come \itindex{value~result~argument} \textit{value result argument}). Se non si è interessati a questa informazione, entrambi gli argomenti devono essere inizializzati al valore \const{NULL}. diff --git a/pref.tex b/pref.tex index a9f40d1..1b56b13 100644 --- a/pref.tex +++ b/pref.tex @@ -19,7 +19,9 @@ la programmazione in ambito di sistemi Unix generici, ma resta una attenzione specifica alle caratteristiche peculiari del kernel Linux e delle versioni delle librerie del C in uso con esso; in particolare si darà ampio spazio alla versione realizzata dal progetto GNU, le cosiddette \textit{GNU C Library} o -\textsl{glibc}, che ormai sono usate nella stragrande maggioranza dei casi. +\textsl{glibc}, che ormai sono usate nella stragrande maggioranza dei casi, +senza tralasciare, là dove note, le differenze con altre implementazioni come +le \textsl{libc5} o le \textsl{uclib}. L'obiettivo finale di questo progetto è quello di riuscire a ottenere un testo utilizzabile per apprendere i concetti fondamentali della programmazione di diff --git a/prochand.tex b/prochand.tex index 911dbe2..fc07b7d 100644 --- a/prochand.tex +++ b/prochand.tex @@ -144,6 +144,9 @@ fig.~\ref{fig:proc_task_struct}. \label{fig:proc_task_struct} \end{figure} +% TODO la task_struct è cambiata per qualche dettaglio vedi anche +% http://www.ibm.com/developerworks/linux/library/l-linux-process-management/ + Come accennato in sez.~\ref{sec:intro_unix_struct} è lo \itindex{scheduler} \textit{scheduler} che decide quale processo mettere in esecuzione; esso viene eseguito ad ogni system call ed ad ogni interrupt,\footnote{più in una serie -- 2.30.2