TH`ESE Architecture logicielle et outils pour syst`emes d`exploitation

INSTITUT NATIONAL POLYTECHNIQUE DE GRENOBLE
Nattribu´
e par la biblioth`
eque
TH`
ESE
pour obtenir le grade de
DOCTEUR DE l’INPG
Sp´
ecialit´
e : «Informatique : Syst`
emes et Logiciels »
pr´
epar´
ee au laboratoire LSR-IMAG, projet SARDES,
dans le cadre de l’Ecole Doctorale
«Math´
ematiques Sciences et Technologies de l’Information »
pr´
esent´
ee et soutenue publiquement par
Juraj POLAKOVIC
le 25 Juin 2008
Architecture logicielle et outils pour syst`
emes d’exploitation
reconfigurables
Directeur de th`
ese :
Jean-Bernard STEFANI
JURY
M. Gilles MULLER Pr´
esident
Mme Val´
erie ISSARNY Rapporteur
M. Gilles GRIMAUD Rapporteur
M. Jacques MOSSI`
ERE Examinateur
M. Jean-Philippe FASSINO Examinateur
M. Jacques PULOU Examinateur
M. Jean-Bernard STEFANI Directeur de th`
ese
ii
Abstract
Dynamic reconfiguration allows modifying a system during its execution, and can be used to apply
patches and updates, to implement adaptive systems, dynamic instrumentation, or to support third-party
modules. 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 me-
chanisms 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 optimal in certain operational
contexts, thus limiting the system reuse.
We present an architecture-based programming model allowing both construction of customized re-
configurable system kernels and programming of their reconfigurations. This model is based on the
FRACTAL component model and its C implementation for constructing component-based operating sys-
tems, called THINK. The framework supporting our approach encompasses an architecture compiler for
building customized system kernels and a reconfiguration compiler. We developed several prototypes of
reconfigurable systems that show the flexibility of our approach and the impact of different implementa-
tions of reconfiguration mechanisms on the system’s performance.
R´
esum´
e
La reconfiguration dynamique est la capacit´
e d’un syst`
eme logiciel `
a permettre sa modification pen-
dant son ex´
ecution et peut ˆ
etre utilis´
ee pour mettre-`
a-jour une partie fautive du syst`
eme, introduire des
algorithmes sp´
ecialis´
es, autoriser des extensions faites par des tiers, adapter le syst`
eme `
a un nouvel en-
vironment et ajouter des sondes de monitoring ou debugging, etc.
Les syst`
emes d’exploitation existants offrent des m´
ecanismes de reconfiguration dynamique, n´
ean-
moins ceux-ci sont fig´
es par l’impl´
ementation du syst`
eme. Par cons´
equent le compromis entre la flexibi-
lit´
e et l’efficacit´
e du syst`
eme reconfigurable est fixe et il n’est pas possible de r´
eutiliser le syst`
eme dans
d’autres contextes op´
erationnels (avec des m´
ecanismes de reconfiguration diff´
erents).
Nous pr´
esentons une approche architecturale pour la construction de syst`
emes reconfigurables `
a
la carte et la programmation de leurs reconfigurations. Notre mod`
ele de programmation est bas´
e sur
le mod`
ele `
a composants FRACTAL et son impl´
ementation en C, appel´
ee THINK. Le canevas associ´
e au
mod`
ele comprend un compilateur d’architecture qui permet de construire des syst`
emes reconfigurables et
un compilateur de reconfigurations. Pour illustrer notre approche, nous avons r´
ealis´
e plusieurs prototypes
de syst`
emes reconfigurables qui ont permis de montrer la flexibilit´
e de notre approche ainsi qu’une
´
evaluation quantitative et l’impact des diff´
erentes impl´
ementations de reconfiguration dynamique sur
l’efficacit´
e d’un syst`
eme concret.
iii
iv
Table des mati`
eres
1 Introduction 1
1.1 Une d´
enition........................................ 1
1.2 Int´
erˆ
ets de la reconfiguration dynamique . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Syst`
emesrecongurables.................................. 3
1.4 Objectifs de la th`
ese..................................... 4
1.4.1 M´
ecanismes de reconfiguration dynamique . . . . . . . . . . . . . . . . . . . . 5
1.4.2 Construction des syst`
emes reconfigurables `
alacarte ............... 5
1.4.3 Programmation des reconfigurations . . . . . . . . . . . . . . . . . . . . . . . . 5
1.5 Organisationdudocument ................................. 6
I Probl´
ematique et Etat de l’art 7
2 Etat de l’art 9
2.1 Syst`
emesrecongurables.................................. 9
2.2 Syst`
emes d’exploitation reconfigurables . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.1 Classification des syst`
emes d’exploitation reconfigurables . . . . . . . . . . . . 10
2.2.2 Mod`
elesdarchitecture............................... 13
2.3 Synth`
ese........................................... 15
2.3.1 Flexibilit´
e...................................... 15
2.3.2 Efficacit´
e ...................................... 17
2.3.3 Garanties...................................... 17
2.3.4 Outils........................................ 18
2.4 Conclusion ......................................... 20
II Contributions 21
3 Vers un mod`
ele de construction de syst`
emes reconfigurables 23
3.1 Concepts fondamentaux de la reconfiguration dynamique . . . . . . . . . . . . . . . . . 24
3.1.1 Architecture et la reconfiguration dynamique . . . . . . . . . . . . . . . . . . . 24
3.1.2 Etat et la reconfiguration dynamique . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2 Aperc¸udelacontribution.................................. 26
3.2.1 Limitations..................................... 28
3.2.2 Mise-en-oeuvre................................... 29
3.2.3 Organisation de la contribution . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.3 Fondationsdelapproche.................................. 29
3.3.1 Le mod`
ele `
acomposantFractal .......................... 30
v
1 / 137 100%

TH`ESE Architecture logicielle et outils pour syst`emes d`exploitation

La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !