Changes between Version 10 and Version 11 of SujetTD0
- Timestamp:
- Feb 2, 2018, 5:01:24 PM (7 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
SujetTD0
v10 v11 9 9 La 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). 10 10 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.11 La 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. 12 12 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 }}} 13 1. Qu'est-ce que la mémoire physique ? ([=#R1 réponse]) 17 14 18 *Qu'est-ce que la mémoire virtuelle ?15 1. Qu'est-ce que la mémoire virtuelle ? 19 16 {{{#!protected 20 17 - La mémoire virtuelle est un espace d'adressage (un ensemble d'adresses) dans lequel s'exécute un processus. 21 - La question corollaire estqu'est-ce qu'un processus ?[[BR]]22 -> Un processus est un programme en train de s'exécuter dont les ressources sont18 - 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 : 23 20 - un espace d'adressage 24 21 - un programme … … 30 27 }}} 31 28 32 *Quelle est l'intérêt de la mémoire virtuelle ?29 2. Quelle est l'intérêt de la mémoire virtuelle ? 33 30 {{{#!protected 34 31 - La mémoire virtuelle permet d'isoler les processus entre eux. 35 - La mémoire virtuelle permet de produire du code binaire sans conna itre 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. 36 33 - 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) 37 34 }}} 38 35 39 *Qu'est-ce qu'une MMU ?36 3. Qu'est-ce qu'une MMU ? 40 37 {{{#!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 traduiteen 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. 42 39 }}} 43 40 44 *Qu'est-ce qu'un défaut de page ? Est-ce grave ?41 4. Qu'est-ce qu'un défaut de page ? Est-ce grave ? 45 42 {{{#!protected 46 43 - 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. … … 50 47 == 2. Accès aux registres mappés en mémoire == 51 48 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:49 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 de mémoires grâce à l'appel système mmap, dont le prototype est le suivant: 53 50 54 51 {{{#!c … … 56 53 }}} 57 54 58 et sa réciproque:55 et sa: 59 56 60 57 {{{#!c … … 122 119 - sleep (ou un équivalent) 123 120 }}} 121 122 123 {{{#!protected 124 125 == Réponses == 126 127 1. [=#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