File: mlock.2

package info (click to toggle)
manpages-fr 0.5-3
  • links: PTS
  • area: main
  • in suites: slink
  • size: 4,236 kB
  • ctags: 4
  • sloc: makefile: 55
file content (108 lines) | stat: -rw-r--r-- 3,199 bytes parent folder | download | duplicates (2)
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
.\" 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
.TH MLOCK 2 "19 Juillet 1997" "Linux" "Manuel du programmeur Linux"
.SH NOM
mlock \- Desactiver la pagination pour certaines parties de la memoire.
.SH SYNOPSIS
.nf
.B #include <sys/mman.h>
.sp
\fBint mlock(const void *\fIaddr\fB, size_t \fIlen\fB);
.fi
.SH DESCRIPTION
.B mlock
desactive la pagination (paging) pour la portion de memoire
debutant a l'adresse
.I addr
avec une longueur de
.I len
octets. 
Quand l'appel systeme
.B mlock
reussit, on a l'assurance que toutes les pages contenant une partie 
de la zone memoire specifiee resident en memoire vive (RAM) et y
resteront jusqu'a un deverrouillage par la fonction
.B munlock
ou
.B munlockall,
ou encore jusqu'a ce que le processus se termine ou demarre
un programme avec
.BR exec.

Les processus fils n'heritent pas du verrouillage des pages
a travers un
.BR fork.

Il y a deux domaines principaux d'applications au verrouillage
de pages : les algorithmes en temps reel, et le traitement
de donnees confidentielles.
Les applications temps reel reclament un comportement temporel
deterministe, et la pagination est, avec l'ordonnancement, une
cause majeure de delais imprevus.
Ces algorithmes basculent habituellement sur un
comportement d'ordonnancement temps reel avec
.BR sched_setscheduler.

Les logiciels de cryptographie manipulent souvent quelques
octets hautement confidentiels, comme des mots de passe ou
des cles privees. A cause de la pagination ces donnees secretes
risquent d'etre transferees sur un support physique ou elles
pourraient etre lues par un ennemi longtemps apres que le
logiciel se soit termine.

Il n'y a pas d'empilement des verrouillages memoire, ce qui
signifie qu'une page verrouillee plusieurs fois par
.B mlock
ou
.B mlockall
sera liberee en un seul appel a
.B munlock
pour la zone memoire correspondante ou par un appel a
.BR munlockall.


Les pages qui sont verrouilles par plusieurs zones, ou
par plusieurs processus restent verrouillees en memoire vive tant qu'il
y a au moins un processus ou une zone qui les verrouille.

Sur les systemes POSIX ou
.B mlock
et
.B munlock
sont disponibles, la constante symbolique
.B _POSIX_MEMLOCK_RANGE
est definie dans <unistd.h> et la valeur symbolique
.B PAGESIZE
de <limits.h> indique le nombre d'octets par page.
.SH "VALEUR RENVOYEE"
.B mlock
renvoie 0 si il reussit, ou \-1 s'il echoue, auquel cas
.I errno
contient le code d'erreur.
.SH ERREURS
.TP 0.8i
.B ENOMEM
Une partie des adresses incluses dans la zone desiree ne correspond
pas a une page de l'espace d'adressage accessible, ou le processus
a essaye de depasser le nombre maximal de pages verrouillees.
.TP
.B EPERM
L'appelant n'a pas les privileges appropries, seul le Super\-User 
peut verrouiller des pages.
.TP
.B EINVAL
.I len
n'est pas un nombre positif.
.SH CONFORMITE
POSIX.1b, SVr4. SVr4 documente un code d'erreur EAGAIN supplementaire.
.SH "VOIR AUSSI"
.BR munlock (2),
.BR mlockall (2), 
.BR munlockall (2).