X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=system.tex;h=04d92db60aecd39c7851efcc225352d34551bede;hp=ced0465ec599e1b6ef9f623e0efad98413b554ce;hb=81ff87c3e2a6ecd3e33867798cba0d27576f44d0;hpb=6c705d16151fa82874be6aced255d346c9d2bd7b;ds=sidebyside diff --git a/system.tex b/system.tex index ced0465..04d92db 100644 --- a/system.tex +++ b/system.tex @@ -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)}