Logiciels Libres et Systèmes Embarqués


6.8. Conclusion et résultats

Pour les besoins de SMP, j'ai réalisé une distribution Linux basée sur ce travail et comportant en plus un serveur HTTP et un serveur Telnet. Si on se connecte sur ce système par le port série, on peut en apprécier l'occupation mémoire :

# cat /proc/meminfo
MemTotal:   31080 kB
MemFree:    28640 kB
MemShared:      0 kB
Buffers:       32 kB
Cached:      1476 kB
SwapCached:     0 kB
Active:       268 kB
Inactive:    1416 kB
HighTotal:      0 kB
HighFree:       0 kB
LowTotal:   31080 kB
LowFree:    28640 kB
SwapTotal:      0 kB
SwapFree:       0 kB

Mon système démarre en moins de cinq secondes, sans compter le temps de chargement qui dépend clairement du support (CompactFlash, Flash, Ethernet, ...). Le tableau suivant récapitule les performances de toutes les distributions Linux pour Virtex que j'ai pu tester :

Tableau 6.3. Evaluation des différentes distributions

 occupation mémoiretemps de démarrageclassement
mon travail4128 Ko5 secondes1
Avnet15008 Ko20 secondes2
MontaVista25196 Ko35 secondes3


On peut se demander pourquoi j'arrive à avoir des performances supérieures aux autres systèmes. En ce qui concerne le temps de démarrage, j'utilise un noyau et un disque racine non-compressés, je gagne donc le temps de compression même si je perds en temps de chargement (critère non affiché dans le tableau précédent). L'idéal étant de trouver un juste équilibre entre ces deux temps. Cependant, ce n'est pas la seule raison, puisqu'avec un noyau et un disque racine compressés, mon système reste plus rapide au chargement. Cela est du simplement au fait que je ne lance pas de logiciels inutiles lors du démarrage du système, contrairement aux deux autres distributions. En ce qui concerne l'occupation mémoire, la différence principale est due au fait que ma distribution utilise µClibC comme bibliothèque C à la place de la GlibC. J'invite le lecteur à lire le chapitre A en annexe pour plus d'informations sur les performances des systèmes embarqués.