X-Git-Url: https://gapil.gnulinux.it/gitweb/?a=blobdiff_plain;f=session.tex;h=12e2beb75609fbb9efef29d26349c946f8215545;hb=f8766706e9000d5de140b1670aebc6a76cf9f02d;hp=ced82eb6ab11a0825d4ed10411cedfb3be5dd7ea;hpb=ffb12837c5ed8ccc095bc9c88349cd19b5e6b472;p=gapil.git diff --git a/session.tex b/session.tex index ced82eb..12e2beb 100644 --- a/session.tex +++ b/session.tex @@ -507,7 +507,7 @@ connessione di rete. Dato che i concetti base sono gli stessi, e dato che alla fine le differenze sono\footnote{in generale nel caso di login via rete o di terminali lanciati dall'interfaccia grafica cambia anche il processo da cui ha origine l'esecuzione della shell.} nel dispositivo cui il kernel associa -i file standard (vedi sez.~\ref{sec:file_std_descr}) per l'I/O, tratteremo +i file standard (vedi tab.~\ref{tab:file_std_files}) per l'I/O, tratteremo solo il caso classico del terminale. Abbiamo già brevemente illustrato in sez.~\ref{sec:intro_kern_and_sys} le @@ -570,7 +570,7 @@ inoltre effettuerà, qualora servano, ulteriori impostazioni.\footnote{ad poi porsi in attesa dell'immissione del nome di un utente. Una volta che si sia immesso il nome di login \cmd{getty} esegue direttamente -il programma \cmd{login} con una \func{exevle}, passando come argomento la +il programma \cmd{login} con una \func{execle}, passando come argomento la stringa con il nome, ed un ambiente opportunamente costruito che contenga quanto necessario; ad esempio di solito viene opportunamente inizializzata la variabile di ambiente \envvar{TERM} per identificare il terminale su cui si @@ -608,10 +608,10 @@ funzioni con i privilegi di amministratore, tutti gli \ids{UID} ed i \ids{GID} A questo punto \cmd{login} provvederà (fatte salve eventuali altre azioni iniziali, come la stampa di messaggi di benvenuto o il controllo della posta) ad eseguire con un'altra \func{exec} la shell, che si troverà con un ambiente -già pronto con i file standard di sez.~\ref{sec:file_std_descr} impostati sul +già pronto con i file standard di tab.~\ref{tab:file_std_files} impostati sul terminale, e pronta, nel ruolo di leader di sessione e di processo di controllo per il terminale, a gestire l'esecuzione dei comandi come illustrato -in sez.~\ref{sec:sess_job_control_overview}. +in sez.~\ref{sec:sess_job_control_overview}. Dato che il processo padre resta sempre \cmd{init} quest'ultimo potrà provvedere, ricevendo un \signal{SIGCHLD} all'uscita della shell quando la @@ -980,7 +980,7 @@ tab.~\ref{tab:sess_syslog_facility}, uno dei possibili utenti del servizio del \textit{syslog} è anche il kernel, che a sua volta può avere necessità di inviare messaggi verso l'\textit{user space}. I messaggi del kernel sono mantenuti in un apposito buffer circolare e generati all'interno del kernel -tramite la funzione \func{printk}, analoga alla \func{printf} usata in +tramite la funzione \texttt{printk}, analoga alla \func{printf} usata in \textit{user space}.\footnote{una trattazione eccellente dell'argomento si trova nel quarto capitolo di \cite{LinDevDri}.} @@ -1004,13 +1004,13 @@ sono riportati in fig.~\ref{fig:printk_priority} \label{fig:printk_priority} \end{figure} -Dato che i messaggi generati da \func{printk} hanno un loro specifico formato -tradizionalmente si usava un demone ausiliario, \cmd{klogd}, per leggerli, -rimappare le priorità sui valori di tab.~\ref{tab:sess_syslog_priority} e -inviarli al sistema del \textit{syslog} nella facility \const{LOG\_KERN}. -Oggi i nuovi demoni più avanzati che realizzano il servizio (come -\texttt{rsyslog} o \texttt{syslog-ng}) sono in grado di fare tutto questo da -soli. +Dato che i messaggi generati da \texttt{printk} hanno un loro specifico +formato tradizionalmente si usava un demone ausiliario, \cmd{klogd}, per +leggerli, rimappare le priorità sui valori di +tab.~\ref{tab:sess_syslog_priority} e inviarli al sistema del \textit{syslog} +nella facility \const{LOG\_KERN}. Oggi i nuovi demoni più avanzati che +realizzano il servizio (come \texttt{rsyslog} o \texttt{syslog-ng}) sono in +grado di fare tutto questo da soli. Ma i messaggi del kernel non sono necessariamente connessi al sistema del \textit{syslog}; ad esempio possono anche essere letti direttamente dal buffer @@ -1057,7 +1057,7 @@ Gestisce i messaggi di log del kernel. \item[\errcode{ERESTARTSYS}] l'operazione è stata interrotta da un segnale. \item[\errcode{EPERM}] non si hanno i privilegi richiesti per l'operazione richiesta. - \item[\errcode{ENOSYS}] il supporto per \func{printk} non è stato compilato + \item[\errcode{ENOSYS}] il supporto per \texttt{printk} non è stato compilato nel kernel. \end{errlist} ed inoltre \errval{EBADF} ed \errval{ENOSYS}. @@ -1380,10 +1380,10 @@ deve essere di almeno \const{L\_ctermid}\footnote{\const{L\_ctermid} è una sez.~\ref{sec:sys_characteristics} che indica la dimensione che deve avere una stringa per poter contenere il nome di un terminale.} caratteri. -Si tenga presente che il \itindex{pathname} \textit{pathname} restituito dalla -funzione potrebbe non identificare univocamente il terminale (ad esempio -potrebbe essere \file{/dev/tty}), inoltre non è detto che il processo possa -effettivamente essere in grado di aprire il terminale. +Si tenga presente che il \textit{pathname} restituito dalla funzione potrebbe +non identificare univocamente il terminale (ad esempio potrebbe essere +\file{/dev/tty}), inoltre non è detto che il processo possa effettivamente +essere in grado di aprire il terminale. I vari attributi associati ad un terminale vengono mantenuti per ciascuno di essi in una struttura \struct{termios} che viene usata dalle varie funzioni @@ -2382,7 +2382,7 @@ Qui vanno le cose su \func{openpty} e compagnia. % LocalWords: NOCTTY TIOCSCTTY error tcsetpgrp termios fd pgrpid descriptor VT % LocalWords: ENOTTY ENOSYS EBADF SIGTTIN SIGTTOU EIO tcgetpgrp crypt SIGTSTP % LocalWords: SIGINT SIGQUIT SIGTERM SIGHUP hungup kill orphaned SIGCONT exit -% LocalWords: init Slackware run level inittab fig device getty exevle TERM at +% LocalWords: init Slackware run level inittab fig device getty TERM at % LocalWords: getpwnam chdir home chown chmod setuid setgid initgroups SIGCHLD % LocalWords: daemon like daemons NdT Stevens Programming FAQ filesystem umask % LocalWords: noclose syslog syslogd socket UDP klogd printk printf facility