View previous topic :: View next topic |
Author |
Message |
killerwhile Tux's lil' helper
Joined: 16 May 2005 Posts: 130 Location: Switzerland
|
Posted: Thu Apr 20, 2006 8:57 am Post subject: [kernel] schéma d'occupation mémoire (résolu) |
|
|
J'ai un énorme doute sur le schéma de l'utilisation mémoire de linux, alors je m'en réfère à vous.
Il me semblerait qu'en mode kernel, les adresses mémoire sont de 0x80000000 à 0xFFFFFFFF et les adresses utilisateurs 0x00000000 à 0x7FFFFFFFF
avec un beau dessin :
Code: | +----------+ 0xFFFFFFFF
| kernel |
| address |
| space |
+----------+ 0x80000000
| user |
| address |
| space |
+----------+ 0x00000000 |
le user address space étant lui bien entendu partagé en code space, heap et stack
La taille mémoire virtuelle maximale allouée pour une processus serait donc de 2Gb.
Si quelqu'un a une référence sur le sujet (même en anglais) je suis preneur ! Merci. _________________ Je motive bien mes collègues. Quand je suis au travail, ils doivent toujours travailler le double -- Homer Simpson.
Last edited by killerwhile on Thu Apr 20, 2006 5:52 pm; edited 1 time in total |
|
Back to top |
|
|
killerwhile Tux's lil' helper
Joined: 16 May 2005 Posts: 130 Location: Switzerland
|
Posted: Thu Apr 20, 2006 9:13 am Post subject: |
|
|
C'est marrant comme dès qu'on a posté un thread on trouve une page qui répond de manière assez complète à notre question, alors que la recherche d'avant était vaine...
Bref, le kernel se réserve les adresses >= 0xC0000000, et donc laisse 3Gb aux utilisateurs et non pas 2Gb comme prétendu précédemment. _________________ Je motive bien mes collègues. Quand je suis au travail, ils doivent toujours travailler le double -- Homer Simpson. |
|
Back to top |
|
|
guilc Bodhisattva
Joined: 15 Nov 2003 Posts: 3326 Location: Paris - France
|
Posted: Thu Apr 20, 2006 9:39 am Post subject: |
|
|
killerwhile wrote: | Bref, le kernel se réserve les adresses >= 0xC0000000, et donc laisse 3Gb aux utilisateurs et non pas 2Gb comme prétendu précédemment. |
Ca, c'est configurable depuis les derniers 2.6.
Tu peux choisir de faire un découpage user/kernel : 3/1, 3/1 avec full 1Go de RAM (le descendant du patch de CK 1GLOWMEM), 2/2, ou 1/3 _________________ Merci de respecter les règles du forum.
Mon site perso : https://www.xwing.info
Mon PORTDIR_OVERLAY : https://gentoo.xwing.info ou layman -a xwing |
|
Back to top |
|
|
killerwhile Tux's lil' helper
Joined: 16 May 2005 Posts: 130 Location: Switzerland
|
Posted: Thu Apr 20, 2006 11:51 am Post subject: |
|
|
Ok, merci pour l'info. Je ne me suis pas encore penché sur les patchs de CK mais je sais qu'il va falloir si mettre
En fait le kernel est physiquement aux adresses basses (dès 0x00000000) mais il est mappé en 0xC0000000 (configurable donc) en mémoire de l'utilisateur.
Code: | ________________ _____
|Other KernelData|___ | | |
|----------------| | |__| |
| Kernel |\ |____| Real Other |
3 GB --->|----------------| \ | Kernel Data |
| |\ \ | |
| __|_\_\____|__ Real |
| Tasks | \ \ | Tasks |
| __|___\_\__|__ Space |
| | \ \ | |
| | \ \|----------------|
| | \ |Real KernelSpace|
|________________| \|________________|
Logical Addresses Physical Addresses |
dont la source est Kernel Analysis Howto _________________ Je motive bien mes collègues. Quand je suis au travail, ils doivent toujours travailler le double -- Homer Simpson. |
|
Back to top |
|
|
PabOu Veteran
Joined: 11 Feb 2004 Posts: 1088 Location: Namur - Belgium
|
Posted: Thu Apr 20, 2006 5:31 pm Post subject: |
|
|
Yop ! CK est un maître ;)
Peut-être un (résolu) ? _________________ Mangez du poulet ! |
|
Back to top |
|
|
|