Bonjour,

Le ven d�c 05 2003 � 04:12:08 +0100, Patrice Karatchentzeff dit :
> Le Fri, 5 Dec 2003 15:50:58 +0100
> [EMAIL PROTECTED] �crivait :
> 
> [...]
> 
> > Il me semble que c'est comme cela que fonctionne le noyau. Bon, je ne
> > l'ai jamais personnellement observ� �. Je l'ai simplement vu �crit
> > (par exemple, l� :
> > http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/2003-June/011658.html).
> > 
> 
> OK, c'est ce dont je parlais : c'est la diff�rence que fait le noyau
> Linux entre l'espace utilisateur et l'espace kernel : moi, j'avais comme
> r�f�rence 75% pour l'utilisateur, 25% pour le kernel. Il suffit de
> chercher dans les sources : il y a une variable qui s'appelle OFFSET
> quelquec chose...
> 
> Mais pour l'utilisateur, quand le noyau boote, cela ne fait aucune 
> diff�rence : il voit bien 1 Go. C'est *un* process qui ne peut pas
> s'approprier plus de X% de la totalit� de la m�moire...

Voil� ce que j'ai pu comprendre dans Noyau Linux 1�re �dition, et dans
$SRCLINUX/include/asm(-i386)/pgtables(-2/3level.h) :

La m�moire est d�finie comme r�pertoire global x r�pertoire interm�diaire x
table x d�placement.
Le d�placement est la position dans une page (2^PAGE_SHIFT = 4Mo) quelque
soit le mod�le m�moire ("normal", 4Go, 64Go).
Le r�pertoire interm�diaire n'est utilis� qu'avec l'option 64Go, par un
appel de la fonction pgtable_cache_init() un peu particuli�re.
Pour revenir aux modes NOHIGHMEM et 4Go, le nombre de r�pertoires est
PTRS_PER_PGD=1024. Le nombre de tables est PTRS_PER_PTE=1024.
PMD_SHIFT nous donne ln2(taille adressable par une table), elle vaut 22 en
mode 4Go et 20 en mode normal (2*PAGE_SHIFT-3). Je n'ai pas compris pour
quoi la taille adressable par une table n'�tait pas �gale �
PTRS_PER_PTE*PAGE_SHIFT en mode normal.
Similairement PGDIR_SHIFT donne la taille adressable d'un r�pertoire global
mais sans "bizarreries cette fois-ci).

Pour le fait que le noyau ne donne que 960Mo sur 1Go comme RAM, je soup�onne
le champs nulle d�fini par d�faut dans la GDT d'en �tre responsable, ne
laissant plus que 2^13-1 entr�es disponibles, � confirmer.
Si c'est le cas, l'option 4Go n'est pas n�cessaire pour 1Go de RAM,
contrairement � ce qui est dit dans l'aide � la compilation du noyau.
Et le fait qu'au boot, il n'y aie que 960Mo - taille noyau indiqu� sans
l'option 4Go semblerait abond� dans le sens da la doc.
Si quelqu'un peut me contredire sur ce point, y'a de la recompilation dans
l'air, l'option 4Go mangeant un peu de m�moire.

Quant � l'espace utilisateur il serait de 3Go d'apr�s processeur.h. Cela
doit �tre un espace maximum car l'espace kernel est d�fini par diff�rence
entre cet espace et l'espace total, non par ratio. Je n'ai aps pu remonter
le fil des # define pour trouver le pourquoi du comment.

> PK
[...]
-- 
David Dumortier
[EMAIL PROTECTED]
http://www.dudu.dynalias.net/

Répondre à