Changes between Version 10 and Version 11 of SujetTD0


Ignore:
Timestamp:
Feb 2, 2018, 5:01:24 PM (7 years ago)
Author:
franck
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SujetTD0

    v10 v11  
    99La carte Raspberry Pi est composée d'un système sur puce (System-on-Chip, SoC) BCM2835 de chez Broadcom. Ce SoC est composé de deux Memory Management Units (MMUs).
    1010
    11 La première MMU est intégrée au processeur ARM 11 du SoC. La seconde est une MMU "gros grain" au niveau du SoC lui-même. La première MMU est une unité de gestion des translations d'adresse "classique" tandis que la seconde MMU permet de remanier le placement mémoire des périphériques du SoC.
     11La première MMU est intégrée au processeur ARM 11 du SoC, elle traduit les adresses virtuelle des processus en adresses physiques. Cette première MMU est paginée. La seconde est une MMU segmentée "gros grain"  (au niveau du SoC lui-même). La première MMU est une unité de gestion des translations d'adresse "classique" tandis que la seconde MMU permet de remanier le placement mémoire des périphériques du SoC.
    1212
    13 * Qu'est-ce que la mémoire physique ?
    14 {{{#!protected
    15 - La mémoire physique est, en principe, la vraie mémoire qui est accédée par un espace d'adressage. Derrière chaque adresses physique, il y a de la vraie mémoire ou un registre de configuration de périphérique.
    16 }}}
     131. Qu'est-ce que la mémoire physique ? ([=#R1 réponse])
    1714
    18 * Qu'est-ce que la mémoire virtuelle ?
     151. Qu'est-ce que la mémoire virtuelle ?
    1916{{{#!protected
    2017- La mémoire virtuelle est un espace d'adressage (un ensemble d'adresses) dans lequel s'exécute un processus.
    21 - La question corollaire est qu'est-ce qu'un processus ?[[BR]]
    22   -> Un processus est un programme en train de s'exécuter dont les ressources sont
     18- La question suivante est : qu'est-ce qu'un processus ?[[BR]]
     19  -> Un processus est un conteneur de ressource permettant à un programme de s'exécuter. Les ressources sont :
    2320     - un espace d'adressage
    2421     - un programme
     
    3027}}}
    3128
    32 * Quelle est l'intérêt de la mémoire virtuelle ?
     292. Quelle est l'intérêt de la mémoire virtuelle ?
    3330{{{#!protected
    3431- La mémoire virtuelle permet d'isoler les processus entre eux.
    35 - La mémoire virtuelle permet de produire du code binaire sans connaitre les adresses effectivement disponibles au moment de l'exécution.
     32- La mémoire virtuelle permet de produire du code binaire sans connaître les adresses effectivement disponibles au moment de l'exécution.
    3633- La mémoire virtuelle d'étendre la mémoire utilisable au delà de la mémoire physique réellement disponible (grâce au swap disque)
    3734 }}}
    3835
    39 * Qu'est-ce qu'une MMU ?
     363. Qu'est-ce qu'une MMU ?
    4037{{{#!protected
    41 - Chaque espace virtuel va être mappé sur un espace physique, c'est à dire que lorsqu'un processeur exécute une instruction d'accès à la mémoire. Il commence par émettre l'adresse de l'instruction puis l'adresse de la donnée. Ces adresses sont virtuelles et sont traduite en adresses physiques par la MMU (Memory Management Unit) sur la base d'une table de page qui associe une page physique à chaque page virtuelle donnée à l'application avec des droits d'accès.
     38- Chaque espace virtuel va être mappé sur l'espace physique, c'est-à-dire que lorsqu'un processeur exécute une instruction d'accès à la mémoire. Il commence par émettre l'adresse de l'instruction puis l'adresse de la donnée. Ces adresses sont virtuelles et sont traduites en adresses physiques par la MMU (Memory Management Unit) sur la base d'une table de page qui associe une page physique à chaque page virtuelle donnée à l'application avec des droits d'accès.
    4239}}}
    4340
    44 * Qu'est-ce qu'un défaut de page ? Est-ce grave ?
     414. Qu'est-ce qu'un défaut de page ? Est-ce grave ?
    4542{{{#!protected
    4643- Un défaut de pages survient lorsque que le processeur demande l'accès à une adresse virtuelle pour laquelle l'OS n'a pas encore attribuée de page physique. Ce n'est pas forcément un problème, c'est même le cas normal, puisque l'OS n'attribue des pages physiques que si c'est nécessaire.
     
    5047== 2. Accès aux registres mappés en mémoire ==
    5148
    52 Nous fonctionnons sur un système qui utilise un mécanisme de mémoire virtuelle et dès lors l'accès à certaines zones mémoires est protégé par le système d'exploitation, ici Linux. C'est le cas notamment pour les zones mémoires correspondant aux contrôleurs d'entrées/sorties. Néanmoins, un peut quand même accéder à ces zones mémoires grâce à l'appel système mmap, dont le prototype est le suivant:
     49Nous fonctionnons sur un système qui utilise un mécanisme de mémoire virtuelle et dès lors l'accès à certaines zones mémoires est protégé par le système d'exploitation, ici Linux. C'est le cas notamment pour les zones mémoires correspondant aux contrôleurs d'entrées/sorties. Néanmoins, un peut quand même accéder à ces zones de mémoires grâce à l'appel système mmap, dont le prototype est le suivant:
    5350
    5451{{{#!c
     
    5653}}}
    5754
    58 et sa réciproque:
     55et sa:
    5956
    6057{{{#!c
     
    122119- sleep (ou un équivalent)
    123120}}}
     121
     122
     123{{{#!protected
     124
     125== Réponses ==
     126
     1271. [=#R1] La mémoire physique est, en principe, la vraie mémoire qui est accédée par un espace d'adressage. Derrière chaque adresses physique, il y a de la vraie mémoire ou un registre de configuration de périphérique.
     128
     129
     130}}}
     131