Generation De Systeme D Exploitation Pour Le Ciblage De Logiciel Multitache Sur Des Architectures Multiprocesseurs Heterogenes Dans Le Cadre Des Systemes Embarques Specifiques

Download Generation De Systeme D Exploitation Pour Le Ciblage De Logiciel Multitache Sur Des Architectures Multiprocesseurs Heterogenes Dans Le Cadre Des Systemes Embarques Specifiques PDF/ePub or read online books in Mobi eBooks. Click Download or Read Online button to get Generation De Systeme D Exploitation Pour Le Ciblage De Logiciel Multitache Sur Des Architectures Multiprocesseurs Heterogenes Dans Le Cadre Des Systemes Embarques Specifiques book now. This website allows unlimited access to, at the time of writing, more than 1.5 million titles, including hundreds of thousands of titles in various foreign languages.
Génération de système d'exploitation pour le ciblage de logiciel multitâche sur des architectures multiprocesseurs hétérogènes dans le cadre des systèmes embarqués spécifiques

La part du logiciel est de plus en plus importante dans les circuits électroniques spécifiques. Ce logiciel, complexe, doit pouvoir être décrit en faisant abstraction du matériel : il est alors nécessaire de fournir une couche logicielle faisant l'interface entre le logiciel de haut niveau et l'architecture spécifique. Cette étape, appelée "ciblage logiciel" est une étape fastidieuse qu'il serait intéressant d'automatiser. Ce mémoire propose de réaliser automatiquement cette étape en générant des systèmes d'exploitation spécifiques à l'architecture et à l'application logicielle. L'outil de ciblage présenté prend en entrée une spécification de l'architecture et de l'application, et produit en sortie le code des systèmes d'exploitation spécifiques pour chaque processeur en sélectionnant et assemblant des éléments contenus dans une bibliothèque. La spécification logicielle prend la forme de tâches interconnectées dont le comportement est indépendant de l'architecture : une API (pour "Application Programming Interface" en anglais) est fournie par les systèmes d'exploitation pour réaliser les opérations dépendant de l'architecture telles que les communications. Cet outil a été utilisé pour une application VDSL. L'objectif était de générer deux systèmes d'exploitation pour deux processeurs ARM7, avec plusieurs protocoles de communication et de synchronisation. Les systèmes générés se sont avérés de très petites tailles, et leurs performances se comparent favorablement à celles des systèmes d'exploitation commerciaux.
Conception d'un système d'exploitation supportant nativement les architectures multiprocesseurs hétérogènes à mémoire partagée

Cette thèse présente le système d'exploitation MutekH, capable de s'exécuter nativement sur une plateforme matérielle multiprocesseur, où les processeurs peuvent être de complexité différente et disposer de spécificités ou de jeux d'instructions différents. Les travaux présentés ici s'insèrent dans un contexte où les systèmes multi-core et les processeurs spécialisés permettent tous deux de réduire la consommation énergétique et d'optimiser les performances dans les systèmes embarqués et dans les systèmes sur puce. Les autres solutions logicielles existantes permettant l'exécution d'applications sur des plateformes multiprocesseurs hétérogènes ne permettent pas, à ce jour, la communication par mémoire partagée, telle qu'on l'envisage habituellement pour les systèmes multiprocesseurs homogènes. Cette solution est la seule qui permet la réutilisation du code source d'applications parallèles existantes pour leur exécution directe par des processeurs différents. La solution proposée est mise en oeuvre en deux phases: grâce au développement d'un noyau dont l'abstraction rend transparente l'hétérogénéité des processeurs, puis à la réalisation d'un outil spécifique d'édition des liens, capable d'harmoniser le code et les données des fichiers exécutables chargés en mémoire partagée. Les résultats obtenus montrent que MutekH permet l'exécution d'applications préexistantes utilisant des services standards, tels que les Threads POSIX, sur des plateformes multiprocesseurs hétérogènes sans dégradation des performances par rapport aux autres systèmes d'exploitation opérant sur des plateformes multiprocesseurs classiques.