Title: Realtime systems and multitasking Second part
1Real-time systems and multitaskingSecond part
2CM 6 Mastering the time
- Independent task scheduling
- Static scheduling
- Dynamic scheduling
- Taking into account the aperiodic tasks
- Dependant task scheduling
- Tasks with precedence constraints
3Dependent tasks scheduling
4Dependent tasks scheduling
- La coopération des tâches dans une application
industrielle se traduit par un enchaînement de
certaines de leurs actions, par des échanges de
données ou par le partage des mêmes ressources. - Dun point de vue opérationnel, les relations de
dépendances qui peuvent apparaître entre tâches
de lapplication sont de deux types - Contraintes de précédence qui expriment les
relations de synchronisation et de communication
entre tâches. - Le partage de ressources dont lutilisation nest
possible quen exclusion mutuelle. - Remarque lordonnancement de tâches dépendantes
est peu efficace en ligne.
5Prise en compte des contraintes de précédence
- Principe de la solution de Blazewicz1 et de
Chetto al2 - Rendre les tâches indépendantes en fonction de
leur paramètres (ou se ramener à lordonnancement
de tâches indépendantes). - Technique
- Ajustement des dates de réveil, des échéances et
des priorités. - Utilisation dun algorithme classique RM, DM ou
EDF - Égalité des priorités ? utilisation du graphe de
précédence
- J. Blazewicz. Scheduling Dependant tasks with
Different arrival Times to Meet Deadlines . In
Gelende. H. Beilner (cds), Modeling and
Performance Evaluation of Computer Systems,
Amsterdam, Noth-Holland, 1976. - H. Chetto, M. Silly, and T. Bouchentouf. Dynamic
Scheduling of Real Time Systems, The
International Journal of Time-Critical Computing
Systems, 2(3) 181-194, September 1990.
6Contraintes de précédences et Rate Monotonic
- On transforme hors ligne lensemble des tâches
liées par des contraintes de précédences en un
ensemble de tâches indépendantes pour lequel le
test dacceptabilité de Rate Monotonic est
valide. - Cette transformation sopère sur
- le paramètre date de réveil r
- laffectation des priorités.
- riMaxri,rj, Tj ? Ti (La tâche Tj
précède la tâche Ti). - Si Ti?Tj , (Priorité de la tâche Ti) gt (priorité
de la tâche Tj) - Le réveil dune tâche doit être supérieur à
toutes les dates de réveil de ses prédécesseurs
immédiats.
7Exemple de traitement des contraintes de
précédences et RM
- Soient 5 tâches T1, T2, T3, T4, T5 liées par le
graphe de précédence suivant
8Exemple de traitement des contraintes de
précédences et RM
Ti
Tj
- Rappel riMaxri,rj, Tj ? Ti
- r1Maxr1,0, Pas de tâche qui précède la tâche
T1 - AN r1Max0,0 0
- r2Maxr2,0, Pas de tâche qui précède la tâche
T2 - AN r2Max5,0 5
- r3Maxr3,r1, La tâche T1 précède la tâche T3
- AN r3Max0,0 0
- r4Maxr4,r1,r2, Les tâche T1 et T2 qui
précède la tâche T3 - AN r4Max0,0,5 5
- r5Maxr5, r3,r4, Les tâche T3 et T4 qui
précède la tâche T5 - AN r5Max0,0,5 5
9Contraintes de précédences et Earliest
Deadline
- On transforme hors ligne lensemble des tâches
liées par des contraintes de précédences en un
ensemble de tâches indépendantes pour lequel le
test dacceptabilité de Earliest Deadline est
valide. - Cette transformation sopère sur
- le paramètre date de réveil r une tâche ne
sera activable que si tous ses prédécesseurs ont
terminé leur exécution, cest-à-dire que la date
de réveil de cette tâche doit être supérieure à
toutes les dates de réveil de ses prédécesseurs
immédiats augmentées de leur durée dexécution. - le délai critique léchéance dune tâche doit
être inférieure à toutes les échéances de ses
successeurs immédiats diminuées de leur temps
dexécution. - ri Maxri,MaxrjCj, Tj ? Ti
- Di MinDi,MinDj-Cj, Ti ? Tj
10Contraintes de précédences et Earliest
Deadline
- Méthodes de calcul
- calcul des ri commencer par les tâches qui
nont pas de prédécesseurs. - calcul des Di Commencer par les tâches qui
nont pas de successeurs.
T2
T3
T1
calcul des ri
calcul des Di
C1
C3
D2
r1
r2
r2
D2
D3
11Exemple de traitement des contraintes de
précédences et EDF
- Soient 5 tâches T1, T2, T3, T4, T5 liées par le
graphe de précédence suivant
12Exemple de traitement des contraintes de
précédences et EDF calcul des ri
- Rappel ri Maxri,MaxrjCj, Tj ? Ti
- r1Maxr1,0, Pas de tâche qui précède la tâche
T1 - AN r1Max0,0 0
- r2Maxr2,0, Pas de tâche qui précède la tâche
T2 - AN r2Max5,0 5
- r3Maxr3,Maxr1C1, La tâche T1 précède la
tâche T3 - AN r3Max0,(01) 1
- r4Maxr4, Max(r1C1), (r2C2), Les tâche
T1 et T2 qui précède la tâche T3 - AN r4Max0, Max01,52 7
- r5Maxr5, Max(r3C3), (r4C4), Les tâche
T3 et T4 qui précède la tâche T5 - AN r5Max0, Max12,71 8
Ti
Tj
13Exemple de traitement des contraintes de
précédences et EDF calcul des Di
- Rappel Di MinDi,MinDj-Cj, Tj ? Ti
- léchéance dune tâche doit être inférieure à
toutes les échéances de ses successeurs immédiats
diminuées de leur temps dexécution. - D5MinD5,Min - , La tâche T5 na aucun
successeur - AN D5Min12, - 12
- D4MinD4,MinD5-C5, La tâche T5 succède à la
tâche T4 - AN D4Min10,Min12-3 9
- D3MinD3,MinD5-C5, La tâche T5 succède à la
tâche T3 - AN D3Min5,Min12-3 5
- D2MinD2,Min(D4-C4), La tâche T4 succède à
la tâche T2 - AN D2Min7,Min9-1 7
- D1MinD1,Min(D3-C3),(D4-C4), Les tâches T3
et T4 succèdent à la tâche T1 - AN D1Min5,Min(5-2),(9-1) 3
14- Tâches partageant
- des ressources critiques
15Rappel des faits
- Une ressource critique allouée à une tâche ne
peut (la majeure partie du temps) être utilisée
simultanément par plusieurs tâches. - Une tâche qui lutilise doit pouvoir aller
jusquau bout de son utilisation. - Lutilisation de cette ressource doit se faire en
utilisant un mécanisme dexclusion mutuelle.
16Réflexions
- Lordonnancement non préemptif résout le problème
- mais
- Pour garantir les échéances dun ensemble de
tâches indépendantes, on a souvent recours à un
Ordonnanceur préemptif - LOrdonnanceur préemptif permet également
dobtenir des temps de réponse très court de la
tâche la plus prioritaire de lapplication.
17Convention
- Il est habituel dajouter aux paramètres de la
description de la tâche les éléments suivants - Cia séquence dinstruction précédant lappel de
la ressource. - Ciß séquence dinstruction de la section
critique. - Ci? séquence dinstruction suivant la
libération de la ressource. - et Ci Cia Ciß Ci?
P
V
Le code de la tâche en mémoire
Cia
Ci?
Ciß
Cia
ou
Ciß
a0
a1
D0
Ci?
Modèle de la tâche
18La situation TP0 partageant une ressource ngtm
- Blocage provoqué par TP2 - Préemption de TP1
dans la file des tâches bloquées
Déblocage provoqué par TP2
R1
R1
Blocage provoqué par TP2
Temps de réponse de la tâche TP0
R1
R1
Déblocage provoqué par TP0
Préemption par TP1
Préemption par TP0
R1
R1
R1
Demande ressource critique
Utilisation de la ressource critique
R1
Libération ressource critique
ressources critiques m1 Tâches n3
19Le problème
- Si une tâche TP2 qui est en section critique pour
une ressource R1, perd le processeur
réquisitionné par lordonnanceur préemptif au
profit dune autre tâche TP1, cette tâche TP1 ne
pourra utiliser la ressource R1 tant que TP2
naura pas terminé sa section critique. - Lévaluation de la fin de lexécution des tâches
ou temps de réponse, dans ce contexte de partage
de ressources critiques et dordonnancement
préemptif, est rendue difficile, voire
impossible.
20Evaluation du temps de réponse dune tâche
- Temps de réponse
- ? Délai entre lactivation dune tâche et sa
terminaison. - On peut parfois trouver une solution exacte selon
les modèles des tâches.
21Evaluation du temps de réponse dune tâche
- Hypothèses
- Ordonnancement préemptif en ligne.
- Priorités externes fixe attribuées aux tâches.
- On considère que le facteur de charge pour la
configuration de n1 tâches est suffisamment
faible pour conserver lordonnançabilité des
tâches quelles que soient les perturbations
introduites. - Objectif
- Déterminer une borne supérieure pour le temps de
réponse dune tâche T0 qui a une capacité C0
TRréel lt TRmax
22Evaluation du temps de réponse Cas
préemptifTâches indépendantes pas de ressource
critique
- Cas où les tâches sont indépendantes,
périodiques et de même période ou sont
apériodiques avec une seule occurrence par
tâche . - Principe Pour une tâche i, on cherche à
évaluer, au pire cas, son temps dexécution son
temps dattente lorsque les tâches plus
prioritaire sexécutent. Où encore - Reprenez lexemple de lapplication multimédia et
illustrez le calcul du temps de réponse.
- hp(i) Ensemble des tâches de plus forte
priorité que i
23Contraintes de précédence - Détermination dune
borne supérieure du temps de réponse
- Rappelez les résultats obtenus par la méthode de
Chetto/Blazewicz. - Déterminez une borne supérieure du temps de
réponse pour chacune des tâches. - Le systèmes est-il ordonnançable ?
24Evaluation du temps de réponse Cas
préemptifTâches indépendantes pas de ressource
critique
- Cas où les tâches sont périodiques et de même
périodes différentes. - Vérifiez cette relation à partir dun exemple du
cours - T1 100 T2150 T3350
- C1 20 C240 C3100
25Evaluation du temps de réponse Cas
préemptifTâches partageant des ressources
critiques
- On complète la spécification
- La gestion de toutes les files dattente
élection du processeur et attribution des
ressources respecte la priorité externe des
tâches. - On néglige les temps dexécution nécessaire pour
- la demande et la libération des ressources
- la mise en file dattente de la tâche et pour
réveil. - On doit comprendre par cela que
- si T0 est la tâche la plus prioritaire, elle doit
sexécuter en préemptant toutes les autres tâches
sauf celles, appelons-les lp(i), qui, au moment
du déclenchement de T0 utilisent une des
ressources que réclamera T0. - Par ailleurs, si T0 est bloquée à cause dune
ressource utilisée par lp(i), ce blocage devra
cesser dès linstant où lp(i) rendra la
ressource. T0 devra alors recevoir la ressources
immédiatement.
26Evaluation du temps de réponse dune tâche
- Calcul dune borne supérieure du temps de réponse
pour - T0 la tâche la plus prioritaire dun système de n
tâches. - T0 nétant pas la tâche la plus prioritaire dun
système de n tâches.
27Evaluation du temps de réponse dune tâche
- Conventions On appelle
- CRi,q la durée dutilisation maximale de la
ressource critique Ri par la tâche Tq. - CRi,max le maximum des CRi,q pour lensemble des
tâches (pour la ressource Ri). - CRmax,q le maximum des CRi,q sur lensemble des
ressources (pour la tâche Tq). - CRmax le maximum des CRi,q sur lensemble des
ressources et sur lensemble des tâches.
28Evaluation du temps de réponse pour une tâche la
plus prioritaire
- Si T0 est la tâche la plus prioritaire et quelle
est déclenchée à la date r, son exécution peut
être retardée par les tâches moins prioritaire
qui, à la date r, occupent les m0 ressources
critiques que va demander T0. - Cette situation peut se décomposer en deux cas
29Evaluation du temps de réponse pour une tâche la
plus prioritaire
- Cas 1
- À la date r, ces m0 ressources sont occupées par
m0 tâches (représentation sur la diapositive 79). - T2 utilise la ressource R1 convoitée par T0
- On remarque que T1 qui a demandé la ressource R1
avant le réveil de T0, mais qui ne la pas
obtenue, se fait préempter par T0 dans la file
dattente de la ressource. - Exemple avec une seule ressource
- Parmi toutes les ressources (R1 à R2) de la
diapositive 90, les deux ressources sont
utilisées par 2 les tâches TP1 et TP2. Soit m0
2
30Evaluation du temps de réponse pour une tâche la
plus prioritaire partageant 2 ressources ngtm
R2
R2
ressources critiques m2 Tâches n3
TR0
R1
R1
R2
R2
CR1,1
CR2,2
Ri
Demande ressource critique
R1
Utilisation ressources critiques
R2
Ri
Libération ressource critique
31Evaluation du temps de réponse pour une tâche la
plus prioritaire partageant m ressources avec n
tâches nltm
- Cas 2
- À la date r, ces m0 ressources sont occupées par
n1 tâches, avec n1 lt m0 (représentation
diapositive 93) - Les tâches TP1 et TP2 utilisent 3 des ressources
(R2, R3, R4) convoitées par TP0. - On constate que dans ce cas, une tâche au moins
occupe simultanément plusieurs ressources. - Le temps maximum doccupation simultané de
plusieurs ressources par une tâche est alors le
temps doccupation maximum de la ressource la
plus longuement occupée. - Pour le cas de la diapo 93 TR0 C0
CRmax,1 CRmax,2 - avec CRmax,1 CR3,1 ? TP1 utilise R3 plus
longuement que R4 - et CRmax,2 CR2,2 ? TP2 nutilise que R2
32Evaluation du temps de réponse pour une tâche la
plus prioritaire partageant m ressources avec n
tâches nltm
- Est souvent approximé par
- où lon considère pour toutes les tâches la
durée maximum doccupation de la ressource la
plus longuement utilisée pour lensemble des
tâches. - On voyait déjà sur la dispo 93 que le temps
de réponse était surestimé, dans la mesure où
lon prenait en compte la durée doccupation de
la ressource même si celle-ci était déjà entamée
au moment de lactivation de la tâche la plus
prioritaire (T0). Ca devient très franchement
surestimé avec cette dernière relation.
33Evaluation du temps de réponse pour une tâche la
plus prioritaire partageant 4 ressources nltm
R2,R3,R4
R2,R3,R4
ressources critiques m4 Tâches n3
TR0
R3,R4
R3
R4
CR3,1
R2
R2
CR2,2
R1
Ri
R2
Demande ressource critique
R3
Utilisation de m ressources critiques
Ri
R4
Libération ressource critique
34Généralisation de lécriture du temps de réponse
pour une tâche la plus prioritaire
- Dans un contexte de n tâches et m ressources
critiques partagées entre toutes les tâches, avec
m et n fixées, on ne peut se retrouver que dans
un seul des cas cités précédemment (diapo 89 et
91) soit nltm, soit ngtm. - On exprime le pire temps de réponse par la
relation suivante - Avec n le nombre de tâches
- m le nombre de ressources partagées
35Généralisation de lécriture du temps de réponse
pour une tâche qui nest pas la plus prioritaire
- Dans le cas ou la tâche T0 nest pas la tâche la
plus prioritaire, il est possible dévaluer
théoriquement une borne maximale de son temps de
réponse TR0 en associant les équations des diapos
84 et 94. - Avec n1 le nombre de tâches moins prioritaire
de T0 - n2 le nombre de tâches plus prioritaires que T0
36Limitations de lévaluation du temps de réponse
- Toutes ces évaluations de la borne maximale du
temps de réponse pour une tâche quelconque dune
application temps réel sont en réalité mises en
défaut lorsque limplémentation par un
ordonnanceur à priorités fixes ne respecte pas la
spécification de lalgorithme à priorités fixes
externes (cf. diapo 85). - Le non respect de la spécification, et par
conséquent la non validité des analyses
temporelles précédentes et liées à - Linversion de priorité
- Linterblocage.
37Application Aspect graphique
- On reprend lexemple dune configuration de trois
tâches périodiques. Les tâches Tp1 à Tp3.
38Séquence RM sur une hyperpériode -Inversion de
priorité Ne respecte pas la spécification
Séquence dinstruction avant laccès à la
ressource critique
Séquence dinstruction de la section critique
Ressource critique indisponible mais aucune tâche
active ne lutilise
39Séquence RM avec protocole dhéritage de priorité
Respect de la spécification
- Calculer la borne max du temps de réponse pour
chacune des tâches.
40Outil de simulation
- Loutil de Simulation Cheddar et sa notice
dutilisation sont disponibles sur Internet à
ladresse indiquée ci-dessous, en version
Freeware et vous permet de valider lensemble des
ordonnancements que vous avez vu tout au long de
cette présentation. - http//beru.univ-brest.fr/singhoff/cheddar
41Exercices
- Reprenez lexemple de Pathfinder et
Sojourner (le robot martien) et déterminez
une borne max du temps de réponse pour chacune
des tâches. - Rappel des caractéristiques des tâches.
42Diagramme dexécution de lapplication pour
CTACHE_METEO3 avec gestion de ressources
critiques et protocole basé sur lhéritage de
priorité
ORDO_BUS
P
V
P
V
V
P
V
P
V
P
V
DISTRIBUTION_DONNEES
P
V
P
V
P
V
P
V
TACHE_PILOTAGE
P
TACHE_RADIO
TACHE_CAMERA
TACHE_MESURES
P
V
P
V
TACHE_METEO
20
5
10
15
25
30
Prendre
- Séquence dexécution valide.
Vendre
43Diagramme dexécution de lapplication pour
CTACHE_METEO3 avec gestion de ressources
critiques et protocole basé sur la super-priorité
ORDO_BUS
P
V
P
V
P
V
P
V
P
V
P
V
P
V
DISTRIBUTION_DONNEES
P
V
P
V
P
V
TACHE_PILOTAGE
TACHE_RADIO
TACHE_CAMERA
TACHE_MESURES
P
V
P
V
TACHE_METEO
Non préemption de la section critique
20
5
10
15
25
30
Prendre
- Séquence dexécution valide.
Vendre
44- Reprenez lensemble des exemples en utilisant
lordonnancement EDF. - Le systèmes est-il ordonnançable sans protocole
dhéritage de priorité ? - Reprendre les exercices du premier TD sur
lordonnancement dynamique.
45Linterblocage
46Calcul du temps de réponse et comparaison avec le
comportement de lexemple
47Prévention de linversion de priorité
protocole de priorité plafonnée
48Introduction à lordonnancement multiprocesseur
- Ou ordonnancement réparti
49Ordonnancement conjoint de tâches et de messages
- Introduction aux systèmes Temps Réel répartis
- Les facteurs suivants ont conduits à repenser les
applications temps réel - La complexité des procédés à commander ou
superviser - La répartition géographique des procédés
- La robustesse
- Exemple de système informatique composé de
plusieurs unités de traitement (ordinateurs ou
API), de capteurs, dactionneurs, de
périphériques de visualisation et de dialogue
avec lopérateur - Dans une usine de production industrielle
montage de véhicules - Dans un laminoir
- Dans un véhicule
50Problèmes des systèmes répartis
- La répartition des systèmes temps réel introduit
de nouveaux problèmes - Lobservation et lévolution des différents
constituants du procédé est retardée et
différente dun site à un autre à cause des
délais de communication variables. - Les tests dordonnançabilité et les calculs de
garantie des contraintes de temps de tâches
communicantes, donc lordonnancement temps réel
réparti, sont tributaires de ces dérives
dhorloges et de ces délais de communication. - La tolérance aux fautes est beaucoup plus
complexe.
51Ordonnancement dans les systèmes répartis
- Lordonnancement des tâches dans ce contexte se
fait à deux niveaux - Au niveau de chaque processeur ? ordonnancement
local - Au niveau du placement des tâches sur chaque
processeur ? ordonnancement global - Ordonnancement local allocation dun processeur
à une tâche en tenant de lurgence et de
limportance de la tâche. - Ordonnancement global permet dessayer de
garantir les contraintes de tâches en exploitant
les capacités de traitement des différents
processeurs composant le système réparti. - On ne parlera ici que de lordonnancement global
placement et migration des tâches
52Placement des tâches dans un système réparti
- Les tâches peuvent être affectées/placées de
manière - Statique
- Il ne peut plus y avoir de tâche pendant
lexécution de lapplication placement des
tâches figées à linitialisation du système. - Dynamique
- Lalgorithme dordonnancement choisi de placer
chaque tâche sur le site le plus apte à respecter
ses contraintes temporelles, au moment où elle
est déclenchée.
53Placement dynamique
- Les algorithmes de placement dynamique permettent
de trouver un site où sera exécutée la tâche qui
vient dêtre créée ou déclenchée. - Système réparti sans migration
- La tâche sera exécutée complètement sur le site
qui lui a été choisi. - Système réparti avec migration
- La migration dune tâche consiste à transférer
- son contexte (ie. Les données, le contenu des
registres du processeur, etc.) qui évolue au fur
et à mesure que la tâche sexécute - Éventuellement son code (les instructions et les
constantes qui composent la tâche). - Une minimisation du temps de migration dune
tâche consiste à dupliquer son contexte sur les
cibles susceptibles de laccueillir.
54Délai de communication
- Le délai de communication entre deux tâches
placées sur une même machine est souvent
considéré comme négligeable. - Il est évalué en fonction des instructions
machines nécessaires pour accéder à une structure
de données connues des deux tâches communicantes
(boîte à lettres, file de message, ). - Le délai de communication entre deux tâches
distantes est beaucoup plus complexe et plus
difficile à évaluer avec précision selon que les
stations sur lesquelles se trouvent les tâches
communicantes sont - Directement reliées sur un réseau local avec
topologie en bus, boucle ou étoile. - Indirectement reliées sur un réseau maillé.
55Décomposition des délais de transmission entre
deux tâches distantes
Tâche productrice
Tâche consommatrice
Couches supérieures
Couches supérieures
d1
d6
d2
d5
Sous-couche MAC
Sous-couche MAC
d3
Médium
d4
d3
d2
d1
Tâche productrice
t
Tâche consommatrice
t
d4
d5
d6
d4
Délai de bout en bout
56Ordonnancement sous contrainte de tempset
dénergie
- Augmentation continue des performances et
fonctionnalités des applications nécessitent des
composants électroniques fonctionnant à des
fréquences toujours plus élevées. - Parallèlement, la technologie des batteries ne
progresse pas suffisamment vite pour satisfaire à
ces nouveaux besoins. - Lautonomie est un problème majeur pour de
nombreux équipements électroniques dont
lalimentation en énergie est assurée par des
batteries (ordinateurs portables, robots mobiles,
implants médicaux-pacemaker, téléphones
portables,
57Final conclusion
- Nous avons donc présenté les principaux
ordonnancements des systèmes temps réel pour des
tâches indépendantes périodiques. - Parmi ceux-ci
- des ordonnancement statiques (RM et DM)
- Des ordonnancements dynamiques (EDF et LLF)
- Puis les ordonnancements prenant en compte des
tâches apériodiques indépendantes à contraintes
relatives - parmi ceux-ci
- lordonnancement en tâche de fond
- les serveurs de tâches
- serveur de scrutation
- serveur sporadique
- Vol de temps Slack Stealer et ordonnancement
conjoint. - Nous avons terminé par lordonnancement des
tâches dépendantes - gestion des contraintes de précédences
- La liste des mécanismes vue nest pas exhaustive,
il appartiendra au lecteur de compléter ses
connaissances par la lecture douvrages,
darticles et de thèses traitant de ce domaine.
58Avis
- Nous avons recherché à vérifier
lordonnançabilité dun systèmes de tâches en
ligne et hors ligne . - Cela nempêche pas que certaines tâches manquent
leur échéance suite à une surcharge du processeur
par exemple. - Nous navons toléré aucune faute, il nen ai pas
de même dans les systèmes réels où le fait de
rater une échéance nest peut être pas vital. - De même pour permettre le traitement de tâches
par exemple apériodiques et de plus très
prioritaires, on aura tendance à sacrifier
dautres tâches de priorité moindre. - Consulter la littérature pour en savoir plus.
59- Thank you for your attention.
- Que le temps réel soit avec vous.
60Bibliographie
- PICos OS temps réel pour lautomobile norme
OSEK/VDX - Présentation OSEK
- Bruno Gaujal et Nicolas Navet, Ordonnancement
sous contrainte de temps et dénergie , ENS Lyon
et LORIA-INPL
61- Introduction sur Xenomai (from RTAI)
- Linux Temps Réel RTAI/Fusion
-
- Enjeux et marché
-
- La maîtrise des technologies liées à Internet et
au numérique permet aux grands industriels de
lélectronique professionnelle et grand public de
mener une innovation sans précédent et de
développer de nouveaux concepts de produits.
Téléphones mobiles, convergence du téléphone fixe
et de la voix sur IP (VoIP), TNT, automation,
biométrie, domotique tous ces secteurs de
lélectronique sont concernés sans exception. Les
contraintes conjuguées de time to market et
dinnovation obligent aux meilleurs choix
techniques et à la réutilisation de composants
logiciels éprouvés. Il en découle lémergence
très forte de Linux et de lOpen Source dans le
domaine de l'informatique embarquée et du temps
réel pour lesquels les systèmes propriétaires
étaient à ce jour la règle. - Une nouvelle fois, les logiciels libres
bousculent le marché et changent la donne comme
il l'ont fait il y a plusieurs années déjà dans
le domaine des serveurs d'entreprise. -
- Acteurs et expertise
-
- Open Wide, acteur spécialisé de lintégration
Open Source en environnement industriel depuis
2001, est de fait le premier acteur européen en
matière dexpertise Open Source en informatique
embarquée et temps réel. Ses réalisations et ses
experts techniques sont prestigieux et leurs
implications communautaires nombreuses et
reconnues. -
- Technologie
-
- RTAI
-
- Historique
-
- Le projet RTAI (pour Real Time Application
Interface) a pour origine une version modifiée de
RTLinux, initialement un projet open source lancé
par Victor Yodaiken et Michael Barabanov de
l'université du nouveau Mexique aux USA. Paolo
Mantegazza, du département aéronautique de
l'école polytechnique de Milan (DIAPM) avait à
l'époque effectué des modifications afin de créer
un composant dérivé mieux adapté à ses besoins,
en l'occurrence l'enseignement.