From 49d0b7fc1091ad4185f5789e5d5b1243cf9115e8 Mon Sep 17 00:00:00 2001
From: Simone Piccardi
Date: Fri, 4 Oct 2002 21:56:11 +0000
Subject: [PATCH] Risistemate, spero le modifiche.
---
html/index.html | 20 +++++----
session.tex | 110 +++++++++++++++++++++++++++---------------------
2 files changed, 73 insertions(+), 57 deletions(-)
diff --git a/html/index.html b/html/index.html
index 57ce4ff..b13be4f 100644
--- a/html/index.html
+++ b/html/index.html
@@ -106,9 +106,10 @@
in lingua italiana.
GaPiL è un tentativo di scrivere un manuale di
- programmazione di sistema per Linux e le GNU libc.
- L'obiettivo è quello di riuscire a produrre una testo
- rilasciato sotto GNU FDL, che
possa servire a chi si accosta per la prima volta alla
programmazione avanzata e di sistema in Linux, con la speranza
@@ -161,19 +162,20 @@
Cap. 10 |
Sessioni e terminali |
- Sessioni abbozzate, terminali da fare |
+ Sessioni complete, da revisionare,
+ terminali da fare |
Cap. 11 |
Gestione avanzata dei file |
- I/O avanzato abbozzato, file locking
- accennato |
+ I/O non bloccante, asincrono, memory
+ mapped complete, da revisionare, file locking da fare |
Cap. 12 |
IPC |
- Pipe e fifo complete, abbozzate code e
- semafori, POSIX IPC da fare |
+ Pipe, fifo e code complete, e
+ semafori iniziati, POSIX IPC da fare |
Cap. 13-14 |
Introduzione alla rete |
@@ -188,7 +190,7 @@
- Versione corrente: 373 pagine.
+ Versione corrente: 377 pagine.
diff --git a/session.tex b/session.tex
index 675334b..f1b009b 100644
--- a/session.tex
+++ b/session.tex
@@ -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,15 +729,15 @@ 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.
- L'argomento è interpretato come una maschera binaria, e pertanto è possibile
- inviare i messaggi su più categorie alla volta; i valori delle costanti che
- identificano ciascuna categoria sono riportati in
- \tabref{tab:sess_syslog_facility}, il valore di \param{facility} deve essere
- specificato con un OR aritmetico.
+L'argomento \param{facility} permette invece di preimpostare per le successive
+chiamate l'omonimo indice che classifica la categoria del messaggio.
+L'argomento è interpretato come una maschera binaria, e pertanto è possibile
+inviare i messaggi su più categorie alla volta; i valori delle costanti che
+identificano ciascuna categoria sono riportati in
+\tabref{tab:sess_syslog_facility}, il valore di \param{facility} deve essere
+specificato con un OR aritmetico.
\begin{table}[htb]
\centering
@@ -762,8 +771,8 @@ impredicibili, per questo
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]
@@ -807,19 +816,19 @@ differenza
restituita da \code{strerror(errno)}. Gli argomenti seguenti i primi due
devono essere forniti secondo quanto richiesto da \func{format}.
- L'argomento \param{priority} permette di impostare sia la \textit{facility}
- che la \textit{priority} del messaggio. In realtà viene prevalentemente usato
- per specificare solo quest'ultima in quanto la prima viene di norma
- preimpostata con \func{openlog}. La priorità è indicata con un valore
- numerico\footnote{le \acr{glibc}, seguendo POSIX.1-2001, prevedono otto
- diverse priorità ordinate da 0 a 7, in ordine di importanza decrescente;
- questo comporta che i tre bit meno significativi dell'argomento
- \param{priority} sono occupati da questo valore, mentre i restanti bit più
- significativi vengono usati per specificare la \textit{facility}.}
- specificabile attraverso le costanti riportate in
- \secref{tab:sess_syslog_priority}. Nel caso si voglia specificare anche la
- \textit{facility} basta eseguire un OR aritmetico del valore della priorità
- con la maschera binaria delle costanti di \tabref{tab:sess_syslog_facility}.
+L'argomento \param{priority} permette di impostare sia la \textit{facility}
+che la \textit{priority} del messaggio. In realtà viene prevalentemente usato
+per specificare solo quest'ultima in quanto la prima viene di norma
+preimpostata con \func{openlog}. La priorità è indicata con un valore
+numerico\footnote{le \acr{glibc}, seguendo POSIX.1-2001, prevedono otto
+ diverse priorità ordinate da 0 a 7, in ordine di importanza decrescente;
+ questo comporta che i tre bit meno significativi dell'argomento
+ \param{priority} sono occupati da questo valore, mentre i restanti bit più
+ significativi vengono usati per specificare la \textit{facility}.}
+specificabile attraverso le costanti riportate in
+\secref{tab:sess_syslog_priority}. Nel caso si voglia specificare anche la
+\textit{facility} basta eseguire un OR aritmetico del valore della priorità
+con la maschera binaria delle costanti di \tabref{tab:sess_syslog_facility}.
\begin{table}[htb]
\centering
@@ -838,15 +847,15 @@ devono essere forniti secondo quanto richiesto da \func{format}.
\macro{LOG\_DEBUG} & Messaggio di debug.\\
\hline
\end{tabular}
- \caption{Valori possibili per l'indice di importanza del messaggio da
+\caption{Valori possibili per l'indice di importanza del messaggio da
specificare nell'argomento \param{priority} di \func{syslog}.}
\label{tab:sess_syslog_priority}
\end{table}
- Una ulteriore funzione, \func{setlogmask}, permette di filtrare
- preliminarmente i messaggi in base alla loro priorità; il suo prototipo è:
+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.
@@ -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.
--
2.30.2