%% intro.tex
%%
-%% Copyright (C) 2000-2006 Simone Piccardi. Permission is granted to
+%% Copyright (C) 2000-2007 Simone Piccardi. Permission is granted to
%% copy, distribute and/or modify this document under the terms of the GNU Free
%% Documentation License, Version 1.1 or any later version published by the
%% Free Software Foundation; with the Invariant Sections being "Un preambolo",
%% license is included in the section entitled "GNU Free Documentation
%% License".
%%
+
\chapter{L'architettura del sistema}
\label{cha:intro_unix}
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
(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.}
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
\file{malloc.h}&$\bullet$& & Allocazione della memoria.\\
\file{setjmp.h}&$\bullet$& & Salti non locali.\\
\file{signal.h}& &$\bullet$& Gestione dei segnali.\\
- \file{stdarg.h}&$\bullet$& & .\\
+ \file{stdarg.h}&$\bullet$& & Gestione di funzioni a argomenti
+ variabili.\\
\file{stdio.h} &$\bullet$& & I/O bufferizzato in standard ANSI C.\\
- \file{stdlib.h}&$\bullet$& & definizioni della libreria standard.\\
+ \file{stdlib.h}&$\bullet$& & Definizioni della libreria standard.\\
\file{string.h}&$\bullet$& & Manipolazione delle stringhe.\\
\file{time.h} & &$\bullet$& Gestione dei tempi.\\
\file{times.h} &$\bullet$& & Gestione dei tempi.\\
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
\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.\\
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
-%%% Local Variables:
-%%% mode: latex
-%%% TeX-master: "gapil"
-%%% End:
-
% LocalWords: like kernel multitasking scheduler prehemptive sez swap is cap
% LocalWords: everything bootstrap init shell Windows Foundation system call
% LocalWords: fig libc uClib glibc embedded Library POSIX username PAM Methods
% LocalWords: socket Spec Novell Specification SUSv CDE Motif Berkley select
% LocalWords: SunOS l'AT Sun HP Xenix Description SVID Laboratories MP hsearch
% LocalWords: drand fmtmsg define SOURCE lbsd compat XOPEN version ISOC Large
-% LocalWords: LARGEFILE Support LFS
+% LocalWords: LARGEFILE Support LFS dell'
+
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "gapil"
+%%% End: