Risistemate, spero le modifiche.
[gapil.git] / session.tex
index 35ed018b848fdee76abe69346555042ea3390553..f1b009b2a8f312f82d87c37707b4303d06d98697 100644 (file)
@@ -1,13 +1,18 @@
- \chapter{Sessioni di lavoro e terminali}
+\chapter{Terminali e sessioni di lavoro}
 \label{cha:session}
 
-Esamineremo in questo capitolo i concetti base del sistema delle sessioni di
-lavoro, vale a dire il metodo con cui il kernel gestisce l'accesso concorrente
-al sistema da parte di più utenti, permettendo loro di eseguire più programmi
-in contemporanea.  Nella seconda parte del capitolo tratteremo poi il
-funzionamento dell'I/O su terminale, e delle varie peculiarità che esso viene
-ad assumere a causa del suo stretto legame con le modalità di accesso al
-sistema da parte degli utenti.
+I terminali per lungo tempo tempo sono stati l'unico modo per accedere al
+sistema, per questo anche oggi che esistono molte altre interfacce, essi
+continuano a coprire un ruolo particolare, restando strettamente legati al
+funzionamento dell'interfaccia a linea di comando.
+
+Mella prima parte del capitolo esamineremo i concetti base del sistema delle
+sessioni di lavoro, vale a dire il metodo con cui il kernel permette ad un
+utente di gestire le capacità multitiasking del sistema, permettendo di
+eseguire più programmi in contemporanea.  Nella seconda parte del capitolo
+tratteremo poi il funzionamento dell'I/O su terminale, e delle varie
+peculiarità che esso viene ad assumere a causa del suo stretto legame con il
+suo uso come interfaccia di accesso al sistema da parte degli utenti.
 
 
 \section{Il \textit{job control}}
@@ -678,12 +683,16 @@ messaggi del kernel.\footnote{i messaggi del kernel sono tenuti in un buffer
   si trova in \cite{LinDevDri}, nel quarto capitolo.}
 
 Il servizio permette poi di trattare i vari messaggi classificandoli
-attraverso due indici; il primo, chiamato \textit{facility}, indica quale
-categoria di demone ha emesso il messaggio, ed è organizzato in sottosistemi
-(kernel, posta elettronica, demoni di stampa, ecc.), il secondo, chiamato
-\textit{priority}, identifica l'importanza del messaggio. Il sistema di
-\textit{syslog} provvede poi a riportare i messaggi all'amministratore
-attraverso differenti meccanismi come:
+attraverso due indici; il primo, chiamato \textit{facility}, suddivide in
+diverse categorie i vari demoni in modo di raggruppare i messaggi provenienti
+da operazioni che hanno attinenza fra loro, ed è organizzato in sottosistemi
+(kernel, posta elettronica, demoni di stampa, ecc.). Il secondo, chiamato
+\textit{priority}, identifica l'importanza dei vari messaggi, e permette di
+classificarli e differenziare le modalità di notifica degli stessi.
+
+Il sistema di \textit{syslog} attraverso \cmd{syslogd} provvede poi a
+riportare i messaggi all'amministratore attraverso una serie differenti
+meccanismi come:
 \begin{itemize*}
 \item scrivere sulla console.
 \item inviare via mail ad uno specifico utente.
@@ -697,10 +706,10 @@ dettagli si possono trovare sulle pagine di manuale per questo file e per
 \cmd{syslogd}).
 
 Le \acr{glibc} definiscono una serie di funzioni standard con cui un processo
-può accedere in maniera generica al servizio di syslog, che però funzionano
-solo localmente; se si vogliono inviare i messaggi ad un'altro sistema occorre
-farlo esplicitamente con un socket UDP, o utilizzare le capacità di reinvio
-del servizio.
+può accedere in maniera generica al servizio di \textit{syslog}, che però
+funzionano solo localmente; se si vogliono inviare i messaggi ad un'altro
+sistema occorre farlo esplicitamente con un socket UDP, o utilizzare le
+capacità di reinvio del servizio.
 
 La prima funzione definita dall'interfaccia è \func{openlog}, che apre una
 connessione al servizio di \textit{syslog}; essa in generale non è necessaria
@@ -720,7 +729,7 @@ specificato da \code{argv[0]}); la stringa verr
 messaggio. Si tenga presente che il valore di \param{ident} che si passa alla
 funzione è un puntatore, se la stringa cui punta viene cambiata lo sarà pure
 nei successivi messaggi, e se viene cancellata i risultati potranno essere
-impredicibili, per questo è sempre opportuno usare una stringa costante.
+impredicibili, per questo è sempre opportuno usare una stringa costante. 
 
 L'argomento \param{facility} permette invece di preimpostare per le successive
 chiamate l'omonimo indice che classifica la categoria del messaggio.
@@ -762,8 +771,8 @@ specificato con un OR aritmetico.
 
 L'argomento \param{option} serve invece per controllare il comportamento della
 funzione \func{openlog} e delle modalità con cui le successive chiamate
-scriveranno i messaggi, anch'esso viene specificato come maschera binaria
-composta con un OR aritmetico di una qualunque delle costanti riportate in
+scriveranno i messaggi, esso viene specificato come maschera binaria composta
+con un OR aritmetico di una qualunque delle costanti riportate in
 \tabref{tab:sess_openlog_option}.
 
 \begin{table}[htb]
@@ -846,19 +855,19 @@ con la maschera binaria delle costanti di \tabref{tab:sess_syslog_facility}.
 Una ulteriore funzione, \func{setlogmask}, permette di filtrare
 preliminarmente i messaggi in base alla loro priorità; il suo prototipo è:
 \begin{prototype}{syslog.h}
-  {int setlogmask(int mask)}
+{int setlogmask(int mask)}
 
 Imposta la maschera dei log al valore specificato.
 
 \bodydesc{La funzione restituisce il precedente valore.}
 \end{prototype}
 
-Le routine di gestione mantengono per ogni processo una maschera che determina
-quale delle chiamate effettuate a \func{syslog} verrà effettivamente
-registrata. La registrazione viene disabilitata per tutte quelle priorità che
-non rientrano nella maschera; questa viene settata usando la macro
-\code{LOG\_MASK(p)} dove \code{p} è una delle costanti di
-\secref{tab:sess_syslog_priority}. É disponibile anche la macro
+Le routine di gestione mantengono per ogni processo una maschera che
+determina quale delle chiamate effettuate a \func{syslog} verrà
+effettivamente registrata. La registrazione viene disabilitata per tutte
+quelle priorità che non rientrano nella maschera; questa viene settata
+usando la macro \code{LOG\_MASK(p)} dove \code{p} è una delle costanti di
+\secref{tab:sess_syslog_priority}. É inoltre disponibile anche la macro
 \code{LOG\_UPTO(p)} che permette di specificare automaticamente tutte le
 priorità fino ad un certo valore.
 
@@ -867,9 +876,14 @@ priorit
 \section{L'I/O su terminale}
 \label{sec:sess_terminal_io}
 
-Esamineremo in questa sezione le peculiarità dell'I/O eseguito sui terminali,
-tenendo conto delle differenze che quest'ultimi presentano rispetto ai normali
-file su disco.
+Benché come ogni altro dispositivo i terminali siano accessibili come file,
+essi hanno assunto storicamente (essendo stati a lungo l'unico modo di
+accedere al sistema) una loro rilevanza specifica, che abbiamo già avuto modo
+di incontrare nella precedente sezione.
+
+Esamineremo qui le peculiarità dell'I/O eseguito sui terminali, che per la
+loro particolare natura presenta delle differenze rispetto ai normali file su
+disco e agli altri dispositivi.