|
|||||||
|
|
MADVISESection: Manuel du programmeur Linux (2)Updated: 18 juillet 2003 Index Return to Main Contents NOMmadvise - Configure l'utilisation de la mémoire.SYNOPSIS#include <sys/mman.h> int madvise(void *start, size_t length, int advice); DESCRIPTIONL'appel système madvise conseille le noyau sur la façon de gérer la pagination sur l'intervalle d'adresses débutant à l'adresse start et de taille length (en octets). Il permet à une application d'indiquer au noyau l'utilisation qu'elle compte faire de certaines zones de mémoire partagée ou projetée de façon à ce que le noyau puisse choisir les techniques de lecture anticipée et de mise en cache appropriées. Cet appel ne modifie pas la sémantique de l'application (sauf dans le cas de MADV_DONTNEED), mais peut avoir un impact sur ses performances. Le noyau est libre d'ignorer le conseil.Le conseil est spécifié par le paramètre advice qui peut prendre les valeurs
VALEUR RENVOYÉEEn cas de succès madvise renvoie zéro. En cas d'erreur, il renvoie -1 et errno est positionné de façon adéquate.ERREURS
NOTES SUR LINUXL'implémentation Linux actuelle (2.4.0) perçoit davantage cet appel-système comme une commande que comme un conseil et est ainsi susceptible de renvoyer une erreur quand elle ne parvient pas à réaliser ce qu'elle devrait accomplir en réponse à ce conseil. (Voir la description des ERREURS ci dessus.) Il s'agit d'un comportement non standard. L'implémentation Linux nécessite que l'adresse start soit alignée sur une page, et permet que length vaille zéro. S'il y a des parties de l'intervalle d'adresses spécifié qui ne sont pas mappées, la version Linux de madvise les ignore et applique l'appel au reste de l'intervalle (mais renvoie ENOMEM comme il se doit). HISTORIQUELa fonction madvise est apparue pour la première fois dans BSD 4.4.CONFORMITÉSPOSIX.1b (POSIX.4). POSIX 1003.1-2001 spécifie l'appel posix_madvise avec des constantes POSIX_MADV_NORMAL, etc. et un comportement proche de celui décrit ici. Il existe un appel similaire posix_fadvise pour les accès aux fichiers.VOIR AUSSIgetrlimit(2), mmap(2), mincore(2), mprotect(2), msync(2), munmap(2)TRADUCTIONStéphan Rafin, 2002Christophe Blaess, 2003.
Index
| ||||||
|
|
|
Home :: Copyright :: Privacy :: Credits :: Get a free Linuxinfor Email Account Document on this page is part of "Linuxinfor Man Pages in HTML Format: man2". See Index Page for more info about Authorship and Copyright. 1999-2009 Linuxinfor.com. No rights reserved. |