X-Git-Url: https://gapil.gnulinux.it/gitweb/?a=blobdiff_plain;f=intro.tex;h=378dd843ac578f14bdde492969a44248c2b8375b;hb=250b32a55733b307d2eae8afb50b64af1b7c0bc8;hp=23f677bb1247d40881205f2d3805a859d72a86cf;hpb=70860564e1de946ab8d681bb41c601ba77721709;p=gapil.git diff --git a/intro.tex b/intro.tex index 23f677b..378dd84 100644 --- a/intro.tex +++ b/intro.tex @@ -73,8 +73,8 @@ 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 -ciascun processo uno spazio di indirizzi ``\textsl{virtuale}'' (vedi +\index{memoria~virtuale} \textsl{memoria virtuale}, che consente di assegnare +a ciascun processo uno spazio di indirizzi ``\textsl{virtuale}'' (vedi sez.~\ref{sec:proc_memory}) che il kernel stesso, con l'ausilio della unità di gestione della memoria, si incaricherà di rimappare automaticamente sulla memoria disponibile, salvando su disco quando necessario (nella cosiddetta @@ -237,7 +237,7 @@ viene richiesto all'ingresso nel sistema dalla procedura di \textit{login} (descritta in dettaglio in sez.~\ref{sec:sess_login}). Questa procedura si incarica di verificare l'identità dell'utente, in genere attraverso la richiesta di una parola d'ordine (la \textit{password}), anche se sono -possibili meccanismi diversi.\footnote{Ad esempio usando la libreria PAM +possibili meccanismi diversi.\footnote{ad esempio usando la libreria PAM (\textit{Pluggable Autentication Methods}) è possibile astrarre completamente dai meccanismi di autenticazione e sostituire ad esempio l'uso delle password con meccanismi di identificazione biometrica.} @@ -254,16 +254,16 @@ accesso ai file e quindi anche alle periferiche, in maniera pi definendo gruppi di lavoro, di accesso a determinate risorse, ecc. L'utente e il gruppo sono identificati da due numeri, la cui corrispondenza ad -un nome espresso in caratteri è inserita nei due file \file{/etc/passwd} e -\file{/etc/groups}.\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 \textit{Name Service Switch}, su varie tipologie di - supporti, compresi server centralizzati come LDAP.} -\itindex{Name~Service~Switch} Questi numeri sono l'\textit{user identifier}, -detto in breve \textsl{user-ID}, ed indicato dall'acronimo \acr{uid}, e il -\textit{group identifier}, detto in breve \textsl{group-ID}, ed identificato -dall'acronimo \acr{gid}, e sono quelli che vengono usati dal kernel per -identificare l'utente. +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} \textit{Name Service + Switch}, su varie tipologie di supporti, compresi server centralizzati + come LDAP.} Questi numeri sono l'\textit{user identifier}, detto in breve +\textsl{user-ID}, ed indicato dall'acronimo \acr{uid}, e il \textit{group + identifier}, detto in breve \textsl{group-ID}, ed identificato dall'acronimo +\acr{gid}, e sono quelli che vengono usati dal kernel per identificare +l'utente. In questo modo il sistema è in grado di tenere traccia dell'utente a cui appartiene ciascun processo ed impedire ad altri utenti di interferire con @@ -380,7 +380,7 @@ Uno dei problemi di portabilit dati utilizzati nei programmi, che spesso variano da sistema a sistema, o anche da una architettura ad un'altra (ad esempio passando da macchine con processori 32 bit a 64). In particolare questo è vero nell'uso dei cosiddetti -\textit{tipi elementari}\index{tipo!elementare} del linguaggio C (come +\index{tipo!elementare} \textit{tipi elementari}del linguaggio C (come \ctyp{int}) la cui dimensione varia a seconda dell'architettura hardware. Storicamente alcuni tipi nativi dello standard ANSI C sono sempre stati @@ -405,7 +405,7 @@ una infinita serie di problemi di portabilit \type{clock\_t} & Contatore del tempo di sistema.\\ \type{dev\_t} & Numero di dispositivo.\\ \type{gid\_t} & Identificatore di un gruppo.\\ - \type{ino\_t} & Numero di \textit{inode}\index{inode}.\\ + \type{ino\_t} & Numero di \index{inode} \textit{inode}.\\ \type{key\_t} & Chiave per il System V IPC.\\ \type{loff\_t} & Posizione corrente in un file.\\ \type{mode\_t} & Attributi di un file.\\ @@ -427,7 +427,7 @@ una infinita serie di problemi di portabilit Per questo motivo tutte le funzioni di libreria di solito non fanno riferimento ai tipi elementari dello standard del linguaggio C, ma ad una -serie di \textsl{tipi primitivi}\index{tipo!primitivo} del sistema, riportati +serie di \index{tipo!primitivo} \textsl{tipi primitivi} del sistema, riportati in tab.~\ref{tab:intro_primitive_types}, e definiti nell'header file \file{sys/types.h}, in modo da mantenere completamente indipendenti i tipi utilizzati dalle funzioni di sistema dai tipi elementari supportati dal