Modifiche per reindicizzazione
[gapil.git] / intro.tex
index dbf3732fcb895673ddd81ec85f347f612be7073b..6c7324223981a99f0503bd1060d18d27a9478514 100644 (file)
--- a/intro.tex
+++ b/intro.tex
@@ -116,11 +116,13 @@ fig.~\ref{fig:intro_sys_struct}.
   \label{fig:intro_sys_struct}
 \end{figure}
 
-Una parte del kernel, lo \itindex{scheduler} \textit{scheduler}, si occupa di
-stabilire, sulla base di un opportuno calcolo delle priorità e con una
-suddivisione appropriata del tempo di processore, quali fra i vari
-``\textsl{processi}'' presenti nel sistema deve essere eseguito, realizzando
-il cosiddetto \itindex{preemptive~multitasking} \textit{preemptive
+\itindbeg{scheduler}
+
+Una parte del kernel, lo \textit{scheduler}, si occupa di stabilire, sulla
+base di un opportuno calcolo delle priorità e con una suddivisione appropriata
+del tempo di processore, quali fra i vari ``\textsl{processi}'' presenti nel
+sistema deve essere eseguito, realizzando il cosiddetto
+\itindex{preemptive~multitasking} \textit{preemptive
   multitasking}.\footnote{si chiama così quella gestione del
   \textit{multitasking} in cui è il kernel a decidere a chi assegnare l'uso
   della CPU, potendo interrompere l'esecuzione di un processo in qualunque
@@ -130,6 +132,8 @@ attraverso delle ``\textsl{chiamate al sistema}'' (vedi
 sez.~\ref{sec:intro_syscall}) che restituiranno il controllo al kernel per
 eseguire le operazioni necessarie.
 
+\itindend{scheduler}
+
 La memoria viene sempre gestita dal kernel attraverso il meccanismo della
 \index{memoria~virtuale} \textsl{memoria virtuale}, che consente di assegnare
 a ciascun processo uno spazio di indirizzi ``\textsl{virtuale}'' (vedi
@@ -342,13 +346,12 @@ L'utente e il gruppo sono identificati dal kernel un identificativo numerico,
 la cui corrispondenza ad un nome espresso in caratteri è inserita nei due file
 \conffile{/etc/passwd} e \conffile{/etc/group}.\footnote{in realtà negli
   sistemi più moderni, come vedremo in sez.~\ref{sec:sys_user_group} queste
-  informazioni possono essere mantenute, con l'uso del
-  \itindex{Name~Service~Switch~(NSS)} \textit{Name Service Switch}, su varie
-  tipologie di supporti, compresi server centralizzati come LDAP.}  Questi
-identificativi sono l'\textit{user identifier}, detto in breve
-\textsl{user-ID}, ed indicato dall'acronimo \ids{UID}, e il \textit{group
-  identifier}, detto in breve \textsl{group-ID}, ed identificato dall'acronimo
-\ids{GID}, torneremo in dettaglio su questo argomento in
+  informazioni possono essere mantenute, con l'uso del \textit{Name Service
+    Switch}, su varie tipologie di supporti, compresi server centralizzati
+  come LDAP.}  Questi identificativi sono l'\textit{user identifier}, detto in
+breve \textsl{user-ID}, ed indicato dall'acronimo \ids{UID}, e il
+\textit{group identifier}, detto in breve \textsl{group-ID}, ed identificato
+dall'acronimo \ids{GID}, torneremo in dettaglio su questo argomento in
 sez.~\ref{sec:proc_perms}.  Il kernel conosce ed utilizza soltanto questi
 valori numerici, i nomi ad essi associati sono interamente gestiti in
 \textit{user space} con opportune funzioni di libreria, torneremo su questo
@@ -448,10 +451,10 @@ fig.~\ref{fig:file_VFS_scheme}.
 \end{figure}
 
 Questa interfaccia resta la stessa anche quando, invece che a dei normali
-file, si accede alle periferiche coi citati \index{file!di~dispositivo} file
-di dispositivo, solo che in questo caso invece di usare il codice del
-filesystem che accede al disco, il \textit{Virtual File System} eseguirà
-direttamente il codice del kernel che permette di accedere alla periferica.
+file, si accede alle periferiche coi citati file di dispositivo, solo che in
+questo caso invece di usare il codice del filesystem che accede al disco, il
+\textit{Virtual File System} eseguirà direttamente il codice del kernel che
+permette di accedere alla periferica.
 
 \itindend{Virtual~File~System}
 
@@ -475,9 +478,9 @@ viene posto alla radice dell'albero dei file.
 Tutti gli ulteriori filesystem che possono essere disponibili su altri
 dispositivi dovranno a loro volta essere inseriti nell'albero, montandoli su
 altrettante directory del filesystem radice, su quelli che vengono chiamati
-\index{mount~point} \textit{mount point}.  Questo comunque avverrà sempre in
-un secondo tempo, in genere a cura dei programmi eseguiti nella procedura di
-inizializzazione del sistema, grazie alle funzioni che tratteremo in
+\textit{mount point}.  Questo comunque avverrà sempre in un secondo tempo, in
+genere a cura dei programmi eseguiti nella procedura di inizializzazione del
+sistema, grazie alle funzioni che tratteremo in
 sez.~\ref{sec:filesystem_mounting}.
 
 
@@ -515,7 +518,7 @@ directory.  All'interno dello stesso albero si potranno poi inserire anche
 tutti gli altri oggetti previsti l'interfaccia del
 \itindex{Virtual~File~System} VFS (su cui torneremo in
 sez.~\ref{sec:file_file_types}), come le fifo, i collegamenti simbolici, i
-socket e gli stessi \index{file!di~dispositivo} file di dispositivo.
+socket e gli stessi file di dispositivo.
 
 La convenzione usata nei sistemi unix-like per indicare i \textit{pathname}
 dei file è quella di usare il carattere ``\texttt{/}'' come separatore fra i
@@ -605,25 +608,27 @@ completo in tab.~\ref{tab:file_file_types}.
     \multicolumn{2}{|c|}{\textbf{Tipo di file}} & \textbf{Descrizione} \\
     \hline
     \hline
-      \textit{regular file} & \textsl{file regolare} &
-      Un file che contiene dei dati (l'accezione normale di file).\\
-      \textit{directory} & \textsl{cartella o direttorio} &
-      Un file che contiene una lista di nomi associati a degli
-      \itindex{inode} \textit{inode} (vedi sez.~\ref{sec:file_vfs_work}).\\
-      \textit{symbolic link} & \textsl{collegamento simbolico} &
-      Un file che contiene un riferimento ad un altro file/directory.\\
-      \textit{char device} & \textsl{dispositivo a caratteri} &
-      Un file \textsl{speciale} che identifica una periferica ad accesso a
-      caratteri.\\ 
-      \textit{block device} & \textsl{dispositivo a blocchi} &
-      Un file \textsl{speciale} che identifica una periferica ad accesso a
-      blocchi.\\ 
-      \textit{fifo} & ``\textsl{coda}'' &
-      Un file \textsl{speciale} che identifica una linea di comunicazione 
-      unidirezionale (vedi sez.~\ref{sec:ipc_named_pipe}).\\
-      \textit{socket} & ``\textsl{presa}''&
-      Un file \textsl{speciale} che identifica una linea di comunicazione 
-      bidirezionale (vedi cap.~\ref{cha:socket_intro}).\\
+      \textit{regular file} & \textsl{file regolare} & Un file che contiene dei dati (l'accezione
+                                                       normale di file).\\ 
+      \textit{directory} & \textsl{cartella o direttorio} & Un file che contiene una lista
+                                                            di nomi associati a degli
+                                                            \textit{inode} (vedi
+                                                            sez.~\ref{sec:file_vfs_work}).\\ 
+      \textit{symbolic link} & \textsl{collegamento simbolico} & Un file che contiene un
+                                                                 riferimento ad un altro
+                                                                 file/directory.\\ 
+      \textit{char device} & \textsl{dispositivo a caratteri} & Un file \textsl{speciale}
+                                                                che identifica una periferica
+                                                                ad accesso a caratteri.\\ 
+      \textit{block device} & \textsl{dispositivo a blocchi} & Un file \textsl{speciale}
+                                                               che identifica una periferica
+                                                               ad accesso a blocchi.\\ 
+      \textit{fifo} & ``\textsl{coda}'' & Un file \textsl{speciale} che
+                                          identifica una linea di comunicazione 
+                                          unidirezionale (vedi sez.~\ref{sec:ipc_named_pipe}).\\
+      \textit{socket} & ``\textsl{presa}''& Un file \textsl{speciale} che identifica una linea di
+                                            comunicazione bidirezionale (vedi
+                                            cap.~\ref{cha:socket_intro}).\\ 
     \hline
     \end{tabular}
     \caption{Tipologia dei file definiti nel VFS}
@@ -1068,12 +1073,11 @@ sistema e che sono definite nello standard POSIX.2.
 
 Nelle versioni più recenti del kernel e delle librerie sono inoltre supportate
 ulteriori funzionalità aggiunte dallo standard POSIX.1c per quanto riguarda i
-\itindex{thread} \textit{thread} (vedi cap.~\ref{cha:threads}), e dallo
-standard POSIX.1b per quanto riguarda i segnali e lo \itindex{scheduler}
-scheduling real-time (sez.~\ref{sec:sig_real_time} e
-sez.~\ref{sec:proc_real_time}), la misura del tempo, i meccanismi di
-intercomunicazione (sez.~\ref{sec:ipc_posix}) e l'I/O asincrono
-(sez.~\ref{sec:file_asyncronous_io}).
+\textit{thread} (vedi cap.~\ref{cha:threads}), e dallo standard POSIX.1b per
+quanto riguarda i segnali e lo scheduling real-time
+(sez.~\ref{sec:sig_real_time} e sez.~\ref{sec:proc_real_time}), la misura del
+tempo, i meccanismi di intercomunicazione (sez.~\ref{sec:ipc_posix}) e l'I/O
+asincrono (sez.~\ref{sec:file_asyncronous_io}).
 
 Lo standard principale resta comunque POSIX.1, che continua ad evolversi; la
 versione più nota, cui gran parte delle implementazioni fanno riferimento, e