X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=intro.tex;h=471eada313d6a3b91e2c8aa2eacb9169f4acf189;hp=3908ff1912c86c6aed9c74dc3bb9fe22d8dc8f46;hb=efd164169524125422cf9bb80ff70a0b037886a0;hpb=3d44c36183fe67ed64bff95a36596ad87f620683 diff --git a/intro.tex b/intro.tex index 3908ff1..471eada 100644 --- a/intro.tex +++ b/intro.tex @@ -1,4 +1,5 @@ \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 @@ -10,7 +11,7 @@ Chi avesse gi 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 @@ -43,12 +44,12 @@ 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'' (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. +``processo'' (vedi Cap.~\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 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 @@ -59,12 +60,12 @@ necessario le pagine di memoria in eccedenza. 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 Cap.~\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} @@ -75,8 +76,8 @@ essenziale fra il cosiddetto \textit{user space}, che contraddistingue l'ambiente in cui vengono eseguiti i programmi, e il \textit{kernel space} che é l'ambiente in cui viene eseguito il kernel. Ogni programma gira come se avesse la piena disponibilità della macchina e della memoria ed è, salvo i -meccanismi di comunicazione previsti dall'architettura (che esamineremo in -\ref{cha:IPC}) completamente ignaro del fatto che altri programmi possono +meccanismi di comunicazione previsti dall'architettura (che esamineremo nel +Cap.~\ref{cha:IPC}) completamente ignaro del fatto che altri programmi possono essere messi in esecuzione dal kernel. In questo non è possibile ad un singolo programma disturbare l'azione di un @@ -192,9 +193,14 @@ In questo modo il sistema 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. +Sez.~\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. + + + +