Mémoire paginée, et RAM [Résolu]

Signaler
Messages postés
23
Date d'inscription
jeudi 16 mars 2006
Statut
Membre
Dernière intervention
23 mars 2007
-
Messages postés
23
Date d'inscription
jeudi 16 mars 2006
Statut
Membre
Dernière intervention
23 mars 2007
-
Bonjour, je souhaiterais savoir si qqn connais le moyen de s'assurer de l'utilisation de la ram lors d'une grosse allocation de mémoire : comment sous windows, interdir à tout prix, ou sous control la migration dans le fichier de swap windows.
J'aimerai allouer un bloc, ou plusieurs bloc de mémoire et les laisser en RAM.

Merci ;)

zat All fo'kz

3 réponses

Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
Salut,
En User-Mode, je crois que c'est impossible.
En Kernel-Mode c'est possible puisqu'on peut allouer de la mémoire physique. La zone mémoire ainsi allouée ne sera jamais passée sur disque. Il faudra donc faire un pilote (DRIVER). Le DDK est nécessaire. Pour allouer de la RAM en Kernel-Mode, on utilise la fonction ExAllocatePoolWithTag(). Le 1er paramètre permet de choisir le type de mémoire qu'on veut allouer. La taille de mémoire allouée doit être raisonable pour laisser le système fonctionner normalement.
Ton programme en User-Mode pourra donc communiquer avec le pilote via la fonction DeviceIoControl()  pour pouvoir allouer cette RAM, la lire, y écrire et la libérer. Normalement ça devrait marcher.
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
J'ai oublié de mettre un lien pour la foncion ExAllocatePoolWithTag(). Le voici:
http://www.osronline.com/ddkx/kmarch/k102_2omq.htm
Messages postés
23
Date d'inscription
jeudi 16 mars 2006
Statut
Membre
Dernière intervention
23 mars 2007

Je vais tester ca . Merci beaucoup pour ta réponse précise :)))
zat All fo'kz