X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=intro.tex;h=9c682f7e7efc3084543c9d0038868a9f6c2fdc45;hp=1dfaaf92f7d4da2fa3eedac8fa5b57f7c31adbf8;hb=ff8f0c2a217e909f1c0d7a4445880ac81d848985;hpb=f67bf0a685d61f70c3536e1f258b96a658162f9e diff --git a/intro.tex b/intro.tex index 1dfaaf9..9c682f7 100644 --- a/intro.tex +++ b/intro.tex @@ -52,13 +52,13 @@ all'hardware, mentre i programmi normali vengono eseguiti in modalit (e non possono accedere direttamente alle zone di memoria riservate o alle porte di input/output). -Una parte del kernel, lo \textit{scheduler}, si occupa di stabilire, ad -intervalli fissi e sulla base di un opportuno calcolo delle priorità, quale -``processo'' deve essere posto in esecuzione (il cosiddetto \textit{preemptive - scheduling}\index{preemptive scheduling}). Questo verrà comunque eseguito in -modalità protetta; quando necessario il processo potrà accedere alle risorse -hardware soltanto attraverso delle opportune chiamate al sistema che -restituiranno il controllo al kernel. +Una parte del kernel, lo \textit{scheduler}\index{scheduler}, si occupa di +stabilire, ad intervalli fissi e sulla base di un opportuno calcolo delle +priorità, quale ``processo'' deve essere posto in esecuzione (il cosiddetto +\textit{preemptive scheduling}\index{preemptive scheduling}). Questo verrà +comunque eseguito in modalità protetta; quando necessario il processo potrà +accedere alle risorse hardware soltanto attraverso delle opportune chiamate al +sistema che restituiranno il controllo al kernel. La memoria viene sempre gestita dal kernel attraverso il meccanismo della \textsl{memoria virtuale}\index{memoria virtuale}, che consente di assegnare a @@ -154,7 +154,17 @@ Ogni versione di Unix ha storicamente sempre avuto un certo numero di queste chiamate, che sono riportate nella seconda sezione del \textsl{Manuale di programmazione di Unix} (quella cui si accede con il comando \cmd{man 2 }) e Linux non fa eccezione. Queste sono poi state codificate da vari -standard, che esamineremo brevemente in \secref{sec:intro_standard}. +standard, che esamineremo brevemente in \secref{sec:intro_standard}. Uno +schema elementare della struttura del sistema è riportato in +\figref{fig:intro_sys_struct}. + +\begin{figure}[htb] + \centering + \includegraphics[width=10cm]{img/struct_sys} + \caption{Schema di massima della struttura di interazione fra processi, + kernel e dispositivi in Linux.} + \label{fig:intro_sys_struct} +\end{figure} Normalmente ciascuna di queste chiamate al sistema viene rimappata in opportune funzioni con lo stesso nome definite dentro la Libreria Standard del