On Sun, Dec 12, 2004 at 10:54:57PM +0100, Baptiste Mathus wrote: > Je fais un petit programme cens� tester un point pr�cis de la gestion de la > m�moire sous Linux. J'essaie de d�clencher des segfault en �crivant ds la > m�moire octet par octet � partir d'un endroit que j'ai allou�.
Si tu veux regarder ce que fait le noyau, il vaut mieux utiliser directement les appels syst�mes (section 2 du manuel): malloc est une fonction de la libc, et tu ne sais pas ce que la libc fait. L'autre chose � regarder est bien entendu les sources. > Comme il me semble qu'une page fait g�n�ralement 4ko sous mon os pr�f�r�. �a d�pend en fait de l'architecture, c'est 4Ko en i386 effectivement. > Y a-t-il un moyen de connaitre la taille des pages que le noyau en cours > d'utilisation va utiliser ? (quelque part dans /proc j'imagine). Dans les sources, au d�but de include/asm/page.h. Dans /proc, je ne sais pas. En compilant ton programme avec uclibc, on trouve ce � quoi tu t'attends. Donc, glibc bien fait des choses dans ton dos: [EMAIL PROTECTED]:~$ i386-uclibc-linux-gcc -o try try.c [EMAIL PROTECTED]:~$ ./try segfault attrap�e : j = 4088 Je suppose que glibc pense que c'est malin de pr�-attribuer plein de m�moire vue que Linux ne l'attribue pas tant qu'elle n'est pas utilis�e (�a �conomise des appels syst�mes). Y.

