Seth Woolley's Man Viewer

mlockall(2) - mlockall, mlockall - Désactiver la pagination pour le processus appelant - man 2 mlockall

([section] manual, -k keyword, -K [section] search, -f whatis)
man plain no title

MLOCKALL(2)               Manuel du programmeur Linux              MLOCKALL(2)



NOM
       mlockall - Dsactiver la pagination pour le processus appelant.

SYNOPSIS
       #include <sys/mman.h>

       int mlockall(int flags);

DESCRIPTION
       mlockall dsactive la pagination pour toutes les pages prsentes dans
       l'espace d'adressage du processus appelant. Ceci inclut  les  pages  de
       code,  de  donnes,  et  la  pile,  tout autant que les bibliothques
       partages,  les  donnes  utilisateur  dans  le  noyau,  la  mmoire
       partage et les fichiers projets en mmoire. Quand l'appel mlockall
       russit, on a l'assurance que toutes les pages  concernes  rsident
       en  mmoire  vive (RAM) et y resteront jusqu'  un dverrouillage par
       la fonction munlock ou munlockall ou encore jusqu'  ce que le  proces-
       sus  se termine ou dmarre un programme avec exec(3,n,1 builtins).  Les processus fils
       n'hritent pas du verrouillage des pages   travers un 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  comporte-
       ment  temporel  dterministe, et la pagination est, avec l'ordonnance-
       ment, une cause majeure de dlais imprvus.  Ces  algorithmes  bascu-
       lent   habituellement   sur   un   ordonnancement   temps   rel  avec
       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 pour-
       raient tre lues par un ennemi longtemps aprs  que  le  logiciel  se
       soit  termin.   Nanmoins  pour les applications scurises, seule
       une petite partie de la mmoire doit tre verrouille, pour laquelle
       la fonction mlock est parfaitement approprie.

       Le  paramtre  flags  est constitu par un OU binaire ( | ) entre les
       constantes symboliques suivantes :

       MCL_CURRENT Verrouiller toutes les pages correspondant actuellement  
                   l'espace d'adressage du processus.

       MCL_FUTUR   Verrouiller  toutes  les  pages  qui  seront  dans l'espace
                   d'adressage du processus dans le futur. Ceci  concerne  par
                   exemple  les nouvelles pages rclames par un agrandisse-
                   ment de la pile ou du tas, autant que les nouveaux  fichier
                   projets   en  mmoire,  ou  les  nouvelles  rgions  de
                   mmoire partage.

       Si MCL_FUTUR a t rclam, et que le nombre de pages verrouilles
       excde  la  limite  maximale,  l'appel  systme  ayant  entran le
       dpassement chouera avec une erreur ENOMEM.  Si le problme se pose
          cause  de l'expansion de la pile, le noyau empchera l'agrandisse-
       ment de celle-ci et dclenchera un signal(2,7) SIGSEGV.

       Les processus temps-rel doivent rserver suffisamment de pages avant
       d'entrer  dans des portions critiques, pour viter tout dclenchement
       de faute de page.  Ceci peut tre effectu simplement en appelant une
       fonction  rclamant  une  variable automatique suffisamment grande, et
       qui crit dans cette variable de manire   allouer ces pages pour la
       pile.  L'criture dans la variable garantit qu'il ne se produira mme
       pas de faute de page de copie-sur-criture durant l'excution  de  la
       section critique.

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

       Sur les systmes POSIX o mlockall et munlockall sont disponibles, la
       constante symbolique _POSIX_MEMLOCK est dfinie dans <unistd.h>

VALEUR RENVOYE
       mlockall renvoie 0 si il russit, ou -1 s'il choue, auquel cas errno
       contient le code d'erreur.

ERREURS
       ENOMEM Le  processus  a  dpass  le  nombre  maximal  de  page  ver-
              rouilles.

       EPERM  L'appelant  n'a  pas  les  privilges  appropris,   seul   le
              Super-User peut verrouiller des pages.

       EINVAL Un attribut inconnu a t spcifi.

CONFORMIT
       POSIX.1b, SVr4. SVr4 documente un code d'erreur EAGAIN supplmentaire.

VOIR AUSSI
       munlockall(2), mlock(2), munlock(2)

TRADUCTION
       Christophe Blaess, 1996-2003.



LDP                             18 juillet 2003                    MLOCKALL(2)

References for this manual (incoming links)