\chapter{Introduzione}
+\label{cha:intro_unix}
In questo primo capitolo sarà fatta un'introduzione ai contetti generali su
cui è basato un sistema di tipo unix, per fornire una base di comprensione
il capitolo.
\section{La struttura di un sistema Unix}
-\label{sec:unix_struct}
+\label{sec:intro_unix_struct}
Il concetto base di unix é quello di un nucleo del sistema (il cosiddetto
\textit{kernel}) a cui si demanda la gestione delle risorse essenziali (la
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'' (vedi \ref{cha:process}) deve essere posto in esecuzione (il
-cosidetto \textit{prehemptive scheduling}, e questo verrà comunque eseguito in
-modelità protetta; quando necessario il processo potrà accedere alle risorse
-hardware soltanto attraverso delle opportune chiamate al sistema
-(\textit{system call}) con un'interfaccia ben definita che restituiranno il
-controllo al kernel.
+cosidetto \textit{prehemptive scheduling}), e questo verrà comunque eseguito
+in modelità protetta; quando necessario il processo potrà accedere alle
+risorse hardware soltanto attraverso delle opportune chiamate al sistema
+(\textit{system call}) con un'interfaccia ben definita e standardizzata che
+restituiranno il controllo al kernel.
La memoria viene sempre gestita del kernel attraverso il meccanismo della
memoria virtuale, che consente di assegnare a ciascun processo uno spazio di
Le periferiche infine vengono viste in genere attraverso un'interfaccia
astratta che permette di trattarle come fossero file. secondo il concetto per
-cui \textit{everything is a file}, vedi \ref{sec:file_gen}, (questo non è vero
-per le interfacce di rete, ma resta valido il caoncetto generale che tutto il
-lavoro di accesso e gestione a basso livello è effettuato dal kernel), mentre
-ai programmi vengono fornite solo delle routine di interfacciamento; essendo
-l'argomento principale di cui tratteremo, di esse parleremo in abbondanza nei
-capitoli successivi.
+cui \textit{everything is a file}, vedi \ref{cha:files_intro}, (questo non è
+vero per le interfacce di rete, ma resta valido il concetto generale che tutto
+il lavoro di accesso e gestione a basso livello è effettuato dal kernel),
+mentre ai programmi vengono fornite solo delle routine di interfacciamento;
+essendo l'argomento principale di cui tratteremo, di esse parleremo in
+abbondanza nei capitoli successivi.
\section{User space e kernel space}
dell'utente a cui appartiene ed impedire ad altri utenti di interferire con
esso. Inoltre con questo sistema viene anche garantita una forma base di
sicurezza interna in quanto anche l'accesso ai file (vedi
-\ref{sec:file_perms}) è regolato da questo meccanismo di identificazione.
+\ref{sec:fileintr_access_ctrl}) è regolato da questo meccanismo di
+identificazione.
Un utente speciale del sistema è \textit{root}, il cui uid è zero. Esso
identifica l'amministratore del sistema, che deve essere in grado di fare
qualunque operazione; pertanto per l'utente root i meccanismi di controllo
descritti in precedenza sono disattivati.
+
+
+
+