next up previous contents
suivant: Conclusion monter: SYNTHÈSE précédent: Présentation de l'entreprise IRTS   Table des matières

Sous-sections

Le projet

Présentation du sujet

Le projet qui m'a été confié fait suite au développement de l'utilisation des logiciels libres, au cours de ces dernières années. L'une des composantes les plus populaires du monde du logiciel libre est le système d'exploitation GNU/Linux. En plus d'être populaire dans les milieux universitaires et de recherche, ce système, de par ses innombrables qualités qui seront exposées ultérieurement, séduit les entreprises.

La société IRTS voit dans cette montée en puissance des perspectives de nouveaux marchés et a donc décidé d'ajouter GNU/Linux et ses dérivés, temps réel notamment, à ses domaines de compétences.

Le sujet de base de ce stage était la mise en oeuvre et l'évaluation du noyau RTLinux en terme de fonctionnalités et de performances. Mais, RTLinux, de par son architecture, est utilisé en interaction forte avec le noyau Linux et les outils GNU qui l'accompagnent. Le noyau temps réel RTLinux n'est rien par lui même. J'ai donc pris l'initiative d'élargir le sujet de mon stage, d'autant qu'à plusieurs reprises, j'ai dû répondre à des questions générales relatives aux systèmes à base de logiciels libres. Je pense que cette approche permettra à IRTS de choisir la bonne solution logicielle en réponse à une demande client dans ce domaine.

Environnement de développement

Afin de mettre en oeuvre ses solutions à base de logiciels libres, la société IRTS a créé une plate-forme de développement de type PC. Julien Gaulmin y a installé GNU/Linux, lors d'un stage précédent.

Ce PC à base de processeur AMD K6II 300MHz tourne sous une distribution SuSE Linux 6.1. J'y ai ajouté les différents outils logiciels nécessaires à un projet sous RTLinux, RTAI, Linux et BlueCat Linux. La distribution Red Hat Linux 6.1 a dû être installée sur ce PC pour pouvoir utiliser le kit de développement de Lynx: BlueCat Linux.

Tous les outils d'ingénierie logicielle (éditeurs de textes, compilateurs, éditeurs de liens...) ainsi que les pages de manuel et les codes sources de l'OS et des drivers existants sont fournis dans les distributions et sont disponibles sur de nombreux sites Internet. J'ai disposé ainsi de nombreuses sources d'informations et d'une communauté toujours à l'écoute des problèmes de l'un de ses membres.

Figure 2.1: Matériel mis à ma disposition.
\resizebox*{1\textwidth}{!}{\includegraphics{matos_psp.eps}}



Le rack CPCI inova sert de machine cible dans le développement d'applications embarquées. Le cycle de mise en oeuvre d'un système embarqué, résumé sur le schéma 2.2, est facilité par l'utilisation des outils mis à la disposition du développeur par BlueCat Linux.

Figure 2.2: Cycle de développement d'un logiciel embarqué
\includegraphics{dev_embedded.eps}

Déroulement de l'activité technique

Mon stage a commencé par deux semaines de travail intense : je devais répondre à un appel d'offre lancé par le Service Technique de la Navigation Aérienne. La consultation portait sur un ensemble de PC industriels tournant sous GNU/Linux opérant dans un système critique du contrôle aérien. Rentrant dans un mécanisme de gestion de calculateurs redondants, ces PC devaient contrôler d'autres machines et faire basculer le travail, d'un calculateur à l'autre, en cas de panne. Robustesse, fiabilité et temps de réponse sont demandés à de tels systèmes. Ceci m'a permis d'aborder directement le monde de l'embarqué sous GNU/Linux.

Puis, j'ai abordé la partie principale de mon stage : les Linux temps réel et RTLinux en particulier. Le choix de RTLinux est discuté dans le dossier technique en 5.1.2.

La partie de mon projet concernant le son s'est avérée être ardue car elle mobilisait beaucoup de concepts, nouveaux pour moi. Il fallait me familiariser avec les notions relatives au signal sonore, aux driver PCI, à la mesure de performance d'un système d'exploitation temps réel. Donc, cette partie avait aussi pour but de mesurer les performances temps réel de RTLinux soit la latence, la gîte et le temps de réponse à une interruption.

Durant toutes les phases de ce stage, j'ai dû me tenir au courant de tous les développements relatifs au monde de l'informatique embarquée. En effet, en s'intéressant aux Linux temps réel, on est plongé dans ce milieu en permanence. Actuellement, son activité est débordante et il ne faut rater aucune annonce sous peine de vite voir ses connaissances périmées (par exemple: la sortie, pendant ces quatre mois, de RTLinux V3beta et de RTAI V1.3 avec à chaque fois, de nouvelles fonctionnalités, de nouveaux drivers USB plus performants...). Cette activité de veille technologique me semble très importante : l'élargissement du sujet de mon stage et ce rapport en sont le fruit.

Techniques et connaissances mises en oeuvre

Ce projet m'a fortement intéressé car, tout au long de son déroulement, j'avais toujours quelque chose de nouveau à apprendre. Il m'a permis de suivre au jour le jour les activités d'une communauté de programmeurs, d'utiliser et d'alimenter l'énorme source de développements communs. En plus de connaissances techniques, il m'a fallu développer mon esprit de synthèse, en ne gardant que l'essentiel et le pertinent de tous les renseignements présents sur Internet.

Systèmes d'exploitation - noyaux:
GNU/Linux (SuSE, Red Hat), RTLinux, RTAI, BlueCat Linux (Lynx Inc.)
Développement:
C/C(GNU), outils GNU: tar, make, API POSIX, API RTLinux, modules noyau Linux.
Pilotes:
carte TOR(ISA), carte son (PCI), port parallèle.
Performances:
signal sonore et driver carte son, API son, caractérisation temps réel (benchmark)


next up previous contents
suivant: Conclusion monter: SYNTHÈSE précédent: Présentation de l'entreprise IRTS   Table des matières
Nicolas Ferre 2000-12-08