Changes between Version 15 and Version 16 of stageM2


Ignore:
Timestamp:
Dec 21, 2009, 1:33:44 PM (14 years ago)
Author:
becoulet
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • stageM2

    v15 v16  
    125125[[Include(StageContexte/MutekH)]]
    126126
    127 Une MMU(Memory Management Unit) est un composant matérielle qui traduit les adresses mémoires employées par le code qui s'exécute en adresses physiques à destination des composants mémoire. En effet, la MMU permet la mise en oeuvre de la mémoire virtuelle où l'espace d'adressage virtuel et physique sont découpés en pages qui sont permutées. La mémoire virtuelle est la base de tous les systèmes d'exploitations modernes multi-utilisateur et sécurisée. Elle rend possible la protection de la mémoire, la séparation des processus en mémoire, la mémoire partagée, le swapping, la création efficace de processus par copy-on-write, et bien d'autre mécanismes essentiels de l'OS... Depuis longtemps employé dans les stations de travails et dans les serveurs, elle l'est aujourd'hui de plus en plus également dans l'embarqué.
     127L'objectif de ce stage est d'ajouter à l'exo-noyau Hexo le support de la mémoire virtuelle pour le processeur ARM employé dans la console de jeu Gp32.
     128
     129Une MMU(Memory Management Unit) est un composant matérielle qui traduit les adresses mémoires employées par le code qui s'exécute en adresses physiques à destination des composants mémoire. En effet, la MMU permet la mise en oeuvre de la mémoire virtuelle où l'espace d'adressage virtuel et physique sont découpés en pages qui sont permutées. La mémoire virtuelle est la base de tous les systèmes d'exploitations modernes multi-utilisateur et sécurisés. Elle rend possible la protection de la mémoire, la séparation des processus en mémoire, la mémoire partagée, le swapping, la création efficace de processus par copy-on-write, et bien d'autre mécanismes essentiels de l'OS... Depuis longtemps employé dans les stations de travails et dans les serveurs, elle l'est aujourd'hui de plus en plus également dans l'embarqué.
    128130
    129131Suivant les processeurs et les architectures les MMU diffèrent. Les caratéristiques, les fonctionnalités proposées et la manière d'y accéder ne sont pas les mêmes. Par exemple les tailles de pages peuvent être différentes d'une architecture à l'autre et les mécanisme d'accès à la table de page peuvent être logiciels ou matériels.
     
    133135 * des gestionnaires de page physiques et virtuelles dans MutekH font directement appel au driver via l'API générique.
    134136
    135 L'objectif de ce stage est d'ajouter à l'exo-noyau Hexo le support de la mémoire virtuelle sur un processeur ARM doté d'une MMU de référence.
    136 Pour cela, l'étudiant devra étudier la documentation de l'architecture ARM et implémenter le driver pour la MMU. Ce driver devra respecter l'API citée précédemment.
     137Pour réaliser le travail l'étudiant devra étudier la documentation de l'architecture ARM et implémenter le driver pour la MMU. Ce driver devra respecter l'API citée précédemment.
    137138Hexo s'exécute déjà nativement sur des architectures employant une MMU. Le processeur ARM et la MMU générique du projet SoCLib étant supporté, il sera possible de s'inspirer de ce driver pour effectuer le travail demandé.
    138139