Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2054 connectés 

 


Dernière réponse
Sujet : Linux // Gestion de la Memoire
bob0 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 :) ).

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
bob0 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 :) ).
jaile 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 ;)
bob0 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 !
jaile 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').
bob0 Merci beaucoup je vais continuer dans cette voila :)
elianor sinon, une recherche google autour de MMU va te donner pleins de liens.
elianor http://www-igm.univ-mlv.fr/~dr/XPO [...] ncipe.html
bob0 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
elianor 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.
 
 
 
bob0 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 :)
 

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)