VMA et LMA
Bonjour.
En lisant le tutoriel concernant le linkage,
https://sourceware.org/binutils/docs/ld/Basic-Script-Concepts.html#Basic-Script-Concepts
j'ai perdu le fil logique . voilà la partie dans laquelle je suis confus.
Je pensais depuis longtemps que la notion de mémoire virtuelle a été conçue pour maximiser l'efficacité dans le management de mémoire . Les adresses logiques sont alloueés par le noyau,et au moment de compilation( avec le linckage),la table des adresses est traduite pour qu'elle représente l'emplacement physique des éxecutables.
En lisant le tutoriel concernant le linkage,
https://sourceware.org/binutils/docs/ld/Basic-Script-Concepts.html#Basic-Script-Concepts
j'ai perdu le fil logique . voilà la partie dans laquelle je suis confus.
Every loadable or allocatable output section has two addresses. The first is the VMA, or virtual memory address. This is the address the section will have when the output file is run. The second is the LMA, or load memory address. This is the address at which the section will be loaded. In most cases the two addresses will be the same. An example of when they might be different is when a data section is loaded into ROM, and then copied into RAM when the program starts up (this technique is often used to initialize global variables in a ROM based system). In this case the ROM address would be the LMA, and the RAM address would be the VMA.
Je pensais depuis longtemps que la notion de mémoire virtuelle a été conçue pour maximiser l'efficacité dans le management de mémoire . Les adresses logiques sont alloueés par le noyau,et au moment de compilation( avec le linckage),la table des adresses est traduite pour qu'elle représente l'emplacement physique des éxecutables.
1 réponse
Je pense que cet article est plus clair, il insiste bien sur le fait que VMA et LMA sont des notions spécifiques à
http://www.bravegnu.org/gnu-eprog/data-in-ram.html
La notion dont tu parles est indépendante de
https://en.wikipedia.org/wiki/Virtual_memory
Bonne chance
ld:
http://www.bravegnu.org/gnu-eprog/data-in-ram.html
La notion dont tu parles est indépendante de
ldet correspond à ce qui est expliqué ici :
https://en.wikipedia.org/wiki/Virtual_memory
Bonne chance