Logiciels libres en milieu industriel

  • Published on
    18-Dec-2014

  • View
    1.966

  • Download
    2

Embed Size (px)

DESCRIPTION

Cette prsentation dcrit des utilisations de logiciel libre (Linux) pour des dveloppements informatiques dans des projets industriels, embarqus et temps rel. Le portage d'une application crite pour des RTOS traditionnels vers Linux est galement abord. Le document a t prsent lors de Solutions Linux 2007

Transcript

<ul><li> 1. Ce document est le proprit de CIO Informatique Industrielle et ne peut tre diffus sans son autorisation crite Le libre en milieu industriel Retour d'expriences Confrence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007 </li> <li> 2. CIO Informatique Industrielle Ce document est le proprit de CIO Informatique Industrielle et ne peut tre diffus sans son autorisation crite Socit d'ingnierie en informatique industrielle et technique Au service de nos clients depuis 1990 Une quipe de 15 spcialistes pour accompagner les projets industriels ou militaires La culture des systmes ouverts et normaliss, l'expertise de l'embarqu et du temps rel Investissement sur Linux depuis 2000 Sige St Etienne Agence Marseille Membre de Libertis, association de SSLL en rgion PACA http://www.libertis.org Confrence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007 </li> <li> 3. Linux en milieu industriel Ce document est le proprit de CIO Informatique Industrielle et ne peut tre diffus sans son autorisation crite Des caractristiques sduisantes pour les besoins industriels : Possibilit de dveloppement crois Adaptation de l'OS pour devices rduits Solutions pour prise en compte de contraintes temps rel Trs grand nombre d'architectures supportes Processeur utilis dans les applications embarques (Embedded Linux Market Survey 2005 LinuxDevices.com) Linux disponible sur les 5 architectures les plus utilises Confrence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007 </li> <li> 4. Linux chez CIO Ce document est le proprit 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 dfense Comportent gnralement des aspects temps rel et/ou embarqu, et des interactions avec le monde rel OS utiliss jusqu'en 2000 : Windows pour les IHM et quelques projets de contrle/commande RTOS traditionnels tels OS9, VxWorks, QNX etc.... Action volontariste en direction de Linux partir de 2000 Dmarche base sur : Connaissance pralable d'Unix Intuition que la puissance d'Unix sur des bases matrielles accessibles (PC) serait une association intressante. Confrence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007 </li> <li> 5. Linux chez CIO Ce document est le proprit de CIO Informatique Industrielle et ne peut tre diffus sans son autorisation crite Une dmarche en 3 temps : Prise en compte de la technologie sur projet de R&amp;D interne Communication sur Linux auprs de la clientle, beaucoup d'intrt mais peu de projets Dcollage important des projets industriels en Linux Projets bass sur Linux 100 90 80 70 60 50 % C.A. 40 30 20 10 0 2000 2002 2004 2006 Confrence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007 </li> <li> 6. Linux chez CIO Ce document est le proprit de CIO Informatique Industrielle et ne peut tre diffus sans son autorisation crite Monte en puissance en plusieurs phases : Remplacement d'OS spcialiss et propritaires 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 embarqus sur X86, PowerPC, Arm, bientt FPGA et micro contrleurs (2007) Projets temps rel avec extensions RTAI et Xenomai Prsentation de quelques projets Confrence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007 </li> <li> 7. Le projet : Contrle/Commande sur Linux/RTAI Ce document est le proprit de CIO Informatique Industrielle et ne peut tre diffus sans son autorisation crite Buts du projet : Contrler 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 ralis en 2001 Confrence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007 </li> <li> 8. Les contraintes du projet Ce document est le proprit de CIO Informatique Industrielle et ne peut tre diffus sans son autorisation crite Ncessit d'un dterminisme temps rel valuation des solutions compatibles avec un dterminisme la milliseconde Masquage des aspects informatiques de la solution Pas de processus d'installation complexe Rsistance aux coupures brutales Stabilit des solutions retenues Confrence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007 </li> <li> 9. Les choix de design Ce document est le proprit de CIO Informatique Industrielle et ne peut tre diffus sans son autorisation crite Dterminisme Evaluation des solutions possibles : patches du kernel, RTLinux, RTAI Patches disponibles permettent seulement du soft temps rel, insuffisant RTAI plus riche au niveau API que RTLinux, retenu Robustesse Eviter les corruptions de File System des aux arrts 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 donnes variables Installation Installation de l'OS et de l'applicatif en 1 seule passe (3 disquettes d'installation) Confrence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007 </li> <li> 10. Les difficults rencontres Ce document est le proprit de CIO Informatique Industrielle et ne peut tre diffus sans son autorisation crite Complexit due RTAI Dveloppement en mode kernel Pas de protection mmoire (similaire certains OS temps rel) Debug plus difficile Possibilit de plantage complet du systme(amlior depuis en trappant les exceptions) Design de l'application rparti entre Linux et RTAI Communication avec l'extrieur sous Linux Processus de contrle commande sous RTAI Echanges entre parties RTAI (modules kernel) et process Linux par des mcanismes d'IPC Absence de drivers RTAI Migration des drivers Linux vers RTAI Confrence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007 </li> <li> 11. Les difficults rencontres Ce document est le proprit de CIO Informatique Industrielle et ne peut tre diffus sans son autorisation crite Allocateur mmoire RTAI Ncessit d'allouer dynamiquement de la mmoire partage entre Linux et RTAI RTAI propose 2 allocateurs Allocateur dynamique pour mmoire interne RTAI Allocateur non dynamique pour mmoire partage entre RTAI et Linux CIO cre un nouvel allocateur, synthse des 2 allocateurs existants Illustration concrte des avantages de l'Open Source Documentation pas toujours jour Confrence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007 </li> <li> 12. Les aspects positifs Ce document est le proprit de CIO Informatique Industrielle et ne peut tre diffus sans son autorisation crite Solution rellement temps rel : temps de cycle de 1ms strictement respect Solution facilement embarquable Empreinte disque infrieure 3 Mo Empreinte mmoire de l'ordre de quelques Mo Accessibilit des sources de la plateforme systme Possibilit de correction de bugs bloquants Possibilit de customisation pour besoins propres (nouvel allocateur) Confrence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007 </li> <li> 13. Le projet : Portage OS9 vers Linux Ce document est le proprit 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 cots de portage sur une partie de l'application du client (pile de gestion SNMP de l'quipement) Projet ralis fin 2004 Confrence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007 </li> <li> 14. La dmarche Ce document est le proprit de CIO Informatique Industrielle et ne peut tre diffus sans son autorisation crite Travailler au niveau systme pour minimiser les cots de portage Base sur une bonne connaissance des OS de dpart et d'arrive Cration de wrappers sous forme de fichiers headers ou de librairie de transition 1re phase de portage sur un PC Linux Facilit de dveloppement et de debug Pas besoin de hardware spcifique au niveau applicatif 2me phase de passage sur le hardware dfinitif Processeur PowerQuick (architecture PowerPC) Confrence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007 </li> <li> 15. Les difficults rencontres Ce document est le proprit 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 tolrant Des portions de code reprendre pour passer la compilation Problmes d'alignement des structures de donnes : Diffrences d'alignement entre compilateurs OS9 et Linux Problme pour les changes sur le rseau Pas de mise des donnes au format rseau : Problme rvl par la phase 1 de travail sur PC Linux (Intel vs Motorola) Passage de toutes les donnes rseau par les routines de mise au format rseau (htonl, htons, ntohl, ntohs etc...) Confrence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007 </li> <li> 16. Les difficults rencontres Ce document est le proprit de CIO Informatique Industrielle et ne peut tre diffus sans son autorisation crite Modle de mmoire Application multi tches avec de nombreuses structures de donnes partages OS9 utilis en mmoire plat Linux impose une mmoire segmente Les structures de donnes partages vhiculent des pointeurs Les zones de mmoire partages sont situes des adresses diffrentes selon les process Linux incohrence des pointeurs 2 solutions : Remplacer les pointeurs par des offsets Mapper les mmoires partages la mme adresse pour tous les process 2nde solution adopte pour minimiser la rcriture, mais solution moins sre (mapping dpendant de l'volution de chaque process) Confrence le libre en milieu industriel - Solutions Linux 2007 - 30 Janvier 2007 </li> <li> 17. Les difficults rencontres Ce document est le proprit de CIO Informatique Industrielle et ne peut tre diffus sans son autorisation crite Utilisation massive de signaux et d'alarmes temporelles : OS9 permet un trs grand nombre de signaux users, et de multiples alarmes armes en parallle Ncessit de mult...</li></ul>