File: mlock.2

package info (click to toggle)
manpages-fr 1.58.1-3
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 10,104 kB
  • ctags: 4
  • sloc: makefile: 106; sh: 8
file content (115 lines) | stat: -rw-r--r-- 3,908 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
.\" Hey Emacs! This file is -*- nroff -*- source.
.\"
.\" 1995-11-26  Markus Kuhn <mskuhn@cip.informatik.uni-erlangen.de>
.\"      First version written
.\"
.\"
.\" Traduction  11/10/1996 Christophe BLAESS (ccb@club-internet.fr)
.\" Mise a jour 08/04/1997
.\" Mise a jour 19/07/1997
.\" Mise a jour 18/07/2003
.\" Mise a jour 30/07/2003 LDP-1.58
.TH MLOCK 2 "30 juillet 2003" LDP "Manuel du programmeur Linux"
.SH NOM
mlock \- Dsactiver la pagination pour certaines parties de la mmoire.
.SH SYNOPSIS
.nf
.B #include <sys/mman.h>
.sp
\fBint mlock(const void *\fIaddr\fB, size_t \fIlen\fB);
.fi
.SH DESCRIPTION
.B mlock
dsactive la pagination pour la portion de mmoire dbutant  l'adresse
.I addr
avec une longueur de
.I len
octets.  Quand l'appel systme
.B mlock
russit, on a l'assurance que toutes les pages contenant une partie 
de la zone mmoire spcifie rsident en mmoire vive (RAM) et y
resteront jusqu' un dverrouillage par la fonction
.B munlock
ou
.B munlockall,
jusqu' ce que les pages soit libres avec
.BR munmap ,
ou encore jusqu' ce que le processus se termine ou dmarre un programme avec
.BR exec.
Les processus fils n'hritent pas du verrouillage des pages  travers un
.BR fork.

Il y a deux domaines principaux d'applications au verrouillage de pages\ :
les algorithmes en temps rel, et le traitement de donnes confidentielles.
Les applications temps rel rclament un comportement temporel dterministe, et
la pagination est, avec l'ordonnancement, une cause majeure de dlais imprvus.
Ces algorithmes basculent habituellement sur un ordonnancement temps rel avec
.BR sched_setscheduler.
Les logiciels de cryptographie manipulent souvent quelques octets hautement
confidentiels, comme des mots de passe ou des cls prives. A cause de la
pagination ces donnes secrtes risquent d'tre transfres sur un support
physique o elles pourraient tre lues par un ennemi longtemps aprs que le
logiciel se soit termin. (Soyez toutefois conscient que le mode suspendu
sur les portables et certains ordinateurs de bureau sauvegarde une copie
de la mmoire sur le disque, quelques soient les verrouillages).

Il n'y a pas d'empilement des verrouillages mmoire, ce qui signifie qu'une
page verrouille plusieurs fois par
.B mlock
ou
.B mlockall
sera libre en un seul appel 
.B munlock
pour la zone mmoire correspondante ou par un appel 
.BR munlockall.
Les pages qui sont verrouilles par plusieurs zones, ou par plusieurs processus
restent verrouilles en mmoire vive tant qu'il y a au moins un processus ou une
zone qui les verrouille.

Sur les systmes POSIX o
.B mlock
et
.B munlock
sont disponibles, la constante symbolique
.B _POSIX_MEMLOCK_RANGE
est dfinie dans <unistd.h> et la valeur symbolique
.B PAGESIZE
de <limits.h> indique le nombre d'octets par page.
.SH NOTES
Dans l'appel-systme de Linux,
.I addr
est automatiquement arrondie  la frontire de page la plus proche.
Toutefois, POSIX 1003.1-2001 permet  l'implmentation d'imposer que
.I addr
soit aligne sur une frontire de page. Les programmes portable en prendront soin.
.SH "VALEUR RENVOYE"
L'appel
.B mlock
renvoie 0 si il russit, ou \-1 s'il choue, auquel cas
.I errno
contient le code d'erreur, et rien n'est modifi sur les verrouillages
de la mmoire du processus.
.SH ERREURS
.TP 
.B ENOMEM
Une partie des adresses incluses dans la zone dsire ne correspond
pas  une page de l'espace d'adressage accessible, ou le processus
a essay de dpasser le nombre maximal de pages verrouilles.
.TP
.B EPERM
L'appelant n'a pas les privilges appropris, seul le Super\-User 
peut verrouiller des pages.
.TP
.B EINVAL
.I len
n'est pas un nombre positif.
.SH CONFORMIT 
POSIX.1b, SVr4. SVr4 documente un code d'erreur EAGAIN supplmentaire.
.SH "VOIR AUSSI"
.BR munlock (2),
.BR mlockall (2), 
.BR munlockall (2).
.BR munmap (2),
.BR setrlimit (2)
.SH TRADUCTION
Christophe Blaess, 1996-2003.