Linux // Gestion de la Memoire

Linux // Gestion de la Memoire - Linux et OS Alternatifs

Marsh Posté le 03-03-2005 à 21:58:14    

Bonjour bonjour,
 
Je suis actuellement en train de me pencher sur la gestion de la memoire sur Linux, et bien qu'utilisant un systeme de pagination pour gerer la memoire, il utilise egalement la segmentation pour la gestion des processus.  
 
J ai mon idee la dessus mais j aimerais avoir confirmation / plus ample information. En faite je pense que c'est le meme fonctionnement que pour win nt, c'est a dire qu il segmente des pages memoires afin de gerer plus simplement les processus.. merci d'avance :)
 

Reply

Marsh Posté le 03-03-2005 à 21:58:14   

Reply

Marsh Posté le 03-03-2005 à 22:00:33    

oui, par pages de 4Ko (ou 2Mo en mode PAE) sur i386. En fait cette structuration provient de la MMU. Normalement, suivant l'architecture, les tailles changent, mais le principe reste le même.
 
Bah oui, c'est comme winnt, mais c'est lié au fonctionnement du processeur. De la même façon que ce sont les mêmes opcodes assembleurs sous linux et windows.
 
 
 


---------------
JE JE SUIS LIBERTINEEEEEEEEEEE JE SUIS UNE CATINNNNNNNNN §§§§§§§§
Reply

Marsh Posté le 03-03-2005 à 22:09:43    

Qu'est ce qui est lie au fonctionnement du Processeur ? le fait de devoir utiliser des segements pour les processus  ? :o  si c'est le cas je veux bien plus d'informations a ce sujet .. si tu as ca sous la mains merci d'avance :)
 
merci bien en tout cas

Reply

Marsh Posté le 03-03-2005 à 22:13:26    

http://www-igm.univ-mlv.fr/~dr/XPO [...] ncipe.html


---------------
JE JE SUIS LIBERTINEEEEEEEEEEE JE SUIS UNE CATINNNNNNNNN §§§§§§§§
Reply

Marsh Posté le 03-03-2005 à 22:15:09    

sinon, une recherche google autour de MMU va te donner pleins de liens.


---------------
JE JE SUIS LIBERTINEEEEEEEEEEE JE SUIS UNE CATINNNNNNNNN §§§§§§§§
Reply

Marsh Posté le 03-03-2005 à 22:23:23    

Merci beaucoup je vais continuer dans cette voila :)

Reply

Marsh Posté le 04-03-2005 à 00:26:01    

Linux n'utilise pratiquement pas les possibilités de segmentation du x86, uniquement la pagination. Si je me rappelle bien, il crée un segment de 4go pour le noyau et un segment de 4go pour l'espace user à l'initialisation (sur archi 32bits en tout cas) et ensuite utilise la MMU pour mapper la mémoire physique sur ces deux segments (une table MMU par processus) et donc tous les processus users tournent dans le même segment de 4go, donc le mappage change a chaque process switch (et donc chaque process a le segment de 4go 'rien que pour lui').

Reply

Marsh Posté le 04-03-2005 à 19:05:13    

Hmm je ne crois pas que ca soit tout a fait ce, la division ( par defaut de l'espace adressable de 4go est faite en 3G / 1G,  et c est ce giga qui est reserve pour le noyau.  
 
Ensuite tu as effectivement raison tous les processus se partagent un espace de 3go.
 
Cependant je crois qu il est possible de creer ces deux segments de 4go a l'aide d'un patch ( j avais lu ca sur www.kernel-traffic.org je crois ).
 
Ensuite Linux utilise quand meme la segmentation pour l'adressage des processus ( afin de securiser un maximum les donnes  de ceux ci).
 
C'est encore un peu flou tout ca  mais je trouve ca vraiement tres interessant, et je vais perseverer encore :)
 
N'hesitez pas a me faire parvenir des infos ! Merci
 
[UPDATE]
http://www.linux.com/howtos/Kernel [...] TO-7.shtml
Voila deja une approche !


Message édité par bob0 le 04-03-2005 à 19:51:54
Reply

Marsh Posté le 04-03-2005 à 21:46:20    

Il me semble que 3go/1go c'était dans le 2.4 et que ca a changé dans le 2.6 ... enfin j'en suis pas complètement sur. Et pour les processus, c'est uniquement la MMU qui est utilisée, y'a pas du tout de segmentation la dedans :) Là, par contre j'en suis plus sur, parce que la segmentation est une spécifité du x86, et que Linux étant multiplateforme ... Y'a juste deux gros segments créés au boot et après basta, on en parle plus ;)

Reply

Marsh Posté le 05-03-2005 à 17:36:55    

Oui tu as raison ce n'est pas tout a fait de la segmentaion on parle en faite d' "emulation de la segmentation" ( reste a savoir ce que ca peut bien vouloir dire :) ).

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed