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
|
.\" 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 \- 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 (paging) 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,
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
comportement d'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.
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 vrrouilles en mmoire vive tant qu'il
y a au moins un processus ou une zone qui les verrouille.
Sur les systemes 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 "VALEUR RENVOYE"
.B mlock
renvoie 0 si il russit, ou \-1 s'il choue, auquel cas
.I errno
contient le code d'erreur.
.SH ERREURS
.TP 0.8i
.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).
.SH TRADUCTION
Christophe Blaess, 1997.
|