Systèmes embarqués et logiciel libre



Documents pareils
Présentation des intervenants. Pourquoi cette conférence? Logiciel libre : notions essentielles. Le logiciel libre pour les projets industriels

Le logiciel libre. Jeudi 19 janvier Rémi Boulle Sébastien Dinot

Comment travailler avec les logiciels Open Source

Systèmes en réseau : Linux 1ère partie : Introduction

Linux embarqué: une alternative à Windows CE?

Naissance d'un REPTAR

Internet des objets 1

Informatique industrielle A Systèmes temps-réel J.F.Peyre. Partie I : Introduction

Introduction aux systèmes temps réel

Logiciels libres et Open source

Découverte des Logiciels Libres. Gilles Dequen

Chapitre 1 Retour en arrière

Jean-Christophe BECQUET

Linux pour l embarqué. 1 Module E4 : Systèmes temps-réel Audrey Marchand

Les Licences Libres Ouverture et Protection des Logiciels. Plan

MI03 TP. Objectifs du TP 1ère séance. 2ème séance. Construction d'un système linux embarqué complet

VoIP : les solutions libres

Construction et sécurisation d'un système Linux embarqué. Frédéric AIME

Environnements de développement (intégrés)

Le concept de virtualisation regroupe

Utilisation de matériels industriels avec des outils de virtualisation open source. Open Source dans le monde industriel

GenDbg : un débogueur générique. Didier Eymery Jean-Marie Borello Jean-Marie Fraygefond Odile Eymery Philippe Bion

Les logiciels libres. Université Antilles Guyane 14 novembre 2008 Olivier Watté

Virtualisation open source État de l'art

Conférences «objets connectés» (IOT)

Modèles économiques de l'open Source

LINAGORA / BLUE MIND. Note Technique. établie à la demande de la société LINAGORA. 18 février Contexte et mission 2

Guide d installation JMap 5.0

Systèmes Embarqués Libres

Annexe : La Programmation Informatique

Une tasse de café fumante est

Services Réseaux - Couche Application. TODARO Cédric

Alexandre Buge Epitech 5 Promo Soutenance de stage du 01/03/2004 au 31/08/2004

Jean-Christophe BECQUET

Stratégie de sécurité grâce au logiciel libre. Frédéric Raynal Cédric Blancher

JOnAS 5. Serveur d application d

Stratégie informatique

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES

Point sur les solutions de développement d apps pour les périphériques mobiles

JOnAS 5 Enterprise OSGi javaee compliant

Catalogue des stages Ercom 2013

Dossier. Développer en Java sur téléphone mobile. Benjamin Damécourt UFR SITEC Master 2 EESC 11 janvier 2012

Les Réunions Info Tonic. Utiliser les logiciels libres dans mon entreprise Mardi 21 janvier 2014

IFT3902 : (Gestion de projet pour le) développement, (et la) maintenance des logiciels

Linux 1: Présentation

Debian en milieu professionnel. This document is under the GNU Free Documentation License.

MQPerf un outil de diagnostic en mode SaaS des performances optimales du MOM JORAM

Systèmes embarqués D.Rossier

2 mars HERS Libramont - Semaine Entreprise. Logiciel Libre et entreprise: un vaste catalogue de services

Gestion d'un parc informatique public avec LTSP

ATICA Agence pour les Technologies de l Information et de la Communication dans l Administration

Burckel Thomas. Formation. Compétences

Stratégie Open Source et Présentation du Centre de recherche et d innovation sur le logiciel libre

RTDS G3. Emmanuel Gaudin

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

Les tableaux de bord de pilotage de nouvelle génération. Copyright PRELYTIS

Plan de la conférence. Virtualization. Définition. Historique. Technique. Abstraction matérielle

1 JBoss Entreprise Middleware

Installation et prise en main

ÉdIteur officiel et fournisseur de ServIceS professionnels du LogIcIeL open Source ScILab

9 rue Lucien Roullier Goussainville / INGÉNIEUR SYSTÈME LINUX

Logiciels Open Sources et le Secteur Privé

Virtualisation CITRIX, MICROSOFT, VMWARE OLIVIER D.

Linux embarqué, Linux Temps Réel : présentation

Virtual Box Mettez un PC dans votre... PC

Chef de projet / Architecte JEE 15 ans d expérience

La montée des bases de données open source

Virtualisation de serveurs Solutions Open Source

Open-cloud, où en est-on?

Gouvernance open source : retour d'expérience. Céline Fontaine juriste 12 octobre 2012, EOLE «FOSS: Standing on the shoulders of law», Paris

Résultats de l Observatoire 2013 Etats des Lieux de l Open Source en France réalisé en décembre 2012

Logiciels libres en entreprise

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/ Vue générale 2 - Mon premier programme 3 - Types de Programme Java

Introduction au temps réel

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova

Iphone vs. Android. Mardi 17 Novembre 2009 Paris, la Défense. Xavier PARADON, Directeur Technique Valtech Training

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

par Tarik Fdil

VIDÉOSURVEILLANCE. Procédures de paramétrage des différentes box du marché

Virtualisation sous Linux L'age de raison. Daniel Veillard

Projet de développement

Pierre De Dobbeleer. Spécialiste Project Management, Electronique, Réseaux et télécommunications

Compilation croisée sous Linux et Windows

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant R&T 1ère année. Sylvain MERCHEZ

Oracle Fusion Middleware Concepts Guide 11g Release 1 (11.1.1) Figure 1-1 Architecture Middleware

Utilisation d'outils de WebMapping OpenSource dans une collectivité territoriale Communauté de Communes de l'agglomération Saint-Loise (CCASL)

END OF SUPPORT. transtec Approche de la migration

Adresse directe fichier : Adresse url spécifique sur laquelle le lien hypertext du Client doit être

Exigences système Edition & Imprimeries de labeur

Les Fiches thématiques logiciels libres. Définition, avantages et limites

Méthodologie de mise en place de

Yann BECHET 32 ans 8 ans d expérience yann@bechet.org

INGÉNIEUR - DÉVELOPPEUR SENIOR EMBEDDED - C/C++ - MICROCONT RÔLEURS. 34 ans - 10 ans d'expérience

CAHIER DES CHARGES D IMPLANTATION

Transcription:

Pierre Ficheux (pierre.ficheux@openwide.fr) Avril 2012 1

Présentation PF Ingénieur Arts et Métiers + Sup'Aéro Utilisateur de logiciels s depuis 1989 Utilisateur de Linux depuis 1992 Auteur des trois éditions de l'ouvrage «Linux embarqué» (Eyrolles), 4ème édition 6/2012 Auteur GNU Linux Magazine, Open Silicium CTO Open Wide Ingénierie, enseignant EPITA 2

Présentation Open Wide SSII/SSLL créée en septembre 2001 avec Thales et Schneider Indépendante depuis 2009 Environ 100 salariés sur Paris et Lyon et Toulouse (1/2012)! Industrialisation de composants open source Quatre activités : OW Système d'information OW Outsourcing: hébergement OW Ingénierie: informatique industrielle OW Technologies: composants Java 3

Domaines d utilisation 4

Domaines d'application 1960-70 : remplacer la mécanique et la logique «câblée» lorsque c'est possible (souplesse) 1980 : RTOS (Real Time OS) génériques Historique Militaire, spatial (RTOS/360, VRTX sur Hubble) Contrôle de processus industriel Transport : AUTOSAR/OSEK, ARINC 653 certification (DO-178,...) Internet/Telecom : routeurs, PABX (Chorus) Assimilé / émergent Multimédia : audio, vidéo, TV, automobile (GENIVI), Téléphonie, médical 5

Les «nouveaux» domaines Équipement grand public jusque la isolé (multimédia, domotique, ) «Infotainment» transport: automobile, aéronautique Ajout de fonctions communicantes utilisation de protocoles standards de type IP et dérivés (HTTP, DHCP, etc.) Difficile d'intégrer ces couches dans des logiciels embarqués propriétaires utilisation d'un OS Notion de «boite noire» dédiée à un ensemble de fonctions (téléphonie, set-top box avec services étendus) 6

«Bare board» / RTOS Pas de système d'exploitation (Bare Board) Système (très) critique ou très réduit Éventuellement un simple «exécutif» temps réel (Sysgo) Utilisation d'un RTOS Plus de souplesse et portabilité mais plus d'empreinte mémoire Certification possible sur certains OS : VxWorks 653 (Wind River), LynxOS-178 / LynxOS-SE (LynuxWorks), INTEGRITY-178 (Green Hills) 7

GPOS / RTOS GPOS (Windows, Linux,...) Lissage des priorités (dynamique) => complexe Grand nombre de tâches concurrentes (> 200 sur un PC Linux «inactif») 15M lignes de code pour le noyau Linux 3.x! RTOS Prévisible : évaluer le pire des cas Déterministe : faible influence de la charge Pas ou peu de notion de «performances moyennes» Peu de tâches concurrentes Léger (< 100K lignes de code pour FreeRTOS) 8

RTOS, les types de temps-réel Temps-réel mou : un retard dans l obtention du résultat n est pas dramatique (multimédia) Temps-réel dur : un retard dans l obtention du résultat le rend inutile (pilotage matériel) Temps-réel «ferme» : un retard, s il arrive très peu souvent, peut être toléré (téléphonie, multimédia) La plupart des systèmes temps-réel modernes sont «hybrides» (exemple : Linux/Xenomai) Certaines tâches sont temps-réel (dur) D'autres ne le sont pas ou peu (mou/ferme) Frontière mou/dur parfois difficile à définir! 9

Asynchrone Approches asynchrone / synchrone Interaction avec l'environnement (interruption), dérive d'horloge entre calculateurs Modélisation complexe (nombreux cas de préemption) Synchrone Modélisation statique du comportement Pas d'interruption ni d'allocation dynamique Convient aux systèmes critiques Langages dédiés, génération de code (ESTEREL, SIGNAL, SynDEx) Exemple du métro automatique parisien 1/14 10

Quelques «RTOS» célèbres VxWorks de WindRiver (édite également WR Linux) QNX, UNIX like Windows CE / XP Embedded, Windows Mobile LynxOS de LynuxWorks (édite également BlueCat Linux) Nucleus (Mentor Graphics) µc/os (micro-c OS) et µc/os II: RTOS pour micro-contrôleurs VRTX uitron psos 11

Le logiciel 12

Le logiciel, introduction A peu près équivalent à la notion d'open source, voir http://www.opensource.org La confusion vient de la signification anglaise free = / gratuit Différents types de logiciels Le freeware ou graticiel: gratuit mais sources non disponibles, pas forcément de licence (abandon de la «paternité» du code) Le shareware: sources non disponibles, coût modique, licence souvent propriétaire Le logiciel : sources disponibles, licence open source, non liée à la notion de gratuité (on peut vendre un logiciel ) 13

Logiciel s, quelques éléments Le logiciel n'est pas forcément gratuit La migration vers du logiciel n'est JAMAIS gratuite => le «coût du changement» Les licences, même s doivent être respectées (cf assignation de Free par la FSF ou problème avec Busybox) Ces licences ne sont pas incompatibles avec la vente de logiciel (embarqué ou non) ni de matériel La conception de l'architecture du système est fondamentale afin de prévenir les problèmes de licence 14

Les licences s Doivent être compatibles avec le modèle, voir http://www.opensource.org Problème de compatibilité avec les droits nationaux Exemples de licences : GPL / LGPL BSD MIT/X11 Mozilla FDL (pour la documentation) CeCILL (France) Voir http://fr.wikipedia.org/wiki/licence_ 15

GPL/LGPL en bref (Linux) GPL = General Public License (GNU/FSF) On la surnomme également «copyleft» La GPL v2 (1991) est la plus répandue (ex: noyau Linux), GPL v3 en 2007 (DRM) La licence s'applique uniquement en cas de redistribution Un code source utilisant du code GPL est du travail dérivé et doit être publié Publication: celui qui reçoit la version binaire peut obtenir le code source Pas de lien (ld) possible entre du code GPL et du code «propriétaire» => possible avec la LGPL (Lesser-GPL) 16

Quelques projets s majeurs X Window System (X11), MIT (MIT/X11) Projet GNU (GPL/LGPL) GCC, EMACS,... FreeBSD (BSD) Apache (Apache) Noyau Linux (GPL) Eclipse (EPL) Mozilla / Thunderbird (MPL) WebKit (BSD/LGPL) Qt (LGPL) Android (partiellement)... 17

Avantages/inconvénients du logiciel Avantages Disponibilité du code source: maitrise et maintenabilité dans le temps Redistribution sans royalties Développements dérivés de code source existant Outils de développement «gratuits»! Inconvénients Méfiance des décideurs, modèle décentralisé apparaissant comme «flou» Contraintes des licences (GPL, LGPL) Support parfois non officiel pour certains matériels Manque d'outils et de documentation 18

Les (RT)OS s 19

Linux comme (RT)OS Réservé aux systèmes complexes 32 bits Gestion complexe de la mémoire (MMU) Empreinte mémoire importante: 2 Mo pour µclinux (MMU-less), 4 Mo pour Linux Consommation mémoire vive : 16 Mo minimum Migration temps réel des anciens RTOS complexe car Linux n est pas TR évolution avec les extensions PREEMPT-RT et Xenomai Incompatible avec les systèmes critiques Souvent utilisé pour les outils, les simulateurs et architectures «mixtes» (banc de test) 20

Linux comme (RT)OS, suite Désormais, «embarqué» n implique pas forcément «temps réel» et/ou très faible empreinte mémoire Dans les autres cas on peut utiliser d'autres systèmes plus légers et TR ecos / Lepton ( / POSIX) RTEMS ( / POSIX) Micro-C-OS II (8 bits ou plus) 21

ecos Embeddable Configurable OS (CYGNUS 1997) Supporte de nombreux CPU (16), 32 et 64 bits Empreinte mémoire de 10 à 100 Ko Outils de configuration avancé, gestion de «packages» Version «pro» par Utilisé dans le multimédia : http://www.ecoscentric.com/ecos/examples.s html 22

RTEMS Real-Time Executive for Missile/Military Systems RTE for Multiprocessor Systems Développé depuis 1988, depuis 1994 32 bits CPU (8/16 bits avec TinyRTEMS) API POSIX, ARINC 653 (AIR/ESA) Programmation C/C++/Ada Empreinte minimale entre 64 et 128 Ko (256 à 400 Ko suivant le nombre de paquets) Utilisation industrielle (ESA, EADS,...) Large communauté de développeurs http://wiki.rtems.org/wiki/index.php 23

Les outils 24

Typologie des outils Développement: compilation, mise au point (GNU Toolchain) EDI / IDE Construction de distribution, paquets logiciels, production Emulation Sondes «matérielles» (JTAG) Outils divers (gestion de version) La plupart de ces outils existent dans le monde du logiciel 25

Outils de développement Intégration des outils GNU (compilation, mise au point) dans un EDI (Environnement de Développement Intégré) Eclipse + plugin CDT (C/C++) QtCreator Produits commerciaux liés à un éditeur (Eclipse + outils) Workbench (Wind River CDT) DevRocket (Montavista) Libre ou commercial? Outils additionnels intégrés (LTT, KGDB,...) Support technique! 26

Création de distribution Linux Utiliser un produit d éditeur (Wind River, MV, ) Adapter une distribution Linux classique Limité au niveau matériel (x86) Empreinte mémoire importante Pour des cas très particuliers Créer la distribution «from scratch» Complexe Difficile/impossible à industrialiser: gestion des dépendances évolutions Utiliser un outil de génération : Buildroot, OpenEmbedded, OpenWrt, LTIB 27

Utilisation des outils de production Un «moteur» crée la distribution à partir des sources des composants adaptés en appliquant des «patch» Ne fournit pas les sources: uniquement les patch et les règles de production prenant en compte les dépendances :-) Peut produire la chaîne croisée Produit les différents éléments de la distribution Image du bootloader Noyau Linux Image du «root-filesystem» 28

Quelques outils de production s OpenEmbedded Moteur écrit en Python Très puissant mais lourd Basé sur des fichiers de configuration! Buildroot Au départ un démonstrateur pour uclibc Désormais un véritable outil, bien maintenu! OpenWrt Dérivé de BR Orienté vers les IAD (Internet Access Device) Autres: LTIB, PTXdist,... 29

OpenEmbedded Une «généralisation» de l'approche utilisée dans BR Utilise un moteur écrit en Python (bitbake) et un ensemble de règles utilisant un principe d'héritage => «recipe» (recette) Pas d'interface de configuration Processus lourd => plusieurs heures pour la première compilation (environ 30mn pour BR) TRES puissant, recommandé dans le cas ou l'on gère un grand nombre de configurations Gère la notion de paquet binaire, contrairement à BR 30

Buildroot 31

Buildroot, histoire Lié au projet uclibc (micro-c-libc) : libc plus légère que la Glibc But initial: produire des images de test de uclibc Moteur basé sur des fichiers Makefile et des scripts-shell Outil de configuration «graphique» Peut désormais utiliser Glibc, Eglibc,... Repris en 2009 par Peter Korsgaard et Thomas Petazzoni Une version officielle tous les 3 mois: 2009.02,..., 2011.02...2012.02 32

Émulateur QEMU Émulateur de matériel initialement développé par Fabrice Bellard, diffusé sous GPL v2 Exécuté dans l'espace utilisateur de Linux Permet d'émuler diverses architectures: x86, PowerPC, ARM, etc. Émulation de carte complète => outil de développement, mise au point, test automatique Outil de certification DO-178 (Couverture) => http://www.open-do.org/projects/couverture Désormais, large communauté avec dépôt Git sur http://git.savannah.gnu.org/cgit/qemu.git Voir la démo 33

Sondes JTAG GDB gdbserver / KGDB Sondes JTAG commerciales (Abatron, Wind River, ) OpenOCD () 34

Outils «s» pour l embarqué critique OCARINA (TPT) : «compilateur» AADL (Architecture Analysis and Design Language) SynDEx (INRIA) : Synchronized Distributed Executive, générateur de code «synchrone» POK (TPT) : RTOS ARINC 653 TASTE (ESA) : The Assert Set of Tools for Engineering TOPCASED (Airbus) : Toolkit in OPen source for Critical Applications & SystEms Development B événementiel (CLEARSY) Initiative Open-DO (www.open-do.org) 35

Linux: tendances 36

Les tendances 2003-2007 37

Linux foundation (2010) 38

Linux foundation (2010), suite 39

Explication du phénomène Fiabilité et performances de Linux validation dans le monde du serveur Disponibilité du code source Support matériel généralisé ou presque Pas de royalties (interdit par les licences OSS) Réduction des coûts (prix des licences développeur PME) Orientation stratégique des leaders de l embarqué vers Linux: Wind River, LynuxWorks, Mentor Graphics 40

Évolution du modèle, dès 2007! 41

Explications Linux est entré depuis longtemps au cœur de la stratégie des grands groupes industriels THALES THOMSON/Technicolor (depuis 1997) SAGEMCOM / SAGEM Défense EADS Opérateurs de Télécom Orange (impose Linux à ses sous-traitants) Free a toujours utilisé Linux Les autres suivent (SFR, Bouygues) 42

Explications, suite Évolution du marché des télécoms (convergence téléphonie/internet) Linux arrive au niveau des «terminaux» (Android) et concurrence les OS spécialisés comme Symbian ou Windows Linux est omniprésent au niveau des routeurs grand public Les projets s communautaires (ex: OpenWrt) deviennent viables pour les industriels (SFR) Des solutions techniques «temps réel» sont disponibles sur Linux (PREEMPT-RT, RTAI, Xenomai) Meilleure confiance des décideurs 43

Évolution du modèle «éditeur» 44

Modèle éditeur, suite La situation a un peu évoluée depuis car l'offre commerciale s'est étoffée : Wind River MontaVista... Chacun se partage environ 30 % du marché, le dernier tiers concerne les distributions «s» L'activité d'un éditeur Linux est également liée à du service Les éditeurs sont de gros contributeurs aux projets s (exemple : Wind River et KGDB, CDT,...) 45

Exemples de produits sous Linux 46

Linksys WRT54GL 47

SIP Box (PABX) 48

Livebox 49

Freebox 50

Freebox v6 (Atom / ARM) 51

Questions? 52