• [^] # Re: derniere chose

    Posté par . En réponse au message question sur la structure du code que fait le compilateur (.text, .bss, .heap ...). Évalué à 5.

    [ MMU] [Memory Pages]
    Pourrais-tu, pour ma culture, citer des archis pour lesquelles ce n'est pas le cas?

    En l'absence de MMU ( MIPS, Cortex-M ou Cortex-R par exemple), jouer de mémoire virtuelle devient compliqué, la plupart des OS «classiques» ne le permettent pas (notamment les *BSD).
    L'usage de linux sans MMU est loin d'être trivial, sans parler de la libc. Pour cela il faut regarder du coté de μClinux.

    Les noyaux «temps-réel» ou minimalistes ont une approche différente et vont privilégier les accès «directs», voire configurer la MMU en ce sens quand elle existe. D'autant que la pagination entraîne la fragmentation de la mémoire dans des système où cette ressource est rare.
    Ce qui n’empêche pas d'avoir parfois une MPU (Cortex R), pour protéger un minimum les accès.
    - Parce qu'ici, c'est la notion même de processus qui est virtuelle :) -

    Le terme est «flat».

    Oh, ça va, j'ai juste essayé d'utiliser un maximum de mots français... :)

    Ah ce sujet, si l'OP nous lit toujours, les adresses (virtuelles) de l'adressage d'un processus se trouvent dans:

    • /proc/[PID]/maps

    Et plein d'autres info dans /proc/[PID]/stat, /proc/[PID]/statm et leur synthèse /proc/[PID]/status.