jockos
Messages postés321Date d'inscriptiondimanche 22 octobre 2000StatutMembreDernière intervention14 mai 2005
-
15 juil. 2004 à 17:19
jockos
Messages postés321Date d'inscriptiondimanche 22 octobre 2000StatutMembreDernière intervention14 mai 2005
-
15 juil. 2004 à 21:13
Peux t-on déclarer un buffer sécurisée en C/C++ ?
J'entend par buffer sécurisé, un buffer (zone mémoire) alloué réelement en mémoire vive (RAM) et non swappé par l'OS.
C'est à dire alloué une zone mémoire qui soit réelement allouée en mémoire vive.
Par exemple, des outils de crypto comme PGP utilise des buffers sécurisé mais les développeurs ont carrément écrit un driver en C spécifiquement dédié à l'allocation/désallocation de mémoire "sécurisée".
A part une allocation dynamique ou statique, je ne vois hélas pas comment faire pour allouer une zone mémoire et "interdire l'OS" en quelque sorte de la swapper dans le fichier d'échange (disque dur).
Par exemple pour un buffer de 1024 octets :
STATIQUE :
unsigned char buffer[1024]
DYNAMIQUE :
C : unsigned char *buffer = (unsigned char *) malloc (1024);
C++ : unsigned char *buffer = new char[1024];
En fait, je n'ai pas le temps d'implémenter un driver pour la mémoire (prog de très très bas niveau).
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 15 juil. 2004 à 21:10
A part créer un truc de bas niveau, je ne vois pas comment on pourrait faire, parce que c'est le système qui décide quand il swap, et le programmeur C++ ne peut pas décider s'il écrit en mémoire principale ou secondaire