X-Git-Url: https://gapil.gnulinux.it/gitweb/?a=blobdiff_plain;f=session.tex;h=5714ad23d39b11f3d87ca69dc516a11754f1049c;hb=6eef192bfba46e560a014f61f64d37863c1e7c82;hp=f56f969d26b38c257be318d3665ce1c506193d51;hpb=c49e97bdcba8e4da8578d5a048a5764a622aff1e;p=gapil.git diff --git a/session.tex b/session.tex index f56f969..5714ad2 100644 --- a/session.tex +++ b/session.tex @@ -394,8 +394,8 @@ disponendo pi decifrare, ma deve poi leggere la password dal terminale. Un'altra caratteristica del terminale di controllo usata nel job control è che -utilizzando su di esso le combinazioni di tasti speciali (\cmd{C-z}, -\cmd{C-c}, \cmd{C-y} e \verb|C-\|) si farà sì che il kernel invii i +utilizzando su di esso le combinazioni di tasti speciali (\texttt{C-z}, +\texttt{C-c}, \texttt{C-y} e \texttt{C-|}) si farà sì che il kernel invii i corrispondenti segnali (rispettivamente \const{SIGTSTP}, \const{SIGINT}, \const{SIGQUIT} e \const{SIGTERM}, trattati in sez.~\ref{sec:sig_job_control}) a tutti i processi del raggruppamento di \textit{foreground}; in questo modo @@ -692,14 +692,13 @@ standardizzata. Il servizio prevede vari meccanismi di notifica, e, come ogni altro servizio in un sistema unix-like, viene gestito attraverso un apposito programma, \cmd{syslogd}, che è anch'esso un \textsl{demone}. In generale i messaggi di -errore vengono raccolti dal file speciale \file{/dev/log}, un -\textit{socket}\index{socket} locale (vedi sez.~\ref{sec:sock_sa_local}) -dedicato a questo scopo, o via rete, con un \textit{socket} UDP, o da un -apposito demone, \cmd{klogd}, che estrae i messaggi del kernel.\footnote{i - messaggi del kernel sono tenuti in un buffer circolare e scritti tramite la - funzione \func{printk}, analoga alla \func{printf} usata in user space; una - trattazione eccellente dell'argomento si trova in \cite{LinDevDri}, nel - quarto capitolo.} +errore vengono raccolti dal file speciale \file{/dev/log}, un socket locale +(vedi sez.~\ref{sec:sock_sa_local}) dedicato a questo scopo, o via rete, con +un socket UDP, o da un apposito demone, \cmd{klogd}, che estrae i messaggi del +kernel.\footnote{i messaggi del kernel sono tenuti in un buffer circolare e + scritti tramite la funzione \func{printk}, analoga alla \func{printf} usata + in user space; una trattazione eccellente dell'argomento 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}, suddivide in @@ -727,8 +726,8 @@ dettagli si possono trovare sulle pagine di manuale per questo file e per Le \acr{glibc} definiscono una serie di funzioni standard con cui un processo 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\index{socket} UDP, o -utilizzare le capacità di reinvio del servizio. +sistema occorre farlo esplicitamente con un socket UDP, o utilizzare le +capacità di reinvio del servizio. La prima funzione definita dall'interfaccia è \funcd{openlog}, che apre una connessione al servizio di \textit{syslog}; essa in generale non è necessaria @@ -1098,6 +1097,7 @@ ulteriori informazioni.\footnote{la definizione della struttura si trova in l'esempio di BSD, aggiunge i due campi \var{c\_ispeed} e \var{c\_ospeed} per mantenere le velocità delle linee seriali, ed un campo ulteriore, \var{c\_line} per ... (NdT, trovare a che serve).} +% TODO trovare a che serve \begin{figure}[!htb] \footnotesize \centering @@ -1119,7 +1119,7 @@ modificare i bit su cui non si interviene. \begin{table}[b!ht] \footnotesize \centering - \begin{tabular}[c]{|l|p{11cm}|} + \begin{tabular}[c]{|l|p{10cm}|} \hline \textbf{Valore}& \textbf{Significato}\\ \hline @@ -1212,7 +1212,7 @@ pseudo-terminali usati nelle connessioni di rete. \begin{table}[htb] \footnotesize \centering - \begin{tabular}[c]{|l|p{11cm}|} + \begin{tabular}[c]{|l|p{10cm}|} \hline \textbf{Valore}& \textbf{Significato}\\ \hline @@ -1292,7 +1292,7 @@ valore. \begin{table}[htb] \footnotesize \centering - \begin{tabular}[c]{|l|p{11cm}|} + \begin{tabular}[c]{|l|p{10cm}|} \hline \textbf{Valore}& \textbf{Significato}\\ \hline @@ -1304,6 +1304,7 @@ valore. \const{O\_NOBLOCK} si bloccherà il processo finché non si è stabilita una connessione con il modem; inoltre se viene rilevata una disconnessione viene inviato un + segnale di \const{SIGHUP} al processo di controllo del terminale. La lettura su un terminale sconnesso comporta una condizione di \textit{end of file} e la scrittura un errore di @@ -1374,7 +1375,7 @@ fig.~\ref{fig:term_termios}). \begin{table}[b!ht] \footnotesize \centering - \begin{tabular}[c]{|l|p{11cm}|} + \begin{tabular}[c]{|l|p{10cm}|} \hline \textbf{Valore}& \textbf{Significato}\\ \hline @@ -1392,15 +1393,15 @@ fig.~\ref{fig:term_termios}). \const{ECHOPRT}& Se impostato abilita la visualizzazione del carattere di cancellazione in una modalità adatta ai terminali con l'uscita su stampante; l'invio del carattere di ERASE - comporta la stampa di un \verb|\| seguito dal carattere - cancellato, e così via in caso di successive + comporta la stampa di un ``\texttt{|}'' seguito dal + carattere cancellato, e così via in caso di successive cancellazioni, quando si riprende ad immettere carattere - normali prima verrà stampata una \texttt{/}.\\ + normali prima verrà stampata una ``\texttt{/}''.\\ \const{ECHOK} & Se impostato abilita il trattamento della visualizzazione del carattere KILL, andando a capo dopo aver visualizzato lo stesso, altrimenti viene solo mostrato il carattere e sta all'utente ricordare che l'input precedente è stato - cancellato. \\ + cancellato.\\ \const{ECHOKE} & Se impostato abilita il trattamento della visualizzazione del carattere KILL cancellando i caratteri precedenti nella linea secondo le modalità specificate dai valori di @@ -1410,8 +1411,8 @@ fig.~\ref{fig:term_termios}). \const{ECHO}. \\ \const{ECHOCTL}& Se impostato insieme ad \const{ECHO} i caratteri di controllo ASCII (tranne TAB, NL, START, e STOP) sono - mostrati nella forma che prepone un \verb|^| alla - lettera ottenuta sommando \texttt{0x40} al valore del + mostrati nella forma che prepone un ``\texttt{\circonf}'' + alla lettera ottenuta sommando \texttt{0x40} al valore del carattere (di solito questi si possono ottenere anche direttamente premendo il tasto \texttt{ctrl} più la relativa lettera).\\ @@ -1429,9 +1430,9 @@ fig.~\ref{fig:term_termios}). background che cerca di scrivere sul terminale.\\ \const{XCASE} & Se impostato il terminale funziona solo con le maiuscole. L'input è convertito in minuscole tranne per i - caratteri preceduti da una \verb|\|. In output le - maiuscole sono precedute da una \verb|\| e le minuscole - convertite in maiuscole.\\ + caratteri preceduti da una ``\texttt{\bslash}''. In output + le maiuscole sono precedute da una ``\texttt{\bslash}'' e + le minuscole convertite in maiuscole.\\ \const{DEFECHO}& Se impostato effettua l'eco solo se c'è un processo in lettura.\\ \const{FLUSHO} & Effettua la cancellazione della coda di uscita. Viene @@ -1475,23 +1476,23 @@ altri.\footnote{in Linux il valore della costante \begin{table}[htb] \footnotesize \centering - \begin{tabular}[c]{|l|c|c|p{8cm}|} + \begin{tabular}[c]{|l|c|c|p{7cm}|} \hline \textbf{Indice} & \textbf{Valore}&\textbf{Codice} & \textbf{Funzione}\\ \hline \hline - \const{VINTR} &\texttt{0x03}&(\verb|C-c|)& Carattere di interrupt, + \const{VINTR} &\texttt{0x03}&(\texttt{C-c})& Carattere di interrupt, provoca l'emissione di \const{SIGINT}. \\ - \const{VQUIT} &\texttt{0x1C}&(\verb|C-\|)& Carattere di uscita provoca + \const{VQUIT} &\texttt{0x1C}&(\texttt{C-|})& Carattere di uscita provoca l'emissione di \const{SIGQUIT}.\\ - \const{VERASE} &\texttt{0x7f}& DEL & Carattere di ERASE, cancella - l'ultimo carattere precedente - nella linea.\\ - \const{VKILL} &\texttt{0x15}&(\verb|C-u|)& Carattere di KILL, cancella + \const{VERASE}&\texttt{0x7f}& DEL & Carattere di ERASE, cancella + l'ultimo carattere + precedente nella linea.\\ + \const{VKILL} &\texttt{0x15}&(\texttt{C-u})& Carattere di KILL, cancella l'intera riga.\\ - \const{VEOF} &\texttt{0x04}&(\verb|C-d|)& Carattere di + \const{VEOF} &\texttt{0x04}&(\texttt{C-d})& Carattere di \textit{end-of-file}. Causa l'invio del contenuto del buffer di ingresso al @@ -1503,38 +1504,39 @@ altri.\footnote{in Linux il valore della costante zero caratteri, cioè la condizione di \textit{end-of-file}.\\ - \const{VTIME} & --- & --- & Timeout, in decimi di secondo, per - una lettura in modo non canonico. \\ - \const{VMIN} & --- & --- & Numero minimo di caratteri per una - lettura in modo non canonico.\\ - \const{VSWTC} &\texttt{0x00}& NUL & Carattere di switch. Non supportato - in Linux.\\ - \const{VSTART} &\texttt{0x21}&(\verb|C-q|)& Carattere di START. Riavvia un + \const{VTIME} & --- & --- & Timeout, in decimi di secondo, per + una lettura in modo non canonico.\\ + \const{VMIN} & --- & --- & Numero minimo di caratteri per una + lettura in modo non canonico.\\ + \const{VSWTC} &\texttt{0x00}& NUL & Carattere di switch. Non supportato + in Linux.\\ + \const{VSTART}&\texttt{0x21}&(\texttt{C-q})& Carattere di START. Riavvia un output bloccato da uno STOP.\\ - \const{VSTOP} &\texttt{0x23}&(\verb|C-s|)& Carattere di STOP. Blocca + \const{VSTOP} &\texttt{0x23}&(\texttt{C-s})& Carattere di STOP. Blocca l'output fintanto che non viene premuto un carattere di START.\\ - \const{VSUSP} &\texttt{0x1A}&(\verb|C-z|)& Carattere di + \const{VSUSP} &\texttt{0x1A}&(\texttt{C-z})& Carattere di sospensione. Invia il segnale \const{SIGTSTP}.\\ - \const{VEOL} &\texttt{0x00}& NUL & Carattere di fine riga. Agisce come - un a capo, ma non viene scartato ed - è letto come l'ultimo carattere - nella riga. \\ - \const{VREPRINT}&\texttt{0x12}&(\verb|C-r|)& Ristampa i caratteri non + \const{VEOL} &\texttt{0x00}& NUL & Carattere di fine riga. Agisce come + un a capo, ma non viene scartato ed + è letto come l'ultimo carattere + nella riga. \\ + \const{VREPRINT}&\texttt{0x12}&(\texttt{C-r})& Ristampa i caratteri non ancora letti. \\ - \const{VDISCARD}&\texttt{0x07}&(\verb|C-o|)& Non riconosciuto in Linux. \\ - \const{VWERASE} &\texttt{0x17}&(\verb|C-w|)& Cancellazione di una parola.\\ - \const{VLNEXT} &\texttt{0x16}&(\verb|C-v|)& Carattere di escape, serve a + \const{VDISCARD}&\texttt{0x07}&(\texttt{C-o})& Non riconosciuto in Linux.\\ + \const{VWERASE}&\texttt{0x17}&(\texttt{C-w})&Cancellazione di una + parola.\\ + \const{VLNEXT}&\texttt{0x16}&(\texttt{C-v})& Carattere di escape, serve a quotare il carattere successivo che non viene interpretato ma passato direttamente all'output. \\ - \const{VEOL2} &\texttt{0x00}& NUL & Ulteriore carattere di fine - riga. Ha lo stesso effetto di - \const{VEOL} ma può essere un - carattere diverso. \\ + \const{VEOL2} &\texttt{0x00}& NUL & Ulteriore carattere di fine + riga. Ha lo stesso effetto di + \const{VEOL} ma può essere un + carattere diverso. \\ \hline \end{tabular} \caption{Valori dei caratteri di controllo mantenuti nel campo \var{c\_cc} @@ -1732,20 +1734,15 @@ altre versioni di librerie possono utilizzare dei valori diversi; per questo POSIX.1 prevede una serie di costanti che però servono solo per specificare le velocità tipiche delle linee seriali: \begin{verbatim} - B0 B50 B75 - B110 B134 B150 - B200 B300 B600 - B1200 B1800 B2400 - B4800 B9600 B19200 - B38400 B57600 B115200 - B230400 B460800 + B0 B50 B75 B110 B134 B150 B200 + B300 B600 B1200 B1800 B2400 B4800 B9600 + B19200 B38400 B57600 B115200 B230400 B460800 \end{verbatim} Un terminale può utilizzare solo alcune delle velocità possibili, le funzioni però non controllano se il valore specificato è valido, dato che non possono sapere a quale terminale le velocità saranno applicate; sarà l'esecuzione di \func{tcsetattr} a fallire quando si cercherà di eseguire l'impostazione. - Di norma il valore ha senso solo per i terminali seriali dove indica appunto la velocità della linea di trasmissione; se questa non corrisponde a quella del terminale quest'ultimo non potrà funzionare: quando il terminale non è