From d0d95bf3d4280c9b638c41b7d45e9877fb812119 Mon Sep 17 00:00:00 2001 From: Simone Piccardi Date: Sun, 2 Apr 2006 13:57:17 +0000 Subject: [PATCH] Altre indicizzazioni, e correzione delle parole. --- prochand.tex | 38 ++++++++++++++++++++++---------------- signal.tex | 16 ++++++++-------- 2 files changed, 30 insertions(+), 24 deletions(-) diff --git a/prochand.tex b/prochand.tex index 6a4b923..5048c7d 100644 --- a/prochand.tex +++ b/prochand.tex @@ -143,10 +143,10 @@ fig.~\ref{fig:proc_task_struct}. \label{fig:proc_task_struct} \end{figure} -Come accennato in sez.~\ref{sec:intro_unix_struct} è lo -\textit{scheduler}\itindex{scheduler} che decide quale processo mettere in -esecuzione; esso viene eseguito ad ogni system call ed ad ogni -interrupt,\footnote{più in una serie di altre occasioni.} +Come accennato in sez.~\ref{sec:intro_unix_struct} è lo \textit{scheduler} +\itindex{scheduler} che decide quale processo mettere in esecuzione; esso +viene eseguito ad ogni system call ed ad ogni interrupt,\footnote{più in una + serie di altre occasioni.} % TODO completare questa parte. (ma può essere anche attivato esplicitamente). Il timer di sistema provvede comunque a che esso sia invocato periodicamente, generando un interrupt @@ -159,7 +159,7 @@ in \file{asm/param.h}, ed il cui valore % TODO verificare gli ultimi cambiamenti del 2.6 % Si ha cioè un interrupt dal timer ogni centesimo di secondo. -Ogni volta che viene eseguito, lo \textit{scheduler}\itindex{scheduler} +Ogni volta che viene eseguito, lo \textit{scheduler} \itindex{scheduler} effettua il calcolo delle priorità dei vari processi attivi (torneremo su questo in sez.~\ref{sec:proc_priority}) e stabilisce quale di essi debba essere posto in esecuzione fino alla successiva invocazione. @@ -1269,8 +1269,8 @@ condivise, viene lanciato il \textit{linker} dinamico \cmd{/lib/ld.so} prima del programma per caricare le librerie necessarie ed effettuare il link dell'eseguibile. Se il programma è in formato ELF per caricare le librerie dinamiche viene usato l'interprete indicato nel segmento \const{PT\_INTERP}, -in genere questo è \file{/lib/ld-linux.so.1} per programmi linkati con le -\acr{libc5}, e \file{/lib/ld-linux.so.2} per programmi linkati con le +in genere questo è \file{/lib/ld-linux.so.1} per programmi collegati con le +\acr{libc5}, e \file{/lib/ld-linux.so.2} per programmi collegati con le \acr{glibc}. Infine nel caso il file sia uno script esso deve iniziare con una linea nella @@ -3417,7 +3417,7 @@ multi-thread, ma si hanno gli stessi problemi quando si vogliono chiamare delle funzioni all'interno dei gestori dei segnali. Fintanto che una funzione opera soltanto con le variabili locali è rientrante; -queste infatti vengono allocate nello \itindex{stack} stack, e un'altra +queste infatti vengono allocate nello \itindex{stack} stack, ed un'altra invocazione non fa altro che allocarne un'altra copia. Una funzione può non essere rientrante quando opera su memoria che non è nello \itindex{stack} stack. Ad esempio una funzione non è mai rientrante se usa una variabile @@ -3441,7 +3441,6 @@ varie funzioni di libreria, che sono identificate aggiungendo il suffisso \code{\_r} al nome della versione normale. - %%% Local Variables: %%% mode: latex %%% TeX-master: "gapil" @@ -3451,7 +3450,7 @@ varie funzioni di libreria, che sono identificate aggiungendo il suffisso % LocalWords: parent kernel init pstree keventd kswapd table struct linux call % LocalWords: nell'header scheduler system interrupt timer HZ asm Hertz clock % LocalWords: l'alpha tick fork wait waitpid exit exec image glibc int pgid ps -% LocalWords: sid threads thread Ingo Molnar ppid getpid getppid sys unistd +% LocalWords: sid threads thread Ingo Molnar ppid getpid getppid sys unistd LD % LocalWords: void ForkTest tempnam pathname sibling cap errno EAGAIN ENOMEM % LocalWords: stack read only copy write tab client spawn forktest sleep PATH % LocalWords: source LIBRARY scheduling race condition printf descriptor dup @@ -3470,16 +3469,23 @@ varie funzioni di libreria, che sono identificate aggiungendo il suffisso % LocalWords: setreuid setregid FIXME ruid rgid seteuid setegid setresuid size % LocalWords: setresgid getresuid getresgid value result argument setfsuid DAC % LocalWords: setfsgid NGROUPS sysconf getgroups getgrouplist groups ngroups -% LocalWords: setgroups initgroups patch LIDS CHOWN OVERRIDE Discrectionary +% LocalWords: setgroups initgroups patch LIDS CHOWN OVERRIDE Discrectionary PF % LocalWords: SEARCH chattr sticky NOATIME socket domain immutable append mmap % LocalWords: broadcast multicast multicasting memory locking mlock mlockall % LocalWords: shmctl ioperm iopl chroot ptrace accounting swap reboot hangup % LocalWords: vhangup mknod lease permitted inherited inheritable bounding AND -% LocalWords: capability capget capset header ESRCH undef version obj clear +% LocalWords: capability capget capset header ESRCH undef version obj clear PT % LocalWords: pag ssize length proc capgetp prehemptive cache runnable Stopped -% LocalWords: Uninterrutible SIGSTOP soft slice nice niceness counter which +% LocalWords: Uninterrutible SIGSTOP soft slice nice niceness counter which SC % LocalWords: getpriority who setpriority RTLinux RTAI Adeos fault FIFO First -% LocalWords: yield Robin setscheduler policy param OTHER priority setparam +% LocalWords: yield Robin setscheduler policy param OTHER priority setparam to % LocalWords: min getparam getscheduler interval robin ENOSYS fifo ping long -% LocalWords: affinity setaffinity unsigned mask cpu NUMA CLR ISSET SETSIZE -% LocalWords: getaffinity assembler deadlock REENTRANT SAFE +% LocalWords: affinity setaffinity unsigned mask cpu NUMA CLR ISSET SETSIZE RR +% LocalWords: getaffinity assembler deadlock REENTRANT SAFE tgz MYPGRP l'OR rr +% LocalWords: WIFEXITED WEXITSTATUS WIFSIGNALED WTERMSIG WCOREDUMP WIFSTOPPED +% LocalWords: WSTOPSIG opt char INTERP arg SIG IGN DFL mascheck grp FOWNER RAW +% LocalWords: FSETID SETPCAP BIND SERVICE ADMIN PACKET IPC OWNER MODULE RAWIO +% LocalWords: PACCT RESOURCE TTY CONFIG SETFCAP hdrp datap libcap lcap text tp +% LocalWords: get ncap caps CapInh CapPrm fffffeff CapEff getcap STAT dall'I +% LocalWords: inc PRIO SUSv PRGR prio SysV SunOS Ultrix sched timespec len sig +% LocalWords: cpusetsize cpuset atomic diff --git a/signal.tex b/signal.tex index ea2fda6..17101bf 100644 --- a/signal.tex +++ b/signal.tex @@ -305,8 +305,8 @@ definiti in vari standard. \hline A & L'azione predefinita è terminare il processo. \\ B & L'azione predefinita è ignorare il segnale. \\ - C & L'azione predefinita è terminare il processo e scrivere un \textit{core - dump}. \\ + C & L'azione predefinita è terminare il processo e scrivere un + \itindex{core~dump} \textit{core dump}. \\ D & L'azione predefinita è fermare il processo. \\ E & Il segnale non può essere intercettato. \\ F & Il segnale non può essere ignorato.\\ @@ -525,12 +525,12 @@ segnali sono: processo, comporta anche la creazione di un \itindex{core~dump}\textit{core dump}. - In genere lo si può pensare come corrispondente ad una condizione di - errore del programma rilevata dall'utente. Per questo motivo non è opportuno - fare eseguire al gestore di questo segnale le operazioni di pulizia - normalmente previste (tipo la cancellazione di file temporanei), dato che in - certi casi esse possono eliminare informazioni utili nell'esame dei core - dump.\itindex{core~dump} + In genere lo si può pensare come corrispondente ad una condizione di errore + del programma rilevata dall'utente. Per questo motivo non è opportuno fare + eseguire al gestore di questo segnale le operazioni di pulizia normalmente + previste (tipo la cancellazione di file temporanei), dato che in certi casi + esse possono eliminare informazioni utili nell'esame dei \textit{core dump}. + \itindex{core~dump} \item[\const{SIGKILL}] Il nome è utilizzato per terminare in maniera immediata qualunque programma. Questo segnale non può essere né intercettato, né -- 2.30.2