Академический Документы
Профессиональный Документы
Культура Документы
B. Miramond UCP
Les OS embarqus
VxWorks : noyau RT le plus utilis dans l'industrie. Supporte TCP/IP et une API socket. Cot des licences important. QNX : noyau RT de type UNIX. Intgre une interface graphique proche de X Window (Photon). QNX peut tre utilis gratuitement pour des applications non commerciales. Trs faible empreinte mmoire. uC/OS : destin des micro-contrleurs type Motorola 68HC11. Support de TCP/IP. Gratuit pour l'enseignement. RTEMS : Real-Time Operating System for Multiprocessor Systems. Gratuit port pour de nombreuses architectures Windows CE : Victime d'une rputation de fiabilit approximative... Lynx OS : Systme RT conforme la norme POSIX. Nucleus : Noyau RT avec support de TCP/IP, une interface graphique, un navigateur web et serveur HTTP. Livr avec les sources, pas de royalties payer pour la redistribution. eCos : Noyau RT (Embeddable Configurable OS), faible empreinte mmoire, bas sur Linux et la chane de cross-compilation GNU (POSIX). Support de TCP/IP. Licence proche GPL. Largement utilis (automobile, imprimante, lecteur MP3). Support des processeurs x86, PowerPC, SH3 Hitachi ou StrongARM.
Les OS embarqus
N o y a u (k e r n e l) : r a lis e le s f o n c tio n s e s s e n t ie lle s ( g e s t io n d e s t c h e s e t m m o ir e ) , in te r fa c e e n tr e le m a t r ie l e t le s a p p lic a tio n s (p ilo t e s ). lib c : b ib lio t h q u e p r in c ip a le c o n te n a n t le s f o n c tio n s d e b a s e u tilis e s p a r le s a p p lic a t if s . A p p lic a t io n s ( o u c o m m a n d e s ) : liv r e s a v e c le s y s t m e o u d v e lo p p e s p o u r d e s b e s o in s s p c if iq u e s .
M a t r ie l
10
Ordonnanceur 2.6
Grande nouveaut : Ordonnanceur en O(1) 2 types de process Process non-Temps Rel : chaque process se voit attribuer une valeur, appele nice value, qui dtermine la priorit et le temps dexcution ce temps dexcution est appel timeslice et correspond au temps maximum quun process peut rester en excution avant de laisser la place un autre. La valeur de nice est comprise entre 20 et 19 inclus, 0 tant la valeur par dfaut et 20 correspond la priorit la plus haute et au timeslice le plus lev Process Temps Rel : chaque process se voit attribuer une priorit comprise entre 1 et 99 inclus les process nonTemps Rel se voient attribuer galement cette priorit mais avec la valeur 0. 99 tant la priorit la plus leve, on comprend alors pourquoi un process Temps Rel sera toujours prioritaire devant un autre non-Temps Rel. Pour les process Temps Rel, il existe deux politiques dordonnancement : SCHED_FIFO : le process Temps Rel restera en excution tant quaucun autre process Temps Rel de priorit suprieure strictement ne sera prt ou tant quil ne passera pas ltat bloqu. Sil est prempt, il reste tout de mme en tte de la liste dexcution des process de mme priorit que lui. Cest donc lui qui sera de nouveau excut quand le process de priorit suprieure aura termin son excution. Idem sil change de priorit, il sera plac en tte de la liste des process excutables ayant cette priorit. Il ne passe en fin de cette liste que par appel explicite de sa part une certaine fonction. SCHED_RR : la politique est identique en tout point la prcdente, exception faite la prsence dun timeslice pour les process de mme priorit. Ainsi, sil ny a pas de process de plus forte priorit pour prempter celui en cours dexcution, au bout dun certain temps ce dernier sera plac en queue de la liste des process de mme priorit. Miramond Benot - UCP 11
http://www.kernel.org/pub/linux/kernel/people/tglx/rt-tests/rt-tests-0.49.ta
Le bench cyclic_test
sur un systme non Temps Rel : $> ./cyclictest a t n p99
T:0( 3431) 39242 T: 1 ( 3432) P:98 P:99 I:1000 C: 100000 Min: 5 Act: 10 Avg: I:1500 C: 66934 Min: 4 Act: 10 Avg: 17 14 Max: Max: 39661
Ici, le rsultat du mme test sur un systme Temps Rel : $> ./cyclictest a t n p99
T: 0 ( 3407) P:99 I:1000 C: 100000 Min: 7 Act:10 Avg: 10 Max: 18 T: 1 ( 3408) P:98 I:1500 C: 67043 Min: 7 Act: 8 Avg: 10 Max: 22 Miramond Benot - UCP 13
Latence d'ordonnancement
Gestion de tches
Changement de contexte
Gestion des IR
Gestion mmoire Monitoring Instrumenter lapplication mesures en temps API HAL rel destination des scheduler Hw/Sw Timer (Utilisation temporel et spatial)