Ce document est le propriété de CIO Informatique Industrielle et ne peut être diffusé sans son autorisation écrite
       ...
CIO Informatique Industrielle




                                                                                        ...
Linux en milieu industriel




                                                                                           ...
Linux chez CIO




                                                                                                  Ce do...
Linux chez CIO




                                                                                                   Ce d...
Linux chez CIO




                                                                                                  Ce do...
Le projet : Contrôle/Commande
        sur Linux/RTAI




                                                                 ...
Les contraintes du projet




                                                                                            ...
Les choix de design




                                                                                                  ...
Les difficultés rencontrées




                                                                                          ...
Les difficultés rencontrées




                                                                                          ...
Les aspects positifs




                                                                                                 ...
Le projet : Portage OS9 vers
             Linux




                                                                      ...
La démarche




                                                                                                  Ce docum...
Les difficultés rencontrées




                                                                                          ...
Les difficultés rencontrées




                                                                                          ...
Les difficultés rencontrées




                                                                                          ...
Les aspects positifs




                                                                                                 ...
Le projet : Redondance
          Ethernet




                                                                            ...
Le concept




                                                                                             Ce document es...
Pourquoi Linux ?




                                                                                                  Ce ...
La mise en oeuvre




                                                                                                  Ce...
La mise en oeuvre




                                                                                                  Ce...
Les aspects positifs




                                                                                                 ...
Quelques autres projets
         concrets




                                                                            ...
La gestion des évolutions




                                                                                            ...
Synthèse




                                                                                                  Ce document...
Synthèse




                                                                                                  Ce document...
Pour aller plus loin




                                                                                                 ...
Conférence le libre en milieu industriel
-
                                                                               ...
Upcoming SlideShare
Loading in …5
×

Logiciels libres en milieu industriel

2,424 views

Published on

Cette présentation décrit des utilisations de logiciel libre (Linux) pour des développements informatiques dans des projets industriels, embarqués et temps réel.

Le portage d'une application écrite pour des RTOS traditionnels vers Linux est également abordé.

Le document a été présenté lors de Solutions Linux 2007

Published in: Technology, Travel
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,424
On SlideShare
0
From Embeds
0
Number of Embeds
38
Actions
Shares
0
Downloads
74
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Logiciels libres en milieu industriel

  1. 1. Ce document est le propriété de CIO Informatique Industrielle et ne peut être diffusé sans son autorisation écrite Le libre en milieu industriel Retour d'expériences Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007
  2. 2. CIO Informatique Industrielle Ce document est le propriété de CIO Informatique Industrielle et ne peut être diffusé sans son autorisation écrite Société d'ingénierie en informatique industrielle et technique Au service de nos clients depuis 1990 Une équipe de 15 spécialistes pour accompagner les projets industriels ou militaires La culture des systèmes ouverts et normalisés, l'expertise de l'embarqué et du temps réel Investissement sur Linux depuis 2000 Siège à St Etienne Agence à Marseille Membre de Libertis, association de SSLL en région PACA http://www.libertis.org Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007
  3. 3. Linux en milieu industriel Ce document est le propriété de CIO Informatique Industrielle et ne peut être diffusé sans son autorisation écrite Des caractéristiques séduisantes pour les besoins industriels : Possibilité de développement croisé Adaptation de l'OS pour devices réduits Solutions pour prise en compte de contraintes temps réel Très grand nombre d'architectures supportées Processeur utilisé dans les applications embarquées (Embedded Linux Market Survey 2005 LinuxDevices.com) Linux disponible sur les 5 architectures les plus utilisées Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007
  4. 4. Linux chez CIO Ce document est le propriété de CIO Informatique Industrielle et ne peut être diffusé sans son autorisation écrite Projets types : Logiciels sur cahier des charges pour des clients du monde industriel ou de la défense Comportent généralement des aspects temps réel et/ou embarqué, et des interactions avec le monde réel OS utilisés jusqu'en 2000 : Windows pour les IHM et quelques projets de contrôle/commande RTOS traditionnels tels OS9, VxWorks, QNX etc.... Action volontariste en direction de Linux à partir de 2000 Démarche basée sur : Connaissance préalable d'Unix Intuition que la puissance d'Unix sur des bases matérielles accessibles (PC) serait une association intéressante. Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007
  5. 5. Linux chez CIO Ce document est le propriété de CIO Informatique Industrielle et ne peut être diffusé sans son autorisation écrite Une démarche en 3 temps : Prise en compte de la technologie sur projet de R&D interne Communication sur Linux auprès de la clientèle, beaucoup d'intérêt mais peu de projets Décollage important des projets industriels en Linux Projets basés sur Linux 100 90 80 70 60 50 % C.A. 40 30 20 10 0 2000 2002 2004 2006 Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007
  6. 6. Linux chez CIO Ce document est le propriété de CIO Informatique Industrielle et ne peut être diffusé sans son autorisation écrite Montée en puissance en plusieurs phases : Remplacement d'OS spécialisés et propriétaires sur architecture 68K, PowerPC par Linux sur architecture X86 (banalisation des composants issus du monde PC) Essaimage sur d'autres architectures Actuellement utilisé sur : Projets embarqués sur X86, PowerPC, Arm, bientôt FPGA et micro contrôleurs (2007) Projets temps réel avec extensions RTAI et Xenomai Présentation de quelques projets Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007
  7. 7. Le projet : Contrôle/Commande sur Linux/RTAI Ce document est le propriété de CIO Informatique Industrielle et ne peut être diffusé sans son autorisation écrite Buts du projet : Contrôler une machine de production à partir d'un PC industriel sous Linux (machine d'usinage) Projet pilote pour valider la technologie Linux chez le client Projet réalisé en 2001 Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007
  8. 8. Les contraintes du projet Ce document est le propriété de CIO Informatique Industrielle et ne peut être diffusé sans son autorisation écrite Nécessité d'un déterminisme temps réel Évaluation des solutions compatibles avec un déterminisme à la milliseconde Masquage des aspects informatiques de la solution Pas de processus d'installation complexe Résistance aux coupures brutales Stabilité des solutions retenues Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007
  9. 9. Les choix de design Ce document est le propriété de CIO Informatique Industrielle et ne peut être diffusé sans son autorisation écrite Déterminisme Evaluation des solutions possibles : patches du kernel, RTLinux, RTAI Patches disponibles permettent seulement du soft temps réel, insuffisant RTAI plus riche au niveau API que RTLinux, retenu Robustesse Eviter les corruptions de File System dûes aux arrêts brutaux (pas encore de File System journalisé) File System monté en Ram Disk Une partie minimale du File System sur disque dur pour mise à jour des données variables Installation Installation de l'OS et de l'applicatif en 1 seule passe (3 disquettes d'installation) Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007
  10. 10. Les difficultés rencontrées Ce document est le propriété de CIO Informatique Industrielle et ne peut être diffusé sans son autorisation écrite Complexité due à RTAI Développement en mode kernel Pas de protection mémoire (similaire à certains OS temps réel) Debug plus difficile Possibilité de plantage complet du système(amélioré depuis en « trappant » les exceptions) Design de l'application réparti entre Linux et RTAI Communication avec l'extérieur sous Linux Processus de contrôle commande sous RTAI Echanges entre parties RTAI (modules kernel) et process Linux par des mécanismes d'IPC Absence de drivers RTAI Migration des drivers Linux vers RTAI Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007
  11. 11. Les difficultés rencontrées Ce document est le propriété de CIO Informatique Industrielle et ne peut être diffusé sans son autorisation écrite Allocateur mémoire RTAI Nécessité d'allouer dynamiquement de la mémoire partagée entre Linux et RTAI RTAI propose 2 allocateurs Allocateur dynamique pour mémoire interne à RTAI Allocateur non dynamique pour mémoire partagée entre RTAI et Linux CIO crée un nouvel allocateur, synthèse des 2 allocateurs existants Illustration concrète des avantages de l'Open Source Documentation pas toujours à jour Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007
  12. 12. Les aspects positifs Ce document est le propriété de CIO Informatique Industrielle et ne peut être diffusé sans son autorisation écrite Solution réellement temps réel : temps de cycle de 1ms strictement respecté Solution facilement embarquable Empreinte disque inférieure à 3 Mo Empreinte mémoire de l'ordre de quelques Mo Accessibilité des sources de la plateforme système Possibilité de correction de bugs bloquants Possibilité de customisation pour besoins propres (nouvel allocateur) Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007
  13. 13. Le projet : Portage OS9 vers Linux Ce document est le propriété de CIO Informatique Industrielle et ne peut être diffusé sans son autorisation écrite Buts du projet : Remplacement d'une architecture ancienne 68K/OS9 par une architecture PowerQuick/Linux Assurer la faisabilité et estimer les coûts de portage sur une partie de l'application du client (pile de gestion SNMP de l'équipement) Projet réalisé fin 2004 Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007
  14. 14. La démarche Ce document est le propriété de CIO Informatique Industrielle et ne peut être diffusé sans son autorisation écrite Travailler au niveau système pour minimiser les coûts de portage Basée sur une bonne connaissance des OS de départ et d'arrivée Création de wrappers sous forme de fichiers headers ou de librairie de transition 1ère phase de portage sur un PC Linux Facilité de développement et de debug Pas besoin de hardware spécifique au niveau applicatif 2ème phase de passage sur le hardware définitif Processeur PowerQuick (architecture PowerPC) Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007
  15. 15. Les difficultés rencontrées Ce document est le propriété de CIO Informatique Industrielle et ne peut être diffusé sans son autorisation écrite Qualité du code source initial : Compilateur OS9 laxiste (car ancien) Compilateur GCC actuel beaucoup moins tolérant Des portions de code à reprendre pour passer la compilation Problèmes d'alignement des structures de données : Différences d 'alignement entre compilateurs OS9 et Linux Problème pour les échanges sur le réseau Pas de mise des données au format réseau : Problème révélé par la phase 1 de travail sur PC Linux (Intel vs Motorola) Passage de toutes les données réseau par les routines de mise au format réseau (htonl, htons, ntohl, ntohs etc...) Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007
  16. 16. Les difficultés rencontrées Ce document est le propriété de CIO Informatique Industrielle et ne peut être diffusé sans son autorisation écrite Modèle de mémoire Application multi tâches avec de nombreuses structures de données partagées OS9 utilisé en mémoire à plat – Linux impose une mémoire segmentée Les structures de données partagées véhiculent des pointeurs Les zones de mémoire partagées sont situées à des adresses différentes selon les process Linux  incohérence des pointeurs 2 solutions : Remplacer les pointeurs par des offsets Mapper les mémoires partagées à la même adresse pour tous les process 2nde solution adoptée pour minimiser la réécriture, mais solution moins sûre (mapping dépendant de l'évolution de chaque process) Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007
  17. 17. Les difficultés rencontrées Ce document est le propriété de CIO Informatique Industrielle et ne peut être diffusé sans son autorisation écrite Utilisation massive de signaux et d'alarmes temporelles : OS9 permet un très grand nombre de signaux users, et de multiples alarmes armées en parallèle Nécessité de multiplexer les signaux users sous Linux Traitement des alarmes temporelles dans des threads d'alarme Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007
  18. 18. Les aspects positifs Ce document est le propriété de CIO Informatique Industrielle et ne peut être diffusé sans son autorisation écrite Démarche en 2 phases (PC puis PowerQuick) réussie  code portable sur toute architecture Linux Confort de la mise au point sur le PC de développement, en natif Peu de reprise du code applicatif Reprises liées au changement de compilateur (modulo la solution retenue pour la mapping mémoire) Traitement « en transparence » du changement d'OS au niveau du fichier header et de la librairie de transition Validation de la faisabilité de porter d'un RTOS assez spécifique à Linux (modèle mémoire, signaux, alarmes etc...) Portage réalisé dans les budgets initialement prévus  possibilité d'extrapoler le coût du portage global de l'application Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007
  19. 19. Le projet : Redondance Ethernet Ce document est le propriété de CIO Informatique Industrielle et ne peut être diffusé sans son autorisation écrite Buts du projet : Développer un équipement assurant la redondance d'un réseau Ethernet La redondance doit rester transparente aux applications (déjà existantes) Le matériel doit être très facilement modifiable (architecture processeur, facteur de forme etc...) Équipement réalisé à partir d'une CPU et de 3 ports réseau Ethernet Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007
  20. 20. Le concept Ce document est le propriété de CIO Informatique Industrielle et ne peut être diffusé sans son autorisation écrite Duplication du trafic Filtrage des paquets dupliqués Trafic normal Trafic redondé Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007
  21. 21. Pourquoi Linux ? Ce document est le propriété de CIO Informatique Industrielle et ne peut être diffusé sans son autorisation écrite Le client souhaitait disposer du code source de l'ensemble du logiciel : Système Applicatif Possibilité de réaliser le produit avec le maximum d'ouverture Choix de la CPU le plus large possible (Intel, PPC, Arm) Couverture la plus large possible en terme de chipset Ethernet Nécessité d'une application totalement enfouie : Logiciel boite noire Temps de démarrage réduit Logiciel assimilable à un firmware Qualité des stacks réseau de Linux Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007
  22. 22. La mise en oeuvre Ce document est le propriété de CIO Informatique Industrielle et ne peut être diffusé sans son autorisation écrite Projet réalisé sur : Architecture PowerQuick (PPC) : CPU disposant de 3 ports Ethernet Architecture Intel : CPU + carte réseau Ethernet additionnelle dans rack Compact PCI Application travaillant au niveau 802.3 en mode promiscuous Génération de trames au format TCP/IP pour supervision de l'équipement 1ère version développée de manière classique, sous forme de processus 2nde version développée sous forme de kernel module pour optimiser la performance Nécessité de modifier légèrement le code d'un driver Ethernet pour exploiter le mode promiscuous Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007
  23. 23. La mise en oeuvre Ce document est le propriété de CIO Informatique Industrielle et ne peut être diffusé sans son autorisation écrite Réalisation d'une empreinte de faible taille pour flashage File system Linux minimal avec lancement de l'application de gestion de la redondance, aucune interaction avec un utilisateur Pas d'adresse IP au niveau de l'équipement pour permettre un remplacement sans reconfiguration Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007
  24. 24. Les aspects positifs Ce document est le propriété de CIO Informatique Industrielle et ne peut être diffusé sans son autorisation écrite Application effectivement portable : Réalisée sur architecture PPC et Intel Drivers Ethernet internes au PowerQuick (FEC) et Intel EtherExpress Pro utilisés Temps de mise en route très court : Quinzaine de secondes pour Linux et applicatif Temps du BIOS sur architecture Intel incompressible Image compacte flashable dans quelques Mo, application totalement enfouie Très peu de perte de bande passante ou de retard induit dans la version optimisée (module kernel) Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007
  25. 25. Quelques autres projets concrets Ce document est le propriété de CIO Informatique Industrielle et ne peut être diffusé sans son autorisation écrite Boîtier enregistreur pour l'industrie automobile : CPU PC104 + carte DSP + carte CAN sous Linux 2.4 + RTAI, portage des drivers + squelette applicatif Appareil d'analyse médicale : CPU ARM, Linux 2.6 + librairies graphiques légères, génération et installation de l'environnement, automatisation de la création de l'image Concentrateur de données embarqué sur engin militaire Cartes VME PowerPC sous Linux 2.6, drivers + applicatif Nouvelle carte basée sur processeur XScale Développements système : Bootloader, Boot Linux, drivers Création du File System de base incluant services réseau, paramétrage Web, supervision SNMP Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007
  26. 26. La gestion des évolutions Ce document est le propriété de CIO Informatique Industrielle et ne peut être diffusé sans son autorisation écrite Politique de versions : Ne pas courir derrière la nouveauté Attendre des versions de kernel mineure suffisamment stables (> 15) Geler au maximum une version validée, et n'en changer qu'en cas de bug bloquant En cas de bug bloquant, plusieurs possibilités : Correction par soi même à partir des sources Application sélective de patch(s) pour corriger localement le bug Changement global de version Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007
  27. 27. Synthèse Ce document est le propriété de CIO Informatique Industrielle et ne peut être diffusé sans son autorisation écrite Intérêt de l'Open Source pour la possibilité d'accès aux sources Compréhension / mise au point, corrections etc... Ne pas tomber dans une analyse exhaustive du source (un industriel n'est pas une université !!!) Richesse des outils de génie logiciel liés au monde Linux Doxygen pour la documentation CVS pour gestion de version etc... Une plateforme technique arrivée à maturité Pour l'embarqué Support de multiples architectures Possibilité de viser quelques Mo de Flash et de RAM (ex: 8 Mo Flash/16 Mo RAM) Pour le temps réel, mais au prix de l'utilisation d'extensions si l'on vise du temps réel dur Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007
  28. 28. Synthèse Ce document est le propriété de CIO Informatique Industrielle et ne peut être diffusé sans son autorisation écrite Gratuité des outils de développement issus du monde libre Pas de risque lié à l'évolution commerciale d'une société Rachat Changement de stratégie Déplacement des coûts de l'acquisition d'outils à l'acquisition de compétences Fort potentiel technique des solutions, dynamisme du développement Phase d'apprentissage à prévoir : ne pas réinventer la roue, support différent du modèle traditionnel etc.... Absence d'interlocuteur central, mais possibilité d'appui par la communauté ou des sociétés spécialisées telle CIO Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007
  29. 29. Pour aller plus loin Ce document est le propriété de CIO Informatique Industrielle et ne peut être diffusé sans son autorisation écrite Pour toute information complémentaire : Visitez notre site Web http://www.cioinfoindus.fr Contactez nous : Tél : 04 95 05 19 41 Mail : mailto:christian.charreyre@cioinfoindus.fr Possibilité d'envoi des slides de la présentation sur demande Conférence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007
  30. 30. Conférence le libre en milieu industriel - Questions ? Solutions Linux 2007 - 30 Janvier 2007 Ce document est le propriété de CIO Informatique Industrielle et ne peut être diffusé sans son autorisation écrite

×