X-Git-Url: https://gapil.gnulinux.it/gitweb/?a=blobdiff_plain;f=prochand.tex;h=cd5c04bd7fa5b8a7f6b4b178ab3865b69e3fddb3;hb=9e76c5d9e9b74a6bdae0977ff5cff3b4d56abcc3;hp=3693f9186eafdf8b12df0eba71943a2cfb61b2ca;hpb=46f04a7875f34640b75aab2d5163ea86afe1bf71;p=gapil.git diff --git a/prochand.tex b/prochand.tex index 3693f91..cd5c04b 100644 --- a/prochand.tex +++ b/prochand.tex @@ -631,7 +631,7 @@ comune dopo l'esecuzione di una \func{fork} \item i limiti sulle risorse (vedi sez.~\ref{sec:sys_resource_limit}); \item il valori di \textit{nice}, le priorità real-time e le affinità di processore (vedi sez.~\ref{sec:proc_sched_stand}, - sez.~\ref{sec:proc_real_time} e sez.\ref{sec:proc_sched_multiprocess}); + sez.~\ref{sec:proc_real_time} e sez.~\ref{sec:proc_sched_multiprocess}); \item le variabili di ambiente (vedi sez.~\ref{sec:proc_environ}). \end{itemize*} Le differenze fra padre e figlio dopo la \func{fork} invece sono: @@ -648,7 +648,6 @@ Le differenze fra padre e figlio dopo la \func{fork} invece sono: per il figlio vengono cancellati. \end{itemize*} - Una seconda funzione storica usata per la creazione di un nuovo processo è \func{vfork}, che è esattamente identica a \func{fork} ed ha la stessa semantica e gli stessi errori; la sola differenza è che non viene creata la @@ -666,8 +665,9 @@ venne introdotta in BSD per migliorare le prestazioni. Dato che Linux supporta il \itindex{copy~on~write} \textit{copy on write} la perdita di prestazioni è assolutamente trascurabile, e l'uso di questa -funzione (che resta un caso speciale della system call \func{\_\_clone}) è -deprecato; per questo eviteremo di trattarla ulteriormente. +funzione, che resta un caso speciale della system call \func{clone} (che +tratteremo in dettaglio in sez.~\ref{sec:process_clone}) è deprecato; per +questo eviteremo di trattarla ulteriormente. \subsection{La conclusione di un processo} @@ -2888,8 +2888,8 @@ utilizzato per un compito importante (ad esempio per applicazioni real-time o la cui risposta è critica) e si vuole la massima velocità, con questa interfaccia diventa possibile selezionare gruppi di processori utilizzabili in maniera esclusiva. Lo stesso dicasi quando l'accesso a certe risorse (memoria -o periferiche) può avere un costo diverso a seconda del processore (come -avviene nelle architetture NUMA). +o periferiche) può avere un costo diverso a seconda del processore, come +avviene nelle architetture NUMA (\textit{Non-Uniform Memory Access}). Infine se un gruppo di processi accede alle stesse risorse condivise (ad esempio una applicazione con più \itindex{thread} \textit{thread}) può avere @@ -2971,6 +2971,18 @@ non avranno alcun risultato effettivo. \itindend{CPU~affinity} +%TODO trattare le priorità di I/O +% vedi man ioprio_set e Documentation/block/ioprio.txt + +\subsection{Le priorità per le operazioni di I/O} +\label{sec:io_priority} + +Una delle + + +%TODO trattare le funzionalità per il NUMA +% vedi man numa e le pagine di manuale relative +% vedere anche dove metterle... \section{Problematiche di programmazione multitasking} \label{sec:proc_multi_prog}