X-Git-Url: https://gapil.gnulinux.it/gitweb/?a=blobdiff_plain;f=session.tex;h=ae8322ece30f1d68dbabfcd79af209315267939a;hb=3ad06e8129067dccfa3fad74e7cf6c051231d150;hp=8ac200a998ce4ba7ba31c8550be7ce4f77ebf5d2;hpb=66e83c068629844f84fe4a0d44b382f756c9ef32;p=gapil.git diff --git a/session.tex b/session.tex index 8ac200a..ae8322e 100644 --- a/session.tex +++ b/session.tex @@ -60,11 +60,11 @@ sez.~\ref{sec:sess_login}). Siccome la shell è collegata ad un solo terminale, che viene usualmente chiamato \textsl{terminale di controllo}, (vedi sez.~\ref{sec:sess_ctrl_term}) -un solo comando alla volta (quello che viene detto in \textit{foreground}), -potrà scrivere e leggere dal terminale. La shell però può eseguire anche più -comandi in contemporanea, mandandoli in \textit{background} (aggiungendo una -\cmd{\&} alla fine del comando), nel qual caso essi saranno eseguiti senza -essere collegati al terminale. +un solo comando alla volta (quello che viene detto in \textit{foreground} o in +\textsl{primo piano}), potrà scrivere e leggere dal terminale. La shell però +può eseguire, aggiungendo una \cmd{\&} alla fine del comando, più programmi in +contemporanea, mandandoli in \textit{background} (o \textsl{sullo sfondo}), +nel qual caso essi saranno eseguiti senza essere collegati al terminale. Si noti come si sia parlato di comandi e non di programmi o processi; fra le funzionalità della shell infatti c'è anche quella di consentire di concatenare @@ -292,7 +292,7 @@ dal quale ricevono gli eventuali segnali da tastiera. A tale scopo lo standard POSIX.1 prevede che ad ogni sessione possa essere associato un terminale di controllo; in Linux questo viene realizzato mantenendo fra gli attributi di ciascun processo anche qual'è il suo terminale -di controllo. \footnote{Lo standard POSIX.1 non specifica nulla riguardo +di controllo.\footnote{Lo standard POSIX.1 non specifica nulla riguardo l'implementazione; in Linux anch'esso viene mantenuto nella solita struttura \struct{task\_struct}, nel campo \var{tty}.} In generale ogni processo eredita dal padre, insieme al \acr{pgid} e al \acr{sid} anche il terminale di @@ -358,7 +358,7 @@ condizioni di errore.\footnote{la shell in genere notifica comunque un \func{waitpid}.} Se però si bloccano o ignorano i due segnali citati, le funzioni di lettura e scrittura falliranno con un errore di \errcode{EIO}. -Un processo può controllare qual'è il gruppo di \textit{foreground} associato +Un processo può controllare qual è il gruppo di \textit{foreground} associato ad un terminale con la funzione \funcd{tcgetpgrp}, il cui prototipo è: \begin{functions} \headdecl{unistd.h} \headdecl{termios.h} @@ -964,7 +964,7 @@ bufferizzazione\footnote{completamente indipendente dalla eventuale ulteriore kernel. \begin{figure}[htb] - \centering \includegraphics[width=13cm]{img/term_struct} + \centering \includegraphics[width=14.5cm]{img/term_struct} \caption{Struttura interna generica di un driver per un terminale.} \label{fig:term_struct} \end{figure} @@ -980,7 +980,7 @@ massime vengono persi; in alcuni casi il driver provvede ad inviare automaticamente un avviso (un carattere di BELL, che provoca un beep) sull'output quando si eccedono le dimensioni della coda. Se è abilitato il modo canonico i caratteri in ingresso restano nella coda fintanto che non -viene ricevuto un a capo; un'altra parametro del sistema, \const{MAX\_CANON}, +viene ricevuto un a capo; un'altro parametro del sistema, \const{MAX\_CANON}, specifica la dimensione massima di una riga in modo canonico. La coda di uscita è analoga a quella di ingresso e contiene i caratteri