Chiarimenti sui permessi di accesso.
[gapil.git] / intro.tex
index 06bc9572a80a9d9d5f50d86dcc4496ae67b97792..0ec6bcba922aaca57504b852568a198b7c91ae33 100644 (file)
--- 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).
 
 (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
 
 La memoria viene sempre gestita dal kernel attraverso il meccanismo della
 \textsl{memoria virtuale}\index{memoria virtuale}, che consente di assegnare a
@@ -293,36 +293,44 @@ qualunque sistema operativo.
 Per questo motivo, anche se lo standard non ha alcun riferimento ad un sistema
 di tipo Unix, GNU/Linux (per essere precisi le \acr{glibc}), come molti Unix
 moderni, provvede la compatibilità con questo standard, fornendo le funzioni
 Per questo motivo, anche se lo standard non ha alcun riferimento ad un sistema
 di tipo Unix, GNU/Linux (per essere precisi le \acr{glibc}), come molti Unix
 moderni, provvede la compatibilità con questo standard, fornendo le funzioni
-di libreria da esso previste. Queste sono dichiarate in quindici header file
-(anch'essi provvisti dalla \acr{glibc}), uno per ciascuna delle quindici aree
-in cui è stata suddivisa una libreria standard. In
-\tabref{tab:intro_posix_header} si sono riportati questi header, insieme a
-quelli definiti negli altri standard descritti nelle sezioni successive.
+di libreria da esso previste. Queste sono dichiarate in una serie di
+\textit{header file}\footnote{i file di dichiarazione di variabili, tipi e
+  funzioni, usati normalmente da un compilatore C. Per poter accedere alle
+  funzioni occorre includere con la direttiva \code{\#include} questi file nei
+  propri programmi; per ciascuna funzione che tratteremo in seguito
+  indicheremo anche gli \textit{header file} necessari ad usarla.}  (anch'essi
+provvisti dalla \acr{glibc}), In \tabref{tab:intro_posix_header} si sono
+riportati i principali \textit{header file} definiti nello standard POSIX,
+insieme a quelli definiti negli altri standard descritti nelle sezioni
+successive.
 
 \begin{table}[htb]
   \footnotesize
   \centering
 
 \begin{table}[htb]
   \footnotesize
   \centering
-  \begin{tabular}[c]{|l|l|}
+  \begin{tabular}[c]{|l|c|c|l|}
     \hline
     \hline
-    \textbf{Standard} & \textbf{Contenuto} \\
+    \multirow{2}{*}{\textbf{Header}}&
+    \multicolumn{2}{|c|}{\textbf{Standard}}&
+    \multirow{2}{*}{\textbf{Contenuto}} \\
+    \cline{2-3}
+    & ANSI C& POSIX& \\
     \hline
     \hline
     \hline
     \hline
-    \file{assert.h}& Verifica le asserzioni fatte in un programma.\\
-    \file{cpio.h}  & .\\
-    \file{} & .\\
-    \file{} & .\\
-    \file{} & .\\
-    \file{} & .\\
-    \file{} & .\\
-    \file{} & .\\
-    \file{} & .\\
-    \file{} & .\\
-    \file{} & .\\
-    \file{stdio.h} & I/O bufferizzato in standard ANSI C.\\
-    \file{stdlib.h}& definizioni della libreria standard.\\
+    \file{assert.h}&$\bullet$&$\bullet$& Verifica le asserzioni fatte in un
+                                     programma.\\ 
+    \file{errno.h} &$\bullet$&$\bullet$& Errori di sistema.\\
+    \file{fcntl.h} &$\bullet$&$\bullet$& Controllo sulle opzioni dei file.\\
+    \file{limits.h}&$\bullet$&$\bullet$& Limiti e parametri del sistema.\\
+    \file{} &$\bullet$&$\bullet$& .\\
+    \file{} &$\bullet$&$\bullet$& .\\
+    \file{} &$\bullet$&$\bullet$& .\\
+    \file{} &$\bullet$&$\bullet$& .\\
+    \file{} &$\bullet$&$\bullet$& .\\
+    \file{stdio.h} &$\bullet$&$\bullet$& I/O bufferizzato in standard ANSI C.\\
+    \file{stdlib.h}&$\bullet$&$\bullet$& definizioni della libreria standard.\\
     \hline
   \end{tabular}
     \hline
   \end{tabular}
-  \caption{Elenco dei vari file di include definiti dallo standard POSIX.}
+  \caption{Elenco dei vari header file definiti dallo standard POSIX.}
   \label{tab:intro_posix_header}
 \end{table}
 
   \label{tab:intro_posix_header}
 \end{table}
 
@@ -355,7 +363,7 @@ tipi si sono rivelati inadeguati, e se ne 
 \begin{table}[htb]
   \footnotesize
   \centering
 \begin{table}[htb]
   \footnotesize
   \centering
-  \begin{tabular}[c]{|l|l|}
+  \begin{tabular}[c]{|l|c|c|l|}
     \hline
     \textbf{Tipo} & \textbf{Contenuto} \\
     \hline
     \hline
     \textbf{Tipo} & \textbf{Contenuto} \\
     \hline