Dans sa prose du dimanche 12 d�cembre de l'an de gr�ce 2004 � 22h54, Baptiste 
Mathus s'exprimait ainsi:
> Salut � tous,
> 
> 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�.
> 
> Comme il me semble qu'une page fait g�n�ralement 4ko sous mon os 
> pr�f�r�. Le nombre d'octets au bout duquel j'obtiens une segfault ne 
> devrait jamais d�passer 4096, non ? (voire 8192 avec des pages de 8ko).
> 
> Or le nombre est bcp plus gd que �a : 137400. Soit j'ai fait une connerie 
> ds les 15 lignes que j'ai �crites (honte sur moi) soit je comprends plus...

Je confirme (plus ou moins)
 - sous Linux:
$ ./segfault
segfault attrap�e : j = 135160

 - sous OpenBSD;
$ ./segfault
segfault attrap�e : j = 4048

Donc linux a allou� 33 pages (avec un ent�te de 8 octets)
OpenBSD a allou� 1 page (avec ent�te de 48 octets)

Je suppose que Linux "optimise" les requ�tes en fonction de la m�moire
disponible et de la gourmandise de l'application (reste � v�rifier)
Cel� se passe ou au niveau du noyau, ou au niveau de la libc.

JC

Attachment: signature.asc
Description: Digital signature

Répondre à