X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=ipc.tex;h=4ffca7cd03e7eacbfeefbe844d94cddeefca2305;hp=9b10da1853be5343586a8da09cb3dd3262367c76;hb=265547995607b3ec2c04f9b8b035b416e892920b;hpb=2ee09e1100e6d070dbf5d4d13d900dba516d83de diff --git a/ipc.tex b/ipc.tex index 9b10da1..4ffca7c 100644 --- a/ipc.tex +++ b/ipc.tex @@ -1,6 +1,6 @@ %% ipc.tex %% -%% Copyright (C) 2000-2014 Simone Piccardi. Permission is granted to +%% Copyright (C) 2000-2015 Simone Piccardi. Permission is granted to %% copy, distribute and/or modify this document under the terms of the GNU Free %% Documentation License, Version 1.1 or any later version published by the %% Free Software Foundation; with the Invariant Sections being "Un preambolo", @@ -2423,8 +2423,7 @@ referenziata tramite i campi \var{sem\_pending} e \var{sem\_pending\_last} di operazioni richieste (nel campo \var{sops}, che è un puntatore ad una struttura \struct{sembuf}) e al processo corrente (nel campo \var{sleeper}) poi quest'ultimo viene messo stato di attesa e viene invocato lo -\itindex{scheduler} \textit{scheduler} per passare all'esecuzione di un altro -processo. +\textit{scheduler} per passare all'esecuzione di un altro processo. Se invece tutte le operazioni possono avere successo queste vengono eseguite immediatamente, dopo di che il kernel esegue una scansione della coda di @@ -2776,13 +2775,12 @@ si ha a cuore la portabilità. Questi comandi aggiuntivi sono: \begin{basedescript}{\desclabelwidth{2.2cm}\desclabelstyle{\nextlinelabel}} \item[\const{SHM\_LOCK}] Abilita il \itindex{memory~locking} \textit{memory locking} sul segmento di memoria condivisa, impedendo che la memoria usata - per il segmento venga salvata su disco dal meccanismo della - \index{memoria~virtuale} memoria virtuale. Come illustrato in - sez.~\ref{sec:proc_mem_lock} fino al kernel 2.6.9 solo l'amministratore - poteva utilizzare questa capacità,\footnote{che richiedeva la - \textit{capability} \const{CAP\_IPC\_LOCK}.} a partire dal dal kernel - 2.6.10 anche gli utenti normali possono farlo fino al limite massimo - determinato da \const{RLIMIT\_MEMLOCK} (vedi + per il segmento venga salvata su disco dal meccanismo della memoria + virtuale. Come illustrato in sez.~\ref{sec:proc_mem_lock} fino al kernel + 2.6.9 solo l'amministratore poteva utilizzare questa capacità,\footnote{che + richiedeva la \textit{capability} \const{CAP\_IPC\_LOCK}.} a partire dal + dal kernel 2.6.10 anche gli utenti normali possono farlo fino al limite + massimo determinato da \const{RLIMIT\_MEMLOCK} (vedi sez.~\ref{sec:sys_resource_limit}). \item[\const{SHM\_UNLOCK}] Disabilita il \itindex{memory~locking} \textit{memory locking} sul segmento di memoria condivisa. Fino al kernel @@ -3553,6 +3551,11 @@ sez.~\ref{sec:ipc_sysv_shm} che possa restituisca i risultati via rete. % trattarlo qui, vedi http://lwn.net/Articles/405346/ % https://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=fcf634098c00dd9cd247447368495f0b79be12d1 +% TODO: con il kernel 3.17 è stata introdotta una fuunzionalità di +% sigillatura dei file mappati in memoria e la system call memfd +% (capire se va messo qui o altrove) vedi: http://lwn.net/Articles/593918/ + + \section{L'intercomunicazione fra processi di POSIX} \label{sec:ipc_posix}