[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [HS] Question système





Francois Cerbelle a écrit :
Le Sun, Dec 12, 2004 at 10:54:57PM +0100, Baptiste Mathus ecrit :

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...

[...]

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).

---end quoted text / fin de citation---

Salut,
Je n'ai pas de réponse à ta question, juste le résultat de ton
programme sur mon systeme :
fcerbell@oceane:~$ ./test segfault attrapée : j = 135160

Ce qui confirme tes résultats sur un noyau
Linux oceane 2.6.8-1-k7 #1 Thu Oct 7 02:47:47 EDT 2004 i686 GNU/Linux
dans une installation Debian. Je n'ai pas le courage de redémarrer sur
mon LFS en 2.6.8 aussi, mais je suppose que, même avec un noyau pur,
le résultat sera le même.
Merci.
Bon, alors j'ai vraiment pas compris la gestion de la mémoire alors...
Par contre, je me suis pas trompé :

#include <stdio.h>
#include <unistd.h>
int main(void)
{
	int page_size = getpagesize();
	printf("Taille d'une page du système = %d\n", page_size);
	return 0;
}

ça affiche bien 4096... Alors franchement, les quelques 135000 octets avant d'avoir une erreur me laissent perplexe :/

@++

--
Baptiste <Batmat> Mathus
Baptiste at Mathus point org
http://www.batmat.net
OpenPGP : 0xE8EC628F
---------
Si chacun de nous a une idée et que nous les partageons, nous repartirons
tous les deux avec deux idées... C'est ça le Libre.

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: