Gestion de mémoire à objets pour systèmes embarqués
- Algorithmes de ramasse-miettes
- Systèmes enfouis (informatique) -- Thèses et écrits académiques
- Gestion mémoire (informatique) -- Modèles mathématiques -- Thèses et écrits académiques
- Nettoyage de mémoire (informatique) -- Thèses et écrits académiques
- Systèmes virtuels (informatique) -- Thèses et écrits académiques
- Langue : Français
- Discipline : Informatique
- Identifiant : 2007LIL10161
- Type de thèse : Doctorat
- Date de soutenance : 01/01/2007
Résumé en langue originale
La mise au point de systèmes embarqués pose plusieurs problèmes liés au matériel sous-jacent. On citera en particulier l'existence de plusieurs types de mémoires sur le même appareil ou les faibles ressources des petits appareils tels que les capteurs de terrain. Dans ce contexte, les études concernant les algorithmes de ramasse-miettes ne sont plus valides. Un premier résultat de cette thèse est d'avoir comblé ce manque en réalisant une étude poussée de la complexité des algorithmes de ramasse-miettes existants. À partir de cette étude, les paramètres fins qui influent sur l'efficacité de ces algorithmes ont pu être identifiés. Il a également été possible de montrer qu'il est nécessaire d'adapter, en terme de choix de ramasse-miettes, la gestion mémoire à la fois aux applications et au matériel. Il a été défini et implémenté, au sein d'un vrai système Java, une nouvelle architecture de gestion de la mémoire adaptée aux systèmes visés. Le modèle proposé fait le pont entre les différentes contraintes exprimées. D'une part les contraintes matérielles dûes aux propriétés très différentes des mémoires que l'on peut trouver sur les classes d'appareil considérées. D'autre part, les spécificités des différents mécanismes de ramasse-miettes existants. Le principe de base de cette architecture est de permettre la gestion de chaque espace mémoire (physique ou logique) par un gestionnaire adapté aux propriétés de la mémoire sous-jacente, plutôt que d'implémenter un gestionnaire spécifique à une seule architecture mémoire. Afin d'isoler la gestion du placement des données tout en améliorant la flexibilité, la portabilité et les performances de la gestion mémoire dans le contexte présenté, un langage dédié à la gestion de mémoires à objets a été proposé. Ce langage dédié permet d'écrire des politiques de placement complètes, qui sont ensuite validées et optimisées par le compilateur de ce langage. Ce compilateur produit un code intégré à la machine virtuelle. Une politique de placement comporte à la fois la définition des espaces mémoire et un certain nombre de règles de placement permettant de spécifier le placement des données au niveau système et applicatif. Le problème du besoin de mémoire non-réinscriptible a été adressé par plusieurs optimisations. Premièrement, des moyens de maximiser son utilisation on été proposés. Deuxièmement, le marquage des objets survivants à une collection de données a pu être amélioré.
- Directeur(s) de thèse : Simplot, David - Grimaud, Gilles
AUTEUR
- Marquet, Kevin