X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=system.tex;h=04d92db60aecd39c7851efcc225352d34551bede;hp=4ce46aaf47452f58cf243a3364a34b508924a5ca;hb=38dff25efc0d3ae24d82724cd196c583c2362737;hpb=6ce85e92226a2248d512174c15ab9ea8afb19c32 diff --git a/system.tex b/system.tex index 4ce46aa..04d92db 100644 --- a/system.tex +++ b/system.tex @@ -392,7 +392,7 @@ riportate in \tabref{tab:sys_file_macro}. \hline \macro{NAME\_MAX}& 14 & lunghezza in byte di un nome di file. \\ \macro{PATH\_MAX}& 256 & lunghezza in byte di pathname.\\ - \macro{PIPE\_BUF}& 512 & byte scrivibili atomicamente in una pipe\\ + \macro{PIPE\_BUF}&4096 & byte scrivibili atomicamente in una pipe\\ \macro{LINK\_MAX} &8 & numero massimo di link a un file\\ \macro{MAX\_CANON}&255 & spazio disponibile nella coda di input canonica del terminale\\ @@ -1395,12 +1395,13 @@ rispettivamente il tempo impiegato dal processo nell'eseguire le istruzioni in user space, e quello impiegato dal kernel nelle system call eseguite per conto del processo. -Gli altri tre campi servono a quantificare l'uso della memoria virtuale e -corrispondono rispettivamente al numero di \textit{page fault}\index{page - fault} (vedi \secref{sec:proc_mem_gen}) avvenuti senza richiedere I/O (i -cosiddetti \textit{minor page fault}), a quelli che invece han richiesto I/O -(detti invece \textit{major page fault}) ed al numero di volte che il processo -è stato completamente tolto dalla memoria per essere inserito nello swap. +Gli altri tre campi servono a quantificare l'uso della memoria +virtuale\index{memoria virtuale} e corrispondono rispettivamente al numero di +\textit{page fault}\index{page fault} (vedi \secref{sec:proc_mem_gen}) +avvenuti senza richiedere I/O (i cosiddetti \textit{minor page fault}), a +quelli che invece han richiesto I/O (detti invece \textit{major page fault}) +ed al numero di volte che il processo è stato completamente tolto dalla +memoria per essere inserito nello swap. In genere includere esplicitamente \file{} non è più necessario, ma aumenta la portabilità, e serve comunque quando, come nella maggior parte @@ -1568,12 +1569,12 @@ mantenuti attraverso una \func{exec} (vedi \secref{sec:proc_exec}). La gestione della memoria è già stata affrontata in dettaglio in \secref{sec:proc_memory}; abbiamo visto allora che il kernel provvede il -meccanismo della memoria virtuale attraverso la divisione della memoria fisica -in pagine. +meccanismo della memoria virtuale\index{memoria virtuale} attraverso la +divisione della memoria fisica in pagine. In genere questo è del tutto trasparente al singolo processo, ma in certi -casi, come per l'I/O mappato in memoria (vedi \ref{sec:file_memory_map}) che -usa lo stesso meccanismo per accedere ai file, è necessario conoscere le +casi, come per l'I/O mappato in memoria (vedi \secref{sec:file_memory_map}) +che usa lo stesso meccanismo per accedere ai file, è necessario conoscere le dimensioni delle pagine usate dal kernel. Lo stesso vale quando si vuole gestire in maniera ottimale l'interazione della memoria allocata con il meccanismo della paginazione. @@ -1586,7 +1587,7 @@ dover fornire binari diversi per ogni possibile modello, utilizzare una funzione. In genere questa dimensione può essere ottenuta attraverso una chiamata a -\func{sysconf} come \func{sysconf(\_SC\_PAGESIZE)}, ma in BSD 4.2 è stata +\func{sysconf} come \code{sysconf(\_SC\_PAGESIZE)}, ma in BSD 4.2 è stata introdotta una apposita funzione, \func{getpagesize}, che restituisce la dimensione delle pagine di memoria; il suo prototipo è: \begin{prototype}{unistd.h}{int getpagesize(void)} @@ -2542,7 +2543,9 @@ Stampa un messaggio di errore formattato. \noindent ed il suo comportamento è identico a quello di \func{error} se non per il fatto che, separati con il solito due punti-spazio, vengono inseriti un nome di file indicato da \param{fname} ed un numero di linea subito dopo la -stampa del nome del programma. +stampa del nome del programma. Inoltre essa usa un'altra variabile globale, +\var{error\_one\_per\_line}, che settata ad un valore diverso da zero fa si +che errori relativi alla stessa linea non vengano ripetuti.