thesis

Architecture logicielle et outils pour systèmes d'exploitation reconfigurables

Defense date:

Jan. 1, 2008

Edit

Institution:

Grenoble INPG

Disciplines:

Abstract EN:

Dynamic reconfiguration allows modifying a system during its execution. Dynamic reconfiguration is important in embedded systems, where one does not necessarily have the luxury to stop a running system. While some operating systems do offer mechanisms for dynamic reconfiguration, the proposed mechanisms are essentially hardwired in the system. This results in a fixed trade-off between flexibility of reconfigurations and the system's efficiency which may be far from optical in certain operational contexts, thus limiting the system reuse. We present an architecture-based programming model allowing both construction of customized reconfigurable system kernels and programming of their reconfigurations. This model is based on the Fractal component model and its C implementation, called Think. The framework supporting our approach encompasses an architecture compiler for building customized system kernels and a reconfiguration compiler.

Abstract FR:

La reconfiguration dynamique est la capacité d'un système logiciel à permettre sa modification pendant son exécution et peut être utilisée pour mettre-à-jour une partie fautive du système, introduire des algorithmes spécialisés, autoriser des extensions faites par des tiers, adapter le système à un nouvel environment et ajouter des sondes de monitoring ou debugging, etc. Les systèmes d'exploitation existants offrent des mécanismes de reconfiguration dynamique, néanmoins ceux-ci sont figés par l'implémentation du système. Par conséquent le compromis entre la flexibilité et l'efficacité du système reconfigurable est fixe et il n'est pas possible de réutiliser le système dans d'autres contextes opérationnels (avec des mécanismes de reconfiguration différents). Nous présentons une approche architecturale pour la construction de systèmes reconfigurables à la carte et la programmation de leurs reconfigurations. Notre modèle de programmation est basé sur le modèle à composants Fractal et son implémentation en C, appelée Think. Le canevas associé au modèle comprend un compilateur d'architecture qui permet de construire des systèmes reconfigurables et un compilateur de reconfigurations. Pour illustrer notre approche, nous avons réalisé plusieurs prototypes de systèmes reconfigurables qui ont permis de montrer la flexibilité de notre approche ainsi qu’une évaluation quantitative et l’impact des différentes implémentations de reconfiguration dynamique sur l’efficacité d’un système concret.