Android pour l industrie

Dimension: px
Commencer à balayer dès la page:

Download "Android pour l industrie"

Transcription

1 Pierre Ficheux Octobre

2 Ecosystème Environ 1,5 M d'activations par jour, plus d un milliard de téléphones depuis l été 2013! 1M d'applications sur Google Play (Android market) 75 % du marché des smartphones (17% pour ios) Répartition des versions : 2

3 Android et l'industrie? Android est conçu pour la téléphonie + tablettes Les projets industriels abandonnent les RTOS propriétaires pour Linux (embarqué) Le développement sous Linux (embarqué) est complexe Souvent C/C++ (Qt) Outils hétérogènes Android nécessite (souvent) une adaptation pour l utilisation industrielle Typologie des projets Avec ou sans temps réel «dur» Avec ou sans interfaces graphique (headless) Android n est pas une solution universelle! 3

4 Android, open source project? Le monde de la téléphonie est peu enclin à utiliser du logiciel libre Les sources d'android sont disponibles via AOSP adaptation possible ou BSP constructeur :) En pratique, Android ne suit pas les règles de fonctionnement des projets libres Développements réalisés «behind de doors» Nombreux projets «non officiels», comme Androidx86 Nombreux développements spécifiques (et propriétaires) réalisés par/pour les constructeurs Si possible, Google évite les composants sous GPL ré-écriture + licence Apache 2 Départ à l été 2013 du leader du projet (JBQ)!! 4

5 Licences Android est constitué de nombreux composants Noyau Linux (GPL) Composants Google (Apache 2) Composants externes (user space) souvent GPL Propriétaires (pilotes binaires) Les applications de Google Play (Android Market) sont pour la plupart propriétaires (idem AppStore) non disponibles dans les sources d Android 5

6 La licence GPL en bref La GPL a pour origine le projet GNU de la Free Software Foundation (Richard M. Stallman) GPL = General Public License Intègre la notion de «copyleft» (vs «copyright») La GPL v2 (1991) est la plus répandue (exemple : noyau Linux) Principes : 1. La licence s'applique uniquement en cas de redistribution 2. Un code source utilisant du code GPL est du travail dérivé et doit être publié (i.e. celui qui reçoit la version binaire peut obtenir le code source) 3. Pas de lien (ld) possible entre du code GPL et du code «propriétaire»! 6

7 Licence Apache 2 Fournie par ASF en 2004 Proche des licences BSD et MIT Principale différence avec la GPL/LGPL : pas de «copyleft» (dérivation) pas de publication du code Pour plus d'information voir : 7

8 Architecture générale (Google) 8

9 Le noyau Linux (rouge) Assure l'interface matérielle Différent du noyau standard nommé «mainline» et disponible sur Nouveau système d'ipc (Inter Process Comm.) Gestion d'énergie améliorée Système trace (logs) Initialement (et toujours) un «fork» du noyau Pilotes retirées du noyau officiel en 2009 De retour sur drivers/staging/android depuis le 3.3 Convergence (partielle) avec le mainline en cours Google est contributeur par nécessité, choix pragmatique Noyau binaire fourni par défaut dans AOSP 9

10 Bibliothèques + HAL (vert) Bibliothèques spécifiquesgoogle ou externes Spécifiques : Bionic, libc «allégée» sous licence BSD, partiellement POSIX difficulté de portage de code «legacy» Surface Manager, Audio Manager,... Externes (sources fournies par Google dans AOSP) : Webkit OpenSSL Hardware abstraction layer accès aux pilotes noyau Graphique, audio, Wi-Fi,... Pas d'accès direct au noyau (différent de GNU/Linux) 10

11 HAL Pour chaque «service» on a Un System service (Java) Une définition dans la HAL (interface matérielle) + pilote noyau Le constructeur doit fournir une bibliothèque (.so) externe à AOSP (sous licence propriétaire) à ajouter au répertoire /device Le pilote noyau également fourni par le constructeur - reste sous GPL Voir un exemple sur 11

12 Architecture HAL Répertoires AOSP /frameworks/base/core/ AOSP-provided ASL /frameworks/base/services/java/ /frameworks/base/services/jni/ /hardware/libhardware/ Manuf.-provided Manuf. license Manuf.-provided GPL-license /device/[manuf.]/[device] /sdk/emulator/ Noyau ou module Schéma K. Yaghmour 12

13 Android runtime (jaune) Dalvik, LA JVM de Google Grosse valeur ajoutée au niveau performances Syntaxe Java Optimisée pour l'embarqué Non compatible avec JDK Oracle, utilise des fichier.dex.dex produit à partir du.class par dex encombrement divisé par 2 Les «core libraries» venant du projet Apache Harmony remplacent les «JDK libs» pour le runtime Contient également des scripts et binaires nécessaires au démarrage (ramdisk initial) dont Zygote qui démarre Dalvik 13

14 Android framework (bleu) Correspond à l'api fournie aux développeurs pour écrire les applications Majoritairement écrit en Java Utilisation de JNI pour l'accès aux couches basses (C/C++) depuis une application La communication utilise Binder, une couche IPC écrite par Google en remplacement des IPC UNIX/POSIX 14

15 Architecture générale (K. Yaghmour) Schéma K. Yaghmour 15

16 AOSP = Android Open Source Project Accessible sur Sources pour les plate formes de référence Émulateur goldfish Nexus 4, 7, 10 Pandaboard (carte ARM) Certains Galaxy Nexus AOSP, introduction Bonne documentation AOSP utilise aussi des composants propriétaires (exemple : pilotes graphiques) https://developers.google.com/android/nexus/drivers Les sources représentent plusieurs centaines de dépôts Git (1 par projet) et plus de 16 Go! 16

17 AOSP, pré-requis Nombreux pré-requis pour la compilation AOSP (rien à voir avec Linux embarqué) Machine (puissante) 64 bits sous Linux ou Mac OS X (pas de Windows!) 4 Go de RAM, 100 Go de disque SMP conseillé Distribution Ubuntu LTS ou éventuellement Quelques paquets à installer Utilisation de VM déconseillée (mais fonctionne) Java 6 JDK 6.1 Largement basé sur GNU Make La procédure d'initialisation est décrite sur : 17

18 AOSP «in a nutshell» Google fournit l'outil repo (un script Python) afin de gérer les nombreux dépôts Git Cet outil utilise un fichier manifest pour indexer les dépôts $ mkdir work && cd work $ repo init -u https://android.googlesource.com/platform/manifest [-b <branch>] sélection de la branche, exemple android-4.3_r2 $ repo sync [-j N] synchronisation avec le dépôt, N jobs Sélection de la cible, compilation et test $ source build/envsetup.sh $ lunch aosp_arm-eng $ make -j N $ emulator [-show-kernel -shell] & chargement des variables cible émulateur (goldfish) + mise au point (eng) 18

19 Différentes cibles dans le menu lunch (4.3) Les cibles AOSP Lunch menu... pick a combo: 1. aosp_arm-eng 2. aosp_x86-eng 3. aosp_mips-eng 4. vbox_x86-eng 5. aosp_deb-userdebug 6. aosp_flo-userdebug full_mako-userdebug 13. full_maguro-userdebug 14. full_manta-userdebug 15. full_arndale-userdebug 16. full_toroplus-userdebug 17. full_toro-userdebug 18. full_panda-userdebug Goldfish x86 Différents type de build user (production) Nexus 4 Pandaboard userdebug (production + accès root + debug) eng (développement) 19

20 Écran de l'émulateur Déverrouiller l'écran en «tirant» le cadenas vers l'extérieur 20

21 Remarques sur AOSP Les sources occupent environ 16 Go (pour JB) car Google fournit l'intégralité, y compris les composants externes Grosse différence avec GNU/Linux (Buildroot, OE, ) qui obtiennent les paquets à partir des dépôts et appliquent des «patch» Le système de construction est rudimentaire, rien à voir avec GNU/Linux! Après compilation, le répertoire occupe 40 Go Les binaires sont produits sur le répertoire out et indexés sur le nom de la cible $ ls -1 out/target/product generic panda cible émulateur (goldfish) 21

22 Noyau Linux/Android Le noyau Linux n'est pas conçu au départ pour la téléphonie Gestion d'énergie :-( Mise en veille IPC System V «old style» Gestion de mémoire / processus (context switch) Modifications par Google Wakelocks Binder Klogger Ashmem Alarm timers Low memory killer 22

23 Noyau Linux/Android, suite. Les pilotes Android sont dans drivers/staging pas intégrés au mainline Retirés en décembre 2009, ré-intégrés dans la version 3.3 Effort de convergence sur les versions récentes Bonne compatibilité de l API noyau Linux (modules) Rappel : un module noyau ne suffit pas à piloter un périphérique sous Android (HAL) 23

24 SDK La plupart des développements Android se font en Java Langage «simple», très répandu Très bonne performances de Dalvik Google fournit un SDK basé sur Eclipse ADT (Android Developer Tools) Simple à utiliser pour les développeurs Java/Win$ (mais pas forcément pour les autres) Approche «Visual Machin» New Project, Next, Next,, Finish Test de l'application directement sur émulateur Création d'un fichier.apk installable sur n'importe quelle cible Android 24

25 Diagramme de création 25

26 NDK Les développements C/C++ sont fait avec le NDK (pour Native Development Kit) Portage de code existant, proche de POSIX Possibilité de développer uniquement avec NDK (mais pas conseillé par Google) Plus souvent, interfaçage avec SDK par JNI (Java Native Interface) Android utilise des fichiers Makefile dédiés et assez basiques Android.mk Pas de support officiel Autotools/CMake Le NDK contient principalement les chaînes croisées dans toolchains et les bibliothèques (Bionic, ) dans platforms 26

27 NDK et POSIX La plupart des RTOS ont une API POSIX (VxWorks, RTEMS, QNX,...) Android n'est pas totalement un système POSIX car la libc (Bionic) est simplifiée par rapport à GNU-libC Souvent nécessaire d'importer du code (POSIX) existant (propriétaire ou libre) dans Android Porter le code en Java? Utiliser NDK (plus simple en général) Le cas le plus fréquent est l'utilisation d'une bibliothèque C/C++ depuis une application Java (ex : accès pilote noyau JNI) Exemples fournis dans le NDK 27

28 Bionic La libc Bionic est volontairement beaucoup plus légère que la Glibc The core idea behind Bionic's design is: KEEP IT REALLY SIMPLE. Pas de support IPC System V (Android utilise Binder)! Quelques limites dans le support PThread Pas de support des exceptions C++ Pas de compatibilité binaire avec la Glibc Support ARM et x86 uniquement Nécessite l'utilisation du compilateur Android (NDK) Voir android-ndk-rx/docs/system/libc 28

29 Utilisation d une chaîne externe? Le NDK a des limitations au niveau POSIX Le noyau Android est un noyau Linux donc les appels systèmes standards sont disponibles Une solution est d'utiliser une chaîne croisée «standard» (exemples : CodeSourcery, ELDK, ) installer les bibliothèques sur la cible (en plus de Bionic) Problème : intégration dans SDK 29

30 Android et le temps réel Android n est pas conçu au départ pour les applications TR L API POSIX est cependant disponible dans le noyau Linux L application de «patch» TR n est pas triviale car ces patchs sont prévus pour un noyau «mainline» Tests réalisés sur des tâches périodiques avec PREEMPT-RT et Xenomai sous Android-x86 résultats identiques à ceux de GNU/Linux Test directement en mode «console» Voir la démonstration :) 30

31 PREEMPT-RT Branche expérimentale pour la version 2.6 et 3.x, voir https://rt.wiki.kernel.org Initié par Ingo Molnar, contributeur majeur du noyau Aucun lien avec «preempt-kernel»! Surtout utilisé sur x86 et des processeurs performants (nécessite TSC = Time Stamp Counter) Fonctionne également sur ARM (9 ou plus), Nios II, Microblaze,... Nécessite un noyau «mainline» (ou proche) mais ne sera probablement jamais intégré à la branche officielle Mise en place très simple (application d'un patch) Mêmes API de programmation que Linux standard 31

32 PREEMPT-RT, suite Threaded interrupt model utilisation d'un thread noyau (donc interruptible) pour le traitement de chaque interruption 4 2 root SW< 0 0% 0% [sirq-high/0] 5 2 root SW< 0 0% 0% [sirq-timer/0] root SW< 0 0% 0% [sirq-net-tx/0] Prévention des inversions de priorité (par héritage) Timers noyau haute précision (API hrtimer) Réécriture complète des mécanismes de synchronisation (spinlock mutex) Le résultat est un noyau (presque) «préemptif», mais reste un noyau Linux Sections critiques avec des tâches non TR 32

33 Linux avec co-noyau Utilisation d un noyau temps dans l espace mémoire du noyau Linux Séparation entre le composant temps-réel et Linux Ordonnanceur temps-réel spécifique Pas de dépendance sur les sections critiques Linux Virtualisation de la gestion d'interruptions Linux Routage prioritaire des IRQs vers le co-noyau Linux comme tâche idle du co-noyau Se rapproche de la technique de «para-virtualisation» des hyperviseurs (adaptation de l'os) Extensions RTLinux, RTAI, Xenomai 33

34 Xenomai, architecture Xenomai utilise un micro-noyau (ADEOS) pour partager le matériel avec le noyau Linux pilote TR API TR noyau TR micro-noyau noyau Linux 34

35 Domaines Xenomai Code applicatif VxWorks Code applicatif POSIX glibc Xenomai libvxworks glibc Xenomai libpthread Appels système Pile réseau Xenomai RTOS VFS/FS... Noyau Adeos I-Pipe Hardware 35

36 Avantages Android industriel, avantages/inconvénients Programmation Java (simple et répandue) IHM évoluée Communauté importante Fait rêver les managers et les comptables (tablette = grand public = bon marché) Inconvénients Incompatibilité POSIX Système de «build» AOSP rudimentaire par rapport à GNU/Linux Pas réellement un projet libre ni communautaire Noyau Linux non standard (même si la situation évolue) Interfaces matérielles spéciales mal supportées!! 36

37 Conclusions Utiliser Android quand : Le projet nécessite une IHM Le projet ne nécessite pas de TR dur (pour l instant) L utilisation de Java est un avantage Attention à la dépendance / Google quelle part d AOSP disponible et jusqu à quand? Android ne peut remplacer GNU/Linux embarqué Développement communautaire Support matériel Système de construction bien plus avancé (Yocto) 37

38 Questions? 38

Du 19 au 22 novembre 2012.

Du 19 au 22 novembre 2012. Formation Linux embarqué et Pierre Ficheux (pierre.ficheux@openwide.fr) Du 19 au 22 novembre 2012. 1 MODIFICATIONS VERSION DATE AUTEUR(S) DESCRIPTION 1.0 20/1/2011 P. Ficheux Création 1.1 5/12/2011 P.

Plus en détail

Session 2: Code source Android

Session 2: Code source Android Session 2: Code source Android LO52 - Automne 2014 Fabien BRISSET 12 septembre 2014 fabien.brisset@utbm.fr www.utbm.fr Droits de reproduction Copyright 2013-2014, Fabien Brisset, Copyright 2004-2014, Free

Plus en détail

État de l'art des systèmes embarqués

État de l'art des systèmes embarqués État de l'art des systèmes embarqués Utilisation du logiciel libre Pierre Ficheux (pierre.ficheux@openwide.fr) Mars 2014 1 Présentation Open Wide SSII/SSLL créée en septembre 2001 avec THALES et Schneider

Plus en détail

Panorama des temps réels sous GNU/Linux. Stelian Pop

Panorama des temps réels sous GNU/Linux. Stelian Pop <stelian.pop@openwide.fr> Panorama des temps réels sous GNU/Linux Stelian Pop Conférence Linux Solutions, 2 février 2006 Le besoin en contexte industriel il y a souvent besoin d'un comportement temps réel:

Plus en détail

Systèmes embarqués: OS libres

Systèmes embarqués: OS libres Le libre est-il synonyme de «tout gratuit»? Les aspects juridiques Pierre FICHEUX, CTO Open Wide/OS4I pierre.ficheux@openwide.fr Octobre 2008 1 Libre = gratuit? La confusion vient de la signification anglaise

Plus en détail

Les OS embarqués. B. Miramond UCP

Les OS embarqués. B. Miramond UCP Les OS embarqués B. Miramond UCP Les OS embarqués VxWorks : noyau RT le plus utilisé dans l'industrie. Supporte TCP/IP et une API socket. Coût des licences important. QNX : noyau RT de type UNIX. Intègre

Plus en détail

Cours Android. Développement et API

Cours Android. Développement et API Cours Android Développement et API Principaux OS orienté mobile ios ~ 12.1% Android ~ 81.9% Microsoft ~ 3.6% Historique Octobre 2003 : conception d'un OS mobile par Android Inc. (co-fondé par Andy Rubin)

Plus en détail

Utilisation de composants libres dans l'industrie

Utilisation de composants libres dans l'industrie Utilisation de composants libres dans l'industrie Le libre est-il synonyme de «tout gratuit»? Pierre FICHEUX, CTO Open Wide / OS4I pierre.ficheux@openwide.fr Novembre 2010 1 Présentation Open Wide / OS4I

Plus en détail

Androi et le développement d'applications professionnelles

Androi et le développement d'applications professionnelles Androi et le développement d'applications professionnelles Présentation au CUSI 06/05/2010 Yann Lapeyre http://www.medes.fr Sommaire MEDES Nos projets, les contraintes et l'historique Présentation d'android

Plus en détail

Initiation à la Prog. Sous Android (Session 1) med.hossam@gmail.com

Initiation à la Prog. Sous Android (Session 1) med.hossam@gmail.com Initiation à la Prog. Sous Android (Session 1) med.hossam@gmail.com Plan Statistiques Différences entre Mobile App, Mobile Site et Web App Développement pour terminaux mobiles Outils de développement pour

Plus en détail

Systèmes temps réel et logiciel libre

Systèmes temps réel et logiciel libre Systèmes temps réel et logiciel libre Pierre FICHEUX (pierre.ficheux@openwide.fr) Avril 2012 1 Présentation Open Wide SSLL créée en septembre 2001 avec Thales et Schneider => 10 ans d'expérience! 120 collaborateurs

Plus en détail

Solutions libres pour les systèmes embarqués

Solutions libres pour les systèmes embarqués Solutions libres pour les systèmes embarqués Pierre FICHEUX (pierre.ficheux@openwide.fr) Mars 2015 1 Programme Présentation Rappels sur les systèmes embarqués et temps réel Le logiciel libre Linux comme

Plus en détail

Configuration de l environnement de travail

Configuration de l environnement de travail Configuration de l environnement de travail Préambule Windows Java Afin d utiliser l environnement de développement Android, vous devez installer au préalable JDK (Java Development Kit) sur votre système.

Plus en détail

Introduction à Android

Introduction à Android Introduction à Android Chantal Keller 22 janvier 2016 Introduction à Android Chantal Keller 1 / 23 Plan 1 Généralités 2 Programmation mobile 3 Android 4 Au-delà d'android Introduction à Android Chantal

Plus en détail

À qui s adresse ce livre?... 3 Structure de l ouvrage... 4 Précisions concernant cette deuxième édition... 4

À qui s adresse ce livre?... 3 Structure de l ouvrage... 4 Précisions concernant cette deuxième édition... 4 Table des matières Remerciements.............................................. V Préface....................................................... 1 Avant-propos................................................

Plus en détail

Cyanogenmod Libérez votre Android

Cyanogenmod Libérez votre Android Cyanogenmod Libérez votre Android Philippe Wambeke LoliGrUB 15 février 2014 Philippe Wambeke (LoliGrUB) Cyanogenmod 15 février 2014 1 / 17 1 Présentation D Android Constitution Historique Quelques chiffres

Plus en détail

TD/TP 1 Introduction au SDK d Android

TD/TP 1 Introduction au SDK d Android TD/TP 1 Introduction au SDK d Android Romain Raveaux 1 Introduction Android est un système d'exploitation pour téléphone portable de nouvelle génération développé par Google. Celui-ci met à disposition

Plus en détail

Chapitre 1 Retour en arrière

Chapitre 1 Retour en arrière Chapitre 1 : Retour en arrière 1 Chapitre 1 Retour en arrière Chapitre 1 : Retour en arrière 2 1. Difficultés de développer pour les systèmes embarqués Quelques contraintes à prendre en compte : - Mémoire:

Plus en détail

Linux embarqué: une alternative à Windows CE?

Linux embarqué: une alternative à Windows CE? embarqué: une alternative à Windows CE? : une alternative à Windows CE Présentation Mangrove Systems Distribution embarqué Perspective WinCe / Questions Mangrove systems Créé en 2001 Soutien Soutien Ministère

Plus en détail

État de l'art des systèmes embarqués

État de l'art des systèmes embarqués État de l'art des systèmes embarqués Pierre Ficheux (pierre.ficheux@openwide.fr) Septembre 2013 1 Présentation Open Wide SSII/SSLL créée en septembre 2001 avec THALES et Schneider Indépendante depuis 2009

Plus en détail

Android : le système. Sources : Wikipedia, www.android.com

Android : le système. Sources : Wikipedia, www.android.com Android : le système Sources : Wikipedia, www.android.com Paris, 11/02/2014 Android "56 Système d'exploitation Open Source (licence Apache) ciblé principalement sur la téléphonie mobile et les tablettes

Plus en détail

Tour d horizon des plateformes pour systèmes (Linux?) embarqués

Tour d horizon des plateformes pour systèmes (Linux?) embarqués Tour d horizon des plateformes pour systèmes (Linux?) embarqués Pierre Ficheux (pierre.ficheux@openwide.fr) Avril 2013 1 Présentation Open Wide SSII/SSLL créée en septembre 2001 avec Thales et Schneider

Plus en détail

Formation Linux Temps-réel Xenomai. version 1.0

Formation Linux Temps-réel Xenomai. version 1.0 Formation Linux Temps-réel Xenomai version 1.0 Licence Copyright (c) 2005-2006 Stelian Pop Copyright (c) 2005-2006 Philippe Gerum Copyright (c) 2005-2006 Open

Plus en détail

APPLICATIONS JAVA. 1. Android. Android Partie I. Développement d'activités Java sous Android

APPLICATIONS JAVA. 1. Android. Android Partie I. Développement d'activités Java sous Android APPLICATIONS JAVA Android Partie I Ivan MADJAROV - 2014 Applications Java sous Android IvMad, 2011-2014 2 1. Android Développement d'activités Java sous Android L'objectif principal de ce cours est de

Plus en détail

Qu est ce que l environnement Eclipse?

Qu est ce que l environnement Eclipse? Qu est ce que l environnement Eclipse? Bernard DAUTREVAUX Directeur formation et conseil Acsys www.ac6-formation.com Pour en savoir plus: nos formations Eclipse +33 (0)1 41 16 80 10 Page 0 assistance conseil

Plus en détail

Programmation Android I. Introduction. Cours Android - F. Michel 1 / 57

Programmation Android I. Introduction. Cours Android - F. Michel 1 / 57 Programmation Android I. Introduction 1 / 57 Plan 1 Introduction 2 La plate-forme Android 3 Programmation Android 4 Hello World 2 / 57 Introduction Application mobile wikipédia Caractéristiques Cible :

Plus en détail

Utiliser NDK dans un projet Android

Utiliser NDK dans un projet Android Introduction NDK est une suite d outils permettant de compiler puis d utiliser du code natif dans une application Android. Ce code natif est ensuite appelé via JNI (Java Native Interface), fournissant

Plus en détail

Développement nomade :

Développement nomade : nomade : Architectures - Sylvain Jubertie - Université d Orléans 2011-2012 Sylvain Jubertie - Université d Orléans nomade 1 / 30 Plan 1 Architectures 2 3 Sylvain Jubertie - Université d Orléans nomade

Plus en détail

Formation au développement de systèmes Linux embarqué Session de 5 jours

Formation au développement de systèmes Linux embarqué Session de 5 jours Formation au développement de systèmes Linux embarqué Session de 5 jours Titre Aperçu Supports Durée Formateur Langue Public ciblé Pré-requis Formation au développement de systèmes Linux embarqué Chaînes

Plus en détail

ETNA Projet de Fin d Étude 2005-2007 RimElse Cahier des charges. c Copyleft 2006, ELSE Team

ETNA Projet de Fin d Étude 2005-2007 RimElse Cahier des charges. c Copyleft 2006, ELSE Team ETNA Projet de Fin d Étude 2005-2007 RimElse Cahier des charges c Copyleft 2006, ELSE Team 18 avril 2006 Table des matières 1 Introduction 2 2 Présentation du projet 3 2.1 Une distribution Évolulable..................

Plus en détail

ResEl 101 : Présentation des fonctionnalités de Linux utilisées au ResEl

ResEl 101 : Présentation des fonctionnalités de Linux utilisées au ResEl ResEl 101 : Présentation des fonctionnalités de Linux utilisées au ResEl Association ResEl Réseau des Élèves de l ENST Bretagne 23 Septembre 2005 Association ResEl (Réseau

Plus en détail

Architectures des OS temps réels

Architectures des OS temps réels Temps Réel Jérôme Pouiller Sixième partie VI Architectures des OS temps réels Sysmic - J. Pouiller Temps Réel 171 / 1 Sysmic - J. Pouiller Temps Réel 172 / 1 Architectures multi-coeurs

Plus en détail

Temps Réel. Jérôme Pouiller

Temps Réel. Jérôme Pouiller <j.pouiller@sysmic.org> Temps Réel Jérôme Pouiller Sixième partie VI Architectures des OS temps réels Sysmic - J. Pouiller Temps Réel 171 / 1 Sysmic - J. Pouiller Temps Réel 172 / 1 Architectures multi-coeurs

Plus en détail

Versus Etude Technologique

Versus Etude Technologique VS Versus Etude Technologique 1 VS Contents Introduction... 3 Présentation des technologies... 3 Phonegap... 3... 3 Pour quels besoins?... 4 Comment ça fonctionne? Les models... 4 Phonegap... 5... 6 Comparatif...

Plus en détail

Migrer vers un environnement open source

Migrer vers un environnement open source Migrer vers un environnement open source Pierre Ficheux (pierre.ficheux@openwide.fr) Octobre 2012 1 Objectifs de la présentation Présenter les «meilleurs» choix possibles lors de la migration d'un système

Plus en détail

Introduction aux systèmes GNU/Linux

Introduction aux systèmes GNU/Linux Introduction aux systèmes GNU/Linux Séance 1 inetdoc.net Philippe Philippe Latu Latu // Université Université Toulouse Toulouse 33 Paul Paul Sabatier Sabatier Document Document sous sous licence licence

Plus en détail

Etude et mise en oeuvre de PREEMPT-RT et Xenomai sur cible DSP Blackfin BF537

Etude et mise en oeuvre de PREEMPT-RT et Xenomai sur cible DSP Blackfin BF537 ENSEIRB-MATMECA Rapport de projet avancé 3 ème année électronique Etude et mise en oeuvre de PREEMPT-RT et Xenomai sur cible DSP Blackfin BF537 Etudiants : Alexandre Braconnier Axel Chevalier Jean-Marc

Plus en détail

Le système Windows. Yves Denneulin. Introduction. Introduction. Plan

Le système Windows. Yves Denneulin. Introduction. Introduction. Plan Introduction Le système Windows Yves Denneulin Windows a 25 ans Au début basé sur MS/DOS Multi-tâches coopératifs Pas de réelle protection entre applications Famille 1.0 -> 386 -> 95 -> 98 -> Me Version

Plus en détail

TD5 : Android : Installation

TD5 : Android : Installation TD5 : Android : Installation 1-Introduction : L objet de ce TP est d installer l environnement de travail de système d exploitation Android et de définir quelques notions de base. 2-Qu est-ce qu Android

Plus en détail

Introduction à Android

Introduction à Android Introduction à Android Chantal Keller 3 septembre 2015 Introduction à Android Chantal Keller 1 / 17 Plan 1 Généralités 2 Présentation d Android 3 Au-delà d Android 4 Passons à la pratique Introduction

Plus en détail

Installation et prise en main

Installation et prise en main TP1 Installation et prise en main Android est le système d'exploitation pour smartphones, tablettes et autres appareils développé par Google. Pour permettre aux utilisateurs d'installer des applications

Plus en détail

Temps Réel. Jérôme Pouiller Septembre 2011

Temps Réel. Jérôme Pouiller <j.pouiller@sysmic.org> Septembre 2011 Temps Réel Jérôme Pouiller Septembre 2011 Sixième partie VI Architectures des OS temps réels J. Pouiller Temps Réel 172 / 197 18 Problématique des OS RT 19 Systèmes Symétriques

Plus en détail

Session 5: Android Build System

Session 5: Android Build System Session 5: Android Build System LO52 - Automne 2014 Fabien BRISSET 2 mai 2014 fabien.brisset@utbm.fr www.utbm.fr Droits de reproduction Copyright 2013-2014, Fabien Brisset, Copyright 2004-2014, Free Electrons

Plus en détail

Android, introduction

Android, introduction Android, introduction Sébastien Jean IUT de Valence Département Informatique v1.1, 7 novembre 2012 Android en bref Android est un système d exploitation développé depuis 2003, apparu officiellement en

Plus en détail

A Libre Ouvert. Médiathèque Jacques Ellul. le 12-03-2010

A Libre Ouvert. Médiathèque Jacques Ellul. le 12-03-2010 A Libre Ouvert Médiathèque Jacques Ellul le 12-03-2010 à PESSAC avec l'abul La Virtualisation (avec VirtualBox) C'est quoi, la 'virtualisation'? A quoi ça peut me servir à la maison? Et dans mon travail,

Plus en détail

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

Dossier. Développer en Java sur téléphone mobile. Benjamin Damécourt benjamin.damecourt@me.com. UFR SITEC Master 2 EESC 11 janvier 2012 Dossier Développer en Java sur téléphone mobile Benjamin Damécourt benjamin.damecourt@me.com UFR SITEC Master 2 EESC 11 janvier 2012 Table des matières Introduction 2 Pré-requis 3 Hello World! 5 Installation

Plus en détail

Linux. embarqué. 4 e édition. Pierre Ficheux Éric Bénard. Nouvelle étude de cas Traite d OpenEmbedded. Groupe Eyrolles, 2012, ISBN : 978-2-212-13482-7

Linux. embarqué. 4 e édition. Pierre Ficheux Éric Bénard. Nouvelle étude de cas Traite d OpenEmbedded. Groupe Eyrolles, 2012, ISBN : 978-2-212-13482-7 Linux 4 e édition embarqué Nouvelle étude de cas Traite d OpenEmbedded Pierre Ficheux Éric Bénard Groupe Eyrolles, 2012, ISBN : 978-2-212-13482-7 Table des matières Avant-propos... 1 À qui s adresse ce

Plus en détail

Annexe : La Programmation Informatique

Annexe : La Programmation Informatique GLOSSAIRE Table des matières La Programmation...2 Les langages de programmation...2 Java...2 La programmation orientée objet...2 Classe et Objet...3 API et Bibliothèque Logicielle...3 Environnement de

Plus en détail

Matériel de réseau. Contenu du chapitre

Matériel de réseau. Contenu du chapitre Matériel de réseau Chapitre 1 Introduction Jürgen Ehrensberger IICT/HEIG 1-Introduction.ppt Contenu du chapitre Introduction à la partie I : Linux embarqué 1. Systèmes embarqués 2. Systèmes d exploitation

Plus en détail

Plates-formes de développement et contraintes d'interfaçage

Plates-formes de développement et contraintes d'interfaçage Atelier technique : interfaçage et développement des applications smartphones Plates-formes de développement et contraintes d'interfaçage Samuel ROUXEL Le CRT CRESITT est soutenu par : Interfaçage et développement

Plus en détail

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

Alexandre Buge Epitech 5 Promo 2004. Soutenance de stage du 01/03/2004 au 31/08/2004 Alexandre Buge Epitech 5 Promo 2004 Soutenance de stage du 01/03/2004 au 31/08/2004 15 Septembre 2004 Sommaire 1 Introduction : présentation de l entreprise 2 Développement au sein de Skyrecon Les API

Plus en détail

Théorie des Systèmes d'exploitation : Introduction

Théorie des Systèmes d'exploitation : Introduction Théorie des Systèmes d'exploitation : Introduction Quelques systèmes d'exploitation... 3 Architecture des ordinateurs... 4 Schéma simplifié :... 4 Les concepts des systèmes d'exploitation... 5 Les 2 principales

Plus en détail

Android : Architecture - Compilation - Debug 1 / 31. Android : Architecture - Compilation - Debug. Sylvain Jubertie - Université d Orléans 2011-2012

Android : Architecture - Compilation - Debug 1 / 31. Android : Architecture - Compilation - Debug. Sylvain Jubertie - Université d Orléans 2011-2012 Android : Architecture - Compilation - Debug 1 / 31 Android : Architecture - Compilation - Debug Sylvain Jubertie - Université d Orléans 2011-2012 Android : Architecture - Compilation - Debug 2 / 31 1

Plus en détail

Qt 4 et 5 pour Linux embarqué. Pierre FICHEUX, pierre.ficheux@openwide.fr

Qt 4 et 5 pour Linux embarqué. Pierre FICHEUX, pierre.ficheux@openwide.fr Qt 4 et 5 pour Linux embarqué Pierre FICHEUX, pierre.ficheux@openwide.fr Première version publiée par Trolltech en 1996 toolkit en C++ Développé pour X11, 2 développeurs au départ, fondateurs de Trolltech

Plus en détail

Développez vos applications Android

Développez vos applications Android Journée des Anciens IUT STID Février 2013 Développez vos applications Android olivier.legoaer@univ-pau.fr Contexte Un marché en explosion Vente de "terminaux mobiles" évolués Un téléphone mobile sur trois

Plus en détail

LINUX EMBARQUÉ LES DISTRIBUTIONS. Carrefour de l électronique 24 octobre 2012

LINUX EMBARQUÉ LES DISTRIBUTIONS. Carrefour de l électronique 24 octobre 2012 LINUX EMBARQUÉ LES DISTRIBUTIONS Carrefour de l électronique 24 octobre 2012 1 Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported (CC BY-NC-ND 3.0) Attribution You must attribute the work

Plus en détail

Chapitre 1. Découvrir la plateforme Android. JMF (Tous droits réservés)

Chapitre 1. Découvrir la plateforme Android. JMF (Tous droits réservés) Chapitre 1 Découvrir la plateforme Android 1 Plan du chapitre 1 La plateforme Android L'architecture Android Les outils de développement 2 Android = Android = un système d'exploitation open source pour

Plus en détail

Collection d'exercices

Collection d'exercices Collection d'exercices Question 1. Systèmes à temps réel Points Expliquez brièvement la différence entre les contraintes de temps réel strict et de temps réel souple.. Systèmes à temps réel Les dispositifs

Plus en détail

TP2 : Initiation à la Programmation avec Android

TP2 : Initiation à la Programmation avec Android TP2 : Initiation à la Programmation avec Android 1 TP2 : Initiation à la Programmation avec Android Programmation Mobile Objectifs du TP Ce TP est une initiation à Android. Nous allons réaliser les premiers

Plus en détail

Système d exploitation : introduction

Système d exploitation : introduction Julien Forget Université Lille 1 École Polytechnique Universitaire de Lille Cité Scientifique 59655 Villeneuve d Ascq GIS3 2012-2013 1 / 14 Qu est-ce qu un Système d Exploitation? Definition Un Système

Plus en détail

1 - Système Unix - Linux

1 - Système Unix - Linux 1 - Système Unix - Linux Laurent Tichit 5 avril 2011 Laurent Tichit () 1 - Système Unix - Linux 5 avril 2011 1 / 33 Plan 1 Systèmes d exploitation 2 UNIX 3 Les UNIX libres 4 Linux 5 Première connexion

Plus en détail

La gestion du poste de travail en 2011 : Panorama des technologies

La gestion du poste de travail en 2011 : Panorama des technologies La gestion du poste de travail en 2011 : Panorama des technologies François Clémence C.R.I Université Paul Verlaine Metz UFR Sciences Humaines et Arts clemence@univ-metz.fr Olivier Mathieu C.R.I Université

Plus en détail

A la Découverte de JavaFX La nouvelle technologie cliente pour Java. Nicolas Lorain @javafx4you Jean-François Denise Eric Le Ponner

A la Découverte de JavaFX La nouvelle technologie cliente pour Java. Nicolas Lorain @javafx4you Jean-François Denise Eric Le Ponner 1 A la Découverte de JavaFX La nouvelle technologie cliente pour Java Nicolas Lorain @javafx4you Jean-François Denise Eric Le Ponner Abstract JavaFX 2 est la nouvelle technologie cliente pour Java. Découvrez

Plus en détail

Plan. Le multimédia embarqué: Généralités (1/2) Les systèmes embarqués. Systèmes embarqués. Android. Programmer sous Android

Plan. Le multimédia embarqué: Généralités (1/2) Les systèmes embarqués. Systèmes embarqués. Android. Programmer sous Android Le multimédia embarqué: Laurent Bonnet Fabien Devos Manuel Garnier Pierre Viau SFFS -2 décembre 2008 Encadrant : Marie-Jo Pedrono Systèmes embarqués Généralités Plan L embarquémultimédia Les smartphones

Plus en détail

LINUX et le temps réel Pierre-Yves Duval (cppm)

LINUX et le temps réel Pierre-Yves Duval (cppm) LINUX et le temps réel Pierre-Yves Duval (cppm) Ecole d informatique temps réel - La Londes les Maures 24-28 Mars 2003 Sommaire - Contexte et contraintes pour l embarqué et le temps réel - Caractéristiques

Plus en détail

NOTIONS SUR WINDOWS NT

NOTIONS SUR WINDOWS NT Chapitre 10 NOTIONS SUR WINDOWS NT Le système d'exploitation WINDOWS NT (New Technology) a été conçu par Microsoft entre 1988 et 1993. Cinq objectifs étaient poursuivis en créant ce nouveau SE : - offrir

Plus en détail

Présentation Utilisation. VirtualBox. Firas Kraïem. 22 février 2014

Présentation Utilisation. VirtualBox. Firas Kraïem. 22 février 2014 22 février 2014 Table des matières 1 2 est un logiciel libre (licence GPL) de virtualisation. Il permet de créer des machines virtuelles, qu on peut se représenter comme des "sous-ordinateurs", fonctionnant

Plus en détail

Présentation d'android

Présentation d'android NormandyJUG Présentation d'android Avec l'aimable autorisation de l'auteur original de cette présentation. Florent Garin florent.garin@jugtoulouse.org http://www.docdoku.com Présentation des intervenants

Plus en détail

Concepts fondamentaux d'un système Gnu/Linux

Concepts fondamentaux d'un système Gnu/Linux Concepts fondamentaux d'un système Gnu/Linux Ateliers Gnu/Linux et systèmes embarqués par X. HINAULT www.mon-club-elec.fr Tous droits réservés 2011-2012. Rappel : Système d'exploitation Unix UNIX est le

Plus en détail

Introduction à l informatique en BCPST

Introduction à l informatique en BCPST Introduction à l informatique en BCPST Alexandre Benoit BCPST L informatique en BCPST «L enseignement de l informatique en classes préparatoires de la filière BCPST a pour objectif d introduire puis de

Plus en détail

Table ronde. Informatique Industrielle & Embarquée

Table ronde. Informatique Industrielle & Embarquée Table ronde Informatique Industrielle & Embarquée CIO Informatique Industrielle Société d'ingénierie en informatique industrielle et technique Au service de nos clients depuis 1990 Une équipe de 15 spécialistes

Plus en détail

Présentation de Citrix XenServer

Présentation de Citrix XenServer Présentation de Citrix XenServer Indexes Introduction... 2 Les prérequis et support de Xenserver 6 :... 2 Les exigences du système XenCenter... 3 Avantages de l'utilisation XenServer... 4 Administration

Plus en détail

2- Téléchargement et installation version actuelle 6.1

2- Téléchargement et installation version actuelle 6.1 1- EDI NetBeans (Environnement : Microsoft Windows Linux Ubuntu) EDI, Environnement de Développement Intégré Anglais : IDE, Integrated Development Environment Programme regroupant : Un éditeur de texte

Plus en détail

LES HYPERVISEURS. Introduction. CHARLES ARNAUD Les hyperviseurs

LES HYPERVISEURS. Introduction. CHARLES ARNAUD Les hyperviseurs 1 LES HYPERVISEURS Introduction Le but d un logiciel de virtualisation, ou appelé également hyperviseur est d émuler une machine dite virtuelle avec une configuration matérielle et logicielle. Les intérêts

Plus en détail

CAHIER DES CHARGES D IMPLANTATION

CAHIER DES CHARGES D IMPLANTATION CAHIER DES CHARGES D IMPLANTATION Tableau de diffusion du document Document : Cahier des Charges d Implantation EVRP Version 6 Etabli par DCSI Vérifié par Validé par Destinataires Pour information Création

Plus en détail

Linux Embarqué - Linux Temps Réel. Projet Soft PLC sur Linux / RTAI

Linux Embarqué - Linux Temps Réel. Projet Soft PLC sur Linux / RTAI Linux Embarqué - Linux Temps Réel Projet Soft PLC sur Linux / RTAI CIO Informatique Industrielle Société d'ingénierie en informatique industrielle et technique Au service de nos clients depuis 1990 Une

Plus en détail

Systèmes d exploitation

Systèmes d exploitation Systèmes d exploitation Virtualisation, Sécurité et Gestion des périphériques Gérard Padiou Département Informatique et Mathématiques appliquées ENSEEIHT Novembre 2009 Gérard Padiou Systèmes d exploitation

Plus en détail

M1101a Cours 5. Distributions Linux. Département Informatique 2015/2016 IUT2, UPMF

M1101a Cours 5. Distributions Linux. Département Informatique 2015/2016 IUT2, UPMF M1101a Cours 5 Distributions Linux Département Informatique IUT2, UPMF 2015/2016 Département Informatique (IUT2, UPMF) M1101a Cours 5 2015/2016 1 / 23 Plan du cours 1 Introduction 2 Présentation de Debian

Plus en détail

Chap. III : Le système d exploitation

Chap. III : Le système d exploitation UMR 7030 - Université Paris 13 - Institut Galilée Cours Architecture et Système Le système d exploitation (ou O.S. de l anglais Operating System ) d un ordinateur est le programme qui permet d accéder

Plus en détail

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova I. Introduction Dans une période où la plasticité peut aider à réduire les coûts de développement de projets comme des applications mobile,

Plus en détail

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

Stratégie de sécurité grâce au logiciel libre. Frédéric Raynal <pappy@miscmag.com> Cédric Blancher <blancher@cartel-securite.fr> Stratégie de sécurité grâce au logiciel libre Frédéric Raynal Cédric Blancher 1 Agenda du workshop Introduction Le logiciel libre et la sécurité GNU/Linux

Plus en détail

Offres de stages Adeneo Embedded

Offres de stages Adeneo Embedded Offres de stages Adeneo Embedded Postes: Stages de fin d etude Société: Adeneo Embedded. Postes ouverts sur: Ecully (69), France Massy (91), France Type: Stages de 4 à 6 mois pour 1 à 2 étudiants Aperçu

Plus en détail

System Workbench pour Linux Basic Edition

System Workbench pour Linux Basic Edition System Workbench pour Linux Basic Edition Tirer le meilleur de vos formations Linux Bien trop souvent, suite aux sessions de formations, vous n'avez pas la possibilité de travailler sur un environnent

Plus en détail

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

Utilisation de matériels industriels avec des outils de virtualisation open source. Open Source dans le monde industriel Utilisation de matériels industriels avec des outils de virtualisation open source Open Source dans le monde industriel Christophe Sauthier Ancien Président de Ubuntu fr Développeur Ubuntu Officiel Développeur

Plus en détail

Séance Android n 1 : Installation de l environnement, création de projets et déploiement d applications

Séance Android n 1 : Installation de l environnement, création de projets et déploiement d applications Programmation Android Juin 2014........................................................................... Séance Android n 1 : Installation de l environnement, création de projets et déploiement d applications

Plus en détail

Introduction à Eclipse

Introduction à Eclipse Introduction à Eclipse Eclipse IDE est un environnement de développement intégré libre (le terme Eclipse désigne également le projet correspondant, lancé par IBM) extensible, universel et polyvalent, permettant

Plus en détail

Développez une application Android Programmation en Java sous Eclipse (2ième édition)

Développez une application Android Programmation en Java sous Eclipse (2ième édition) Avant-propos 1. Pré-requis 13 2. Présentation du projet 13 3. Sujets complémentaires abordés 14 4. Téléchargement de l'application et du code source 15 Installation d'eclipse/android 1. Configuration de

Plus en détail

Introduction aux Systèmes et aux Réseaux, Master 2 CCI

Introduction aux Systèmes et aux Réseaux, Master 2 CCI aux Systèmes et aux Réseaux, Master 2 CCI Cours 1 : Introduction et contexte Unix/Linux Laure Gonnord http://laure.gonnord.org/pro/teaching/ Laure.Gonnord@univ-lyon1.fr Master CCI - Université Lyon 1 -

Plus en détail

Logiciel Libre Cours 1 Introduction

Logiciel Libre Cours 1 Introduction Logiciel Libre Cours 1 Introduction Stefano Zacchiroli zack@pps.univ-paris-diderot.fr Laboratoire PPS, Université Paris Diderot 2013 2014 URL http://upsilon.cc/zack/teaching/1314/freesoftware/ Copyright

Plus en détail

Guide d'installation d'icewarp

Guide d'installation d'icewarp Le serveur Icewarp Guide d'installation d'icewarp Version 11 Avril 2014 Icewarp France / DARNIS Informatique i Sommaire Guide d'installation d'icewarp 1 Introduction... 1 Pré-requis... 1 Exigences sur

Plus en détail

Introduction à Linux. Abdelouahed Gherbi Hiver 2014

Introduction à Linux. Abdelouahed Gherbi Hiver 2014 Introduction à Linux Abdelouahed Gherbi Hiver 2014 1 Plan Précurseurs de Linux Unix GNU Project Minix Linux aujourd hui Commandes de base de Linux 2 Introduction to Linux Précurseurs de Linux : Unix Unix

Plus en détail

Ordinateur, système d exploitation

Ordinateur, système d exploitation Ordinateur, système d exploitation 2014-09-02 1 Système d exploitation Machine de von Neumann : seul un programme s exécute. Besoins utilisateurs : plein de programmes. Système d exploitation (Operating

Plus en détail

Android Core Hacking For Fun and Owning

Android Core Hacking For Fun and Owning Android Core Hacking For Fun and Owning Damien Cauquil @virtualabs 1 MSI ESIEA 06 avril 2013 Plan Android Présentation Evolution du système Modèle de sécurité Malwares Abus de permissions C'est du root,

Plus en détail

Linux Embarqué. Réussir son projet. Gilles BLANC RTS 2011, 31/03/2011 http://gillesblanc.com contact@gillesblanc.com, gblanc@linagora.

Linux Embarqué. Réussir son projet. Gilles BLANC RTS 2011, 31/03/2011 http://gillesblanc.com contact@gillesblanc.com, gblanc@linagora. Linux Embarqué Réussir son projet Gilles BLANC RTS 2011, 31/03/2011 http://gillesblanc.com contact@gillesblanc.com, gblanc@linagora.com Licence Creative-Commons by-nc Couvre l'intégralité des présentes

Plus en détail

[PT4] Projet Développement d une application Android à l aide du SDK et du NDK et comparaison des deux kits. Matthias Devlamynck Cyril Audibert S4p2C

[PT4] Projet Développement d une application Android à l aide du SDK et du NDK et comparaison des deux kits. Matthias Devlamynck Cyril Audibert S4p2C [PT4] Projet Développement d une application Android à l aide du SDK et du NDK et comparaison des deux kits Matthias Devlamynck Cyril Audibert S4p2C 2 avril 2013 Introduction Ce rapport présente le travail

Plus en détail

Chapitre 2 : Abstraction et Virtualisation

Chapitre 2 : Abstraction et Virtualisation Virtualisation et Cloud Computing Chapitre 2 : Abstraction et Virtualisation Objectifs Présenter la notion de niveaux d abstraction séparés par des interfaces bien définies Description des avantages et

Plus en détail