Rapport de recherche, Applications temps réel sur smartphones : BARTHOLOMÉ Anthony COULON Fabien MOUEZA Peter TRÉGUER Fabien

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

Download "Rapport de recherche, Applications temps réel sur smartphones : BARTHOLOMÉ Anthony COULON Fabien MOUEZA Peter TRÉGUER Fabien"

Transcription

1 Rapport de recherche, Applications temps réel sur smartphones : Étude de l OS Android BARTHOLOMÉ Anthony COULON Fabien MOUEZA Peter TRÉGUER Fabien Université de Nantes Année universitaire

2 Table des matières Introduction 3 1 Présentation et étude d Android Présentation générale d Android Présentation technique d Android Installation d Android Installation Androidx86 en multiboot Installation Androidx86 en machine virtuelle Utilisation à partir d un livecd Compilation des sources Sur un téléphone portable Présentation du temps réel, essai sur Android Présentation du temps réel Notions État d un processus Temps Réel Etude d Android pour le temps réel Travaux déja effectués Autres pistes de recherches Première approche de recherche : Modification de l ordonnanceur Etude de l ordonnanceur CFS de Linux Resultats Notion de tâches Théorie Pratique Seconde approche : Application du patch RTAI pour Linux sur Android Patch RTAI Etude de l arborescence Android bionic bootable build dalvik kernel development device external frameworks hardware

3 ndk packages prebuilt system sdk Resultats Conclusion 27

4 Android Introduction Dans le cadre du module Initiation à la recherche, nous avons été affecté à un sujet de recherche Applications temps réel sur smartphones : étude de l OS Android. Un des objectifs est d étudier l OS Android du point de vue des garanties temporelles qu il peut offrir pour statuer sur son adéquation vis-à-vis des exigences des applications temps réel. Il s agira notamment d identifer les points de l OS qui limitent actuellement l utilisation d Android pour le temps réel. Pour ce faire, le travail sera réparti en quatre grandes parties. Il y aura la présentation générale d Android, celle de l ordonnancement temps réel et les deux approches de recherche que nous avons eu durant les quelques mois qui nous ont été accordés pour ce travail. La première partie consistera à étudier Android. Dans cette partie, il nous faudra découvrir ce qu est Android. Quel est son but, et les moyens mis en oeuvre pour les éxécuter. Il nous faudra comprendre comment fonctionne Android en général dans un premier temps, puis d une manière plus approndie dans un second temps. Cette étude nous faciletera le travail par la suite. Il est plus dur de travailler sur un système inconnu. Il nous faudra ensuite comprendre ce qu est le temps réel, puis tester si Android est compatible avec des applications temps réel. Tester également les performances d Android. Pour effectuer tous ces tests il sera nécessaire de l installer sur un ordinateur. Il y aura donc également des tutoriaux complets sur l installation de ce système initialement prévu pour des téléphones sur des architectures x86. Nous verrons également ou en est la recherche sur ce domaine. Pour cela, nous étudierons quelques articles traitant du même sujet. La troisième partie se basera sur l étude de l ordonnanceur de Linux. En effet, Android se basant sur Linux, peut être sera t il possible de modifier cette partie pour obtenir ce que l on recherche. Nous expliquerons le pourquoi de cette partie dans le chapitre concernant Android. La quatrième et derniere partie, sera une étude plus en détails de l arborescence d Android pour ainsi pouvoir utiliser Le patch RTAI. Le patch RTAI initialement prévu pour Linux, est un patch permettant de modifier l ordonnanceur de Linux pour le rendre compatible temps réel. Il est donc possible que ceci réponde à notre problème. Ceci sera davantage expliqué dans la partie concernée. Chacune des deux dernières parties aura une présentation générale sur le but recherché, le déroulement de la recherche et les résultats obtenus. 3 L A TEX

5 Android Chapitre 1 Présentation et étude d Android 1.1 Présentation générale d Android Android (prononcé Androïde) est un système d exploitation open source pour smartphones, PDA et terminaux mobiles conçu par Android, une startup rachetée par Google, et annoncé officiellement le 5 novembre D autres types d appareils possédant ce système d exploitation existent, par exemple des téléviseurs et des tablettes [17] Android peut servir à de multiples fins. Des centaines de milliers d application tournent aujourd hui sur ce qu on appelle l Android Market. Sur cette plateforme de téléchargement on peut trouver toutes sortes d applications telles que google maps, youtube, géolocalisation, gestion des contacts...il est possible de trouver des applications sur énormement de domaines (horaires de trains, applications d architecture...). C est pourquoi Android est aujourd hui en pleine expansion, et gagne chaque jour de nombreux utilisateurs en plus. Figure 1.1 Évolution d Android [11] 4 L A TEX

6 Comme le montre le graphique, Android est devenu le leader en tant que système d exploitation des smartphones. Il est devenu si important qu il serait plus que profitable que ce système puisse éxécuter des applications temps réel. Nous allons par la suite voir si ce système peut le gérer. 1.2 Présentation technique d Android Android est basé sur le noyau 2.6 de Linux pour fonctionner. En effet, Android n est pas un système d exploitation totalement indépendant. Sur le schéma suivant, on peut remarquer qu Android est constitué de plusieurs couches. La plus basse est le noyau de Linux sous la version 2.6. C est ce noyau qui gére les pilotes de base, mais également le boot du la machine. Au niveau supérieur, donc propre a Android nous avons les libraries. Ces libraries gérent toutes les bibliothèques utilent à l éxécution d Android. Dans cette couche, nous pouvons également trouver ce qui s appelle Android Runtime, qui contient la machine virtuelle Dalvik sur laquelle repose Android. A un niveau bien supérieur, nous avons les frameworks, qui permettent à tous les développeurs de créer leurs applications. Au niveau le plus haut, nous avons les applications. Figure 1.2 Architecture d Android [15] Maintenant que nous connaissons l architecture d Android, nous allons essayer de l installer sur un ordinateur.

7 1.3 Installation d Android Installation Androidx86 en multiboot Vous pouvez installer Android sur un ordinateur comme tout autre système d exploitation. Pour ce faire, commencez par télécharger l image cd sur http ://www.android-x86.org/download. En choisissant de préférence la dernière version stable. 2 choix s offrent alors à nous. soit une installation par CD soit une installation par USB Si vous possèdez un netbook, la plupart du temps sans lecteur CD il vous est indispensable de prendre la version USB. Sinon choisissez selon ce que vous préférez. Ici nous prenons la version android-x r2.iso. Il vous faut ensuite graver l image CD. Il ne nous reste plus qu à procéder à une installation classique de système d exploitation. Redémarrez votre ordinateur avec le CD ou la clé USB et installer Android comme un linux classique en choisissant votre partition. Au démarrage suivant vous obtiendrez le choix entre votre (vos) ancien(s) système(s) et Android Installation Androidx86 en machine virtuelle L installation en machine virtuelle vous permet de ne pas avoir à choisir au démarrage sur quel système vous voulez démarrer. Vous pourrez lancer Android quand bon vous semble. L utilisation différe légérement selon linux ou Windows. Dans les deux cas devez commencer par télécharger l image cd sur http ://www.androidx86.org/download. installation sous linux Sous linux, commencez par installer virtual box. Pour ce faire, éxécutez la commande sudo apt-get install virtualbox-ose Installation sous Windows Pour installer VirtualBox sous Windows vous devez vous rendre à cette adresse http ://www.android-x86.org/download Téléchargez la version pour Windows et installez la. Utilisation de VirtualBox VirtualBox est un logiciel de virtualisation totalement gratuit. Une fois téléchargé et installé, éxécutez VirtualBox. Cliquez alors sur Nouvelle, dans la fenêtre qui s ouvre faites suivant, Donnez un nom comme Android, choisissez Linux comme systeme et 2.6 comme version. Il est ensuite conseillé d utiliser aux environs de 300 Mio pour la mémoire vive.faites suivant trois fois en laissant une image de disque de taille variable.choisissez l emplacement ou stocker le disque virtuel.puis enfin cliquez sur Terminer. Lors du lancement VirtualBox vous demandera de lui donner le fichier iso que vous avez précédemment téléchargé. Vous pouvez maintenant utiliser Android. Si vous voulez utiliser VMWare plutot que virtual box ceci est tout à fait possible et la marche à suivre est identique Utilisation à partir d un livecd Il est possible d utiliser Android sans forcément l installer. Ceci est la méthode la plus simple mais pas toujours la plus pratique lorsque que l on veut installer des programmes sur Android. C est plûtot une méthode pour tester le système. Pour utiliser un live CD, vous devez le télécharger à cette adresse : http ://www.android-x86.org/downloadhttp ://www.android-x86.org/download Prenez la version live. Il vous faut alors la graver, et vous pouvez directement l utiliser. (Il est aussi possible de le faire par USB au lieu d un CD).

8 1.3.4 Compilation des sources Sous Linux, (ici testé sous ubuntu 10.10) il est possible de télécharger et compiler les sources android. Pour ce faire, il faut se rendre sur le site : source.android.com/source/download.html Il faut alors suivre le tutorial indiqué. Attention, avant de faire la partie Building the code il faut modifier la version de gcc installée. Si vous possédez la version 4.3 il n y aura pas de soucis, par contre si vous avez la version 4.4, il faut la downgrader. Pour connaitre la version de gcc, lancer la commande : gcc -v Pour downgrader éxécutez ces commandes : sudo apt-get install gcc-4.3 g g multilib rm /usr/bin/gcc rm /usr/bin/g++ ln -s /usr/bin/gcc-4.3 /usr/bin/gcc ln -s /usr/bin/g /usr/bin/g++ Vous aurez alors a compiler android par la commande make Nous disposons maintenant d un Android compilé. A moins de disposer d une plateforme compatible Android, le mieux serait de pouvoir l utiliser sur un ordinateur. Nous allons donc utiliser un émulateur pour cela. Nous pouvons trouver cet émulateur dans le sdk fourni par la communauté Android. Le sdk est téléchargeable à cette adresse : http ://developer.android.com/sdk/index.html. Il faut extraire l archive. [8] Puis pour exécuter l emulateur : export PATH=$PATH:/chemin d acces au sdk/android-sdk-linux_x86/tools export ANDROID_SOURCE=~/dossier d installation d android export ANDROID_PRODUCT_OUT=${ANDROID_SOURCE}/out/target/product/generic_x86 export ANDROID_PRODUCT_OUT_BIN=${ANDROID_SOURCE}/out/host/linux-x86/bin export PATH=${PATH}:${ANDROID_PRODUCT_OUT_BIN}:${ANDROID_PRODUCT_OUT}; emulator -system system.img -data userdata.img -ramdisk ramdisk.img A partir d ici une fenêtre s ouvre, cette fenêtre contient l éxecution d Android que l on a compilé Sur un téléphone portable Déja sur Android Ceci est LA méthode la plus simple, si vous désirez utiliser le système Android. Si vous possèdez un téléphone portable qui tourne déja sur Android, vous n avez rien à faire juste l utiliser. En changeant la rom Sur certains téléphones, il vous est possible de changer votre système. La plupart des téléphones compatibles sont à la base sous Windows Mobile. Ce changement de rom n est malheureusement pas stable du tout et la moitié des fonctionnalités des téléphones ne sont pas prises en charges.

9 Android Chapitre 2 Présentation du temps réel, essai sur Android 2.1 Présentation du temps réel En une phrase, on parle de temps réel quand les informations qu on traite sont toujours aussi pertinentes par rapport à quand elles ont été émises. En informatique industrielle, on parle d un système temps réel lorsque ce système informatique contrôle (ou pilote) un procédé physique à une vitesse adaptée à l évolution du procédé contrôlé.(sources wikipedia.fr) Les systèmes en temps réel doivent prendre en compte des contraintes temporelles. Ces contraintes temporelles sont aussi importantes que le résultat que le système renvoi. Le système à des délais, ces délais doivent impérativement êtres respectés. Les systèmes informatiques temps réel sont aujourd hui présents dans de nombreux secteurs d activités : dans l industrie de production par exemple, au travers des systèmes de contrôle de procédé (usines,centrales nucléaires), dans les salles de marché au travers du traitement des données boursières en temps réel, dans l aéronautique au travers des systèmes de pilotage embarqués (avions, satellites), ou encore dans le secteur de la nouvelle économie au travers du besoin, toujours croissant, du traitement et de l acheminement de l information (vidéo, données, pilotage à distance, réalité virtuelle, etc.). Le développement de systèmes temps réel nécessite donc que chacun des éléments du système soit lui-même temps réel, c est-à-dire permette de prendre en compte des contraintes temporelles. Un système d exploitation conçu pour prendre en compte ces contraintes est appelé système d exploitation temps réel. [20] Parmis ces systèmes d exploitation gérant le temps réel nous avons : Adeos ART Linux ChorusOS DSP/BIOS ecos ELinOS FreeRTOS irmx ITRON LynxOS MicroC/OS-II Nucleus OS-9 OSE OSEK/VDX psos PikeOS QNX RedHawk RSX-11 RT-11 RT-LAB RTAI RTEMS RTLinux ou Real Time Linux RTOS-UH RTX SCEPTRE 8 L A TEX

10 SCIOPTA Symbian OS VRTX VxWorks Windows CE Xenomai Pouvoir utiliser le temps réel sous Android pourrait être d une importance capitale. Le nombre de tablettes tactiles utilisant Android est en constante hausse. A l aide de ces tablettes ou de simples télephones portables, il serait possible de réaliser les exemples précédemment donnés. Ce n est pas un marché à ignorer. Il nous faut donc savoir si Android est capable de supporter le temps réel. 2.2 Notions État d un processus Un processus peut être dans différents états : D sommeil irrévocable R exécution S en sommeil mais redémarrable, notamment par le scheduler T arrêté X mort Z zombie, mort mais pas accusé au parent cf 2.1 Figure 2.1 Etats d un processus et principales transitions. On voit que certains états sont des états puits et qu on ne peut en sortir par le simple scheduler : gestion manuelle par redémarrage ou kill -9 Et l ordonnancement intervient lors du passage d un état à l autre Temps Réel Priorité Le problème avec l ordonnanceur CFS Linux est qu il n est pas temps réel, au sens que les tâches sont dotées d une priorité dynamique et que le but du temps réel de base est d avoir des tâches prioritaires une bonne fois pour

11 toute. Hors CFS essaie de répartir le même temps à toutes tâches, si bien qu une tâche qui prend le processeur passe d une faible priorité à une haute priorité, et une fois qu elle a utilisé son timeslice, elle devient moins prioritaire : on voit donc que la priorité dynamique change et c est le principe intrinsèque d une tâche sous CFS avec la convention dynamicpriority = max(100, min(staticpriority bonus + 5, 139)) cf [14] p260 Au niveau du code, on le voit dans la fonction recalc task prio( ) Plusieurs temps réels Certes, le noyau Linux d Android gère bien du temps réel avec SCHED FIFO SCHED RR mais ce n est pas du vrai temps réel car [14] p312 : SCHED FIFO basé FCFS(First Come First Served)premier rendu premier servi SCHED RR qui assure une préemption qu à intervales réguliers et non pas quelconques De plus, il ne faut pas confondre temps réel mou qui tolère une certaine variation du temps de latence temps réel pur qui ne souffre d aucun retard 2.3 Etude d Android pour le temps réel Nous allons maintenant essayer de voir si Androïd fonctionne en temps réel. Pour cela nous allons nous appuyer sur quelques articles de recherche. Le premier [12] est un article testant Android sur le temps réel. Pour ce faire, des tests sur la Texas Instrument Zoom II Mobile dévelopment kit ont étés réalisés. Ces tests ont pour but de déterminer si Android est capable de respecter des contraintes temporelles. Pour faire ces tests, ils ont créer deux applications la première partie est l application Test qui va éxécuter des tâches selon des temps donnés, le test permettra de savoir si des violations d échéances ont eu lieu. Le test donnera également le nombre de ces violations. la deuxième partie est l application Loading qui va faire tourner le CPU et les autres I/O ressources. Ceci afin de faire saturer le système. Cette application a trois états, un état éteint, ou l on test que les tâches sans rien d autre. Un état normal ou les ressources sont utilisées moyennement, et un état fort ou un maximum de ressources est utilisé. Les résultats sont alors écrits dans des fichiers textes. voici par exemple le diagramme obtenu lors d un loading fort Figure 2.2 délais

12 Nous voyons sur ce graphique plusieurs choses. Le S de la légende est pour Slippage, qui est le temps d attente entre le moment ou l on demande d éxécuter la tâche et le moment ou elle s éxécute réellement. Nous remarquons que ce temps est de plus en plus long. De plus, le Slippage est de plus en plus fréquent. Il en ressort plusieurs problèmes. Il y a un temps de latence dans le noyau de Linux, mais également un autre temps de latence pour passer la main à la machine virtuelle d Android Dalvik. Il y a lors des tests des temps de réponse trop important. Si nous utilisons Android pour des applications à forte demande temps réel, nous voyons bien qu Android n est pas capable de le gérer.android ne semble donc pas adapté par défaut à du temps réel. 2.4 Travaux déja effectués Nous ne sommes certainement pas les premiers à nous pencher sur ce problème. Si nous voulons vraiment avancer, il nous faut commencer par regarder ou en est la recherche sur ce domaine aujourd hui. Une entreprise Esol à l air de travailler sur ce domaine spécifiquement. Après lecture de l article qu ils ont publié [13], nous pouvons voir qu ils n ont pas fait que s intérresser au problème. Ils ont trouvé une solution bien à eux. En effet, Android repose sur Linux 2.6 qui à la base n est pas un système temps réel. Esol a donc décidé d enlever Linux pour mettre leur propre système d exploitation. Le kernel de Linux à donc été remplacé par et-kernel Adaptor for Android. voici un schéma représentant leur produit final : Figure 2.3 architecture esol Cette solution semble très efficace, d après ce qu ils peuvent écrire. Cependant, cette solution n est pas libre. De plus, ils ne travaillent que sur leurs propres matériel, ce n est pas une solution temps réel grand public. Nous gardons quand même leur idée de modifier le kernel pour obtenir du temps réel, même si nous ne developperons pas comme eux notre propre kernel. Nous pouvons plûtot envisager une modification du noyau de Linux, sous forme de patch. Cette solution nous semble déja plus envisageable.

13 2.5 Autres pistes de recherches A partir du dernier article qui nous était fourni [4]. Nous en apprenons davantage sur l ordonnanceur de Linux. Ce qui sera certainement une piste à étudier plus en détails. Nous expliquerons le fonctionnement de l ordonnanceur dans la partie suivante. Une des possibilités décrite est donc de modifier l ordonnanceur de Linux, pour qu il accepte le temps réel, cela rejoint un peu le point précédent, sans être tout à fait pareil. Ici on modifierai directement le code de l ordonnanceur, il n est pas question de patch. Ici nous chercherons donc comment et ou est implémenté l ordonnancement pour le modifier. Une autre solution plus avantageuse serait de modifier également la VM Dalvik. Dans la partie précédente, on a vu qu Android reposait sur Linux au niveau le plus bas. Au niveau juste au dessus nous avons la couche runtime avec à l intérieur la VM Dalvik. Une solution pourrait être de faire en sorte que cette machine virtuelle accepte d ordonnancer du temps réel. Nous expliquons davantage l utilité de Dalvik et son fonctionnement dans la partie décrivant l arborescence d Android. En bref, avoir un Linux temps réel et une machine virtuelle temps réelle donnerait une performance bien plus élevée. Pour rendre la VM Dalvik temps réelle, on peut l étendre en utilisant RTSJ (Real-Time Specifications for Java). Dalvik étant écrite en JAVA, on peut utiliser cette extension. Le problème majeur reste donc de modifier l ordonnanceur CFS de Linux. Nous voyons donc que deux approches se dégagent aux vues des recherches qui se font déja. La première serait de modifier Linux à la main c est à dire aller chercher dans le noyau Linux ou se passe l ordonnancement, et le modifier pour le rendre temps réel. La deuxième approche serait d essayer de regarder les solutions qui existent déja pour essayer de patcher Linux pour le rendre temps réel. Nous voyons quand même que les deux solutions reposent sur le même principe modifier Linux et non (ou seulement en partie) Android. Dans les grandes lignes, pour rendre le noyau temps réel, on devra s attacher à : sensibilité aux interruptions en noyau, ISR attention au phénomène d inversion de priorité ressources gérees par mutex plus performantes que les verrous tournants unités de temps fines

14 Android Chapitre 3 Première approche de recherche : Modification de l ordonnanceur 3.1 Etude de l ordonnanceur CFS de Linux Android 2.2 Froyo est basé sur un noyau linux Depuis la version du noyau on utilise l odonnanceur Completly Fair Scheduler (ou CFS). Il est basé sur un arbre binaire de recherche rouge-noir. Le principe est simple : on trie les processus en fonction du temps passé en exécution sur le processeur et on les stock dans cet arbre. Le processus qui aura passé le plus de temps en exécution sera tout à droite de l arbre. Ainsi l ordonnanceur choisi toujours la tache la plus à gauche. La tache est ensuite réinsérée dans l arbre et grâce à aux propriétés des arbres rouge-noire il reste à peu près équilibré. Figure 3.1 Arbre de priorité des taches L ordonnanceur CFS est implémenté dans kernel/kernel/sched fair.c Les fonctions importantes de l ordonnanceur sont définie dans la structure sched class. enqueue task(...) est la méthode qui ajoute les taches dans l arbre rouge-noire. 13 L A TEX

15 dequeue task(...) supprime une tache. pick next task(...) choisit la prochaine tache à être exécutée. task tick(...) est la méthode qui peut faire les préemptions. Elle est appelée par scheduler tick(void) elle même appelée en boucle par le timer. 3.2 Resultats Quand on veut rajouté la gestion des taches temps réel dans l ordonnanceur CFS on s aperçoit qu il y a une incompatibilité avec la structure utilisé. En effet la gestion des priorités est faite par un arbre qui trie les taches par temps d exécution. Cependant la priorité des taches temps réel n est pas basé sur le même critère. Si par exemple on veut avoir un ordonnancement de type EDF on ne peut pas avoir un arbre qui trie les taches à la fois par deadline et par temps d exécution. La prise en compte des taches temps réel par l ordonnanceur de linux demande donc une refonte de sa structure. En se contentant d un simple RT, comme RM, il faut quand même [3] respect des échéances temporelles bonne gestion de la montée en charge car jusqu à un seuil critique, la surcharge ne doit pas être préjudiciable au respect des échéances si un pool de tâches doit être traité, le système doit dire à l avance si c est possible ou pas avant de se lancer dans des calculs, qui peuvent engager de gros risques : prédictibilité le système doit être robuste et une tâche ne doit pas mettre en péril l intégrité du système. pour être facilement maintenable sans connaître parfaitement le système tout entier, le paradigme doit être basé sur le modulaire. Le noyau Android est-il CFS donc complexité O(1) avec le noyau 2.6? En effet, pour respecter la prédictibilité, un temps constant est tout indiqué, même si pour connaître cette donnée spécifique, liée au matériel qui interprète le code compilé du scheduler par exemple, il faut faire des mesures expérimentales. une connaissance parfaite du matériel(dma,processeur) doit être requise, ce qui n est jamais le cas dans la réalité.certes ils permettent des accélérations, mais sont une source d incertitude dommageable en situation critique. une autre source d indeterminisme est le comportement du gestionnaire de tâche lui-même : gestion des ressources,etc. Pour être sûr de ne pas être ennuyé par des aléas, on se contentera de simples RM sans ressources. Il vient : comment lancer la gestion de telle tâche? Comme sous GNU Linux, on peut lancer des tâches par un premier processus init. Et les redémarrages ne font pas de mal à la machine et sont rapides(voir ultra rapide : redémarage à la volée,sans boot) car on est en émulation Notion de tâches Ce sont les entités qui seront traitées par le scheduler. On peut aussi dire processus ou par abus de langage, démons. La petite différence vient qu en principe un démon reste toujours en arrière plan et n interragit avec l utilisateur qu indirectement ; on dit aussi des services(voire processus batch [5] p256), dont la santé est primordiale, c est pourquoi ils sont eux-mêmes gérés par des super-serveurs (inetd,xinetd qui gèrent notamments les intérruptions par redémarrage automatique en cas de bug par exemple). Si on regarde plus précisément un processus, c est la donnée d un descripteur de processus qui permettent au scheduler le gérer convenablement. [14] indique qu il contient différents champs : state, thread info, usage flags, run list tasks, mm, real parent parent, tty, thread, fs, files, signal pending Théorie Par une simple simulation hors-ligne des valeurs calculées par le ordonnanceur.

16 3.2.3 Pratique En introduidant des métriques (ps,graphique, moniteur système(notion de monitor?)) pendant que le scheduler est en situation.comme le chat de Schrödinger, ça change légèrement le comportement, mais peut être considéré comme négligeable, d autant plus si ces métriques sont prises en compte par le scheduler et bien traitées(idéee de récursion : le ordonnanceur doit traiter une entité qui le mesure lui-même?), et si les vraies tâches montent en charge, leur proportion de prise de processeur augmente(seuil critique?). Protocole Dans la vulgarisation scientifique, les résultats ne sont pas envoyés directement à l écran à cause de gros temps de latence. Des solution sont donc des sorties des mesures de temps de changement d états haut ou bas d une tâches par des ports parallèles ; ou par des sorties fichiers pour analyse à postiori. Résultats attendus, comparaisons Les plus simples comparaisons sont de voir la différence pour un système normal et temps réel entre système chargé 3.2 ou pas 3.3. La charge peut être apportée par des top rapprochés top -d 0 Figure 3.2 Différence pour un système non temps réel entre non chargé et chargé

17 Figure 3.3 Différence pour un système temps réel entre non chargé et chargé

18 Android Chapitre 4 Seconde approche : Application du patch RTAI pour Linux sur Android RTAI est une extension libre de Linux. Cette extension permet au système de gérer des tâches temps réelles. RTAI fonctionne sous la forme d un patch à appliquer directement au noyau de Linux. Etant donné qu Android est basé sur un noyau Linux, nous allons par la suite essayer de patcher ce noyau, pour qu Android tourne en temps réel. 4.1 Patch RTAI Pour comprendre comment fonctionne RTAI, nous avons commencé par l essayer sur un Linux classique. Nous avons récupéré un kernel sur kernel.org. Nous n avons pas pris n importe lequel, nous avons pris le Ce kernel est celui sur lequel se repose Android 2.3 auquel nous avons précédemment récupéré les sources. Il nous faut maintenant récupérer la version de RTAI qui permet de patcher ce kernel. Après quelques recherches il s agit de RTAI Nous la téléchargeons donc sur Pour appliquer le patch nous avons suivi le tutoriel http ://cedric.cnam.fr/ bouzefra/installation rtai.pdf [7] Ce tutoriel expose point par point comment appliquer RTAI sur un noyau Linux dont on dispose des sources. Ce tutoriel est pour une ancienne version de RTAI et de Linux mais la procèdure n ayant pas changé, cela ne pose pas de soucis. On obtient un fichier patch.txt qui indique que le patch s est correctement installé. Ce fichier patch est donné en annexe. Si on applique ce patch à l arborescence Android, nous obtenons un fichier patch.txt remplis d erreurs. Il nous faut nous placer dans le dossier kernel pris de Linux, et la le patch se déroule correctement également. Nous obtenons ainsi un Android temps réel. Nous reste maintenant à le compiler. Pour ce faire, nous suivons la procèdure décrite dans le tutorial précédemment donné. Nous obtenons ainsi un Android compilé basé sur un noyau temps réel. Cependant, lorsque nous l éxecutons, nous n obtenons qu un écran noir. Le patch RTAI a du modifier des éléments qu Android à besoin. Il nous faut maintenant trouver ce qui utilise les fichiers modifiés par RTAI. 4.2 Etude de l arborescence Android bionic Ce terme fait penser aux extensions mécaniques et robotiques de l Homme. Y-a-il un rapport. libc libdl libm libstdc++ libthread db linker : ce sont principalement des bibliothèques pour développer en C. Il y a les librairies partagées, dynamique,mathématique... Il y a également du C++, de la gestion de parallèlisme, de l assemblage en exécutable ELF(donc compatible Linux). Bionic semble être un nom quelconque, mais marque la spécificité par rapport aux bibliothèques POSIX GNU Linux : en [8] 17 L A TEX

19 4.2.2 bootable Notion de démarrage sous Linux En fait le démarrage est une succession de prise en charge de matériel et codes. Cette prise en charge est de plus en plus importante au cours de la session car la reconnaissance est incrémentale et est basée sur la capacité du chaînon précédent [16]. Pour nous, le démarrage est très important car c est par lui qu on pourra introduire notre textbfscheduler qui fonctionnera alors en autonome. Ainsi, à l appui sur le bouton ON d un PC, on passe par le mode Réel du processeur x86 [16] [5] : le POST qui teste les différents matériels le bootstrapping avec entre autres le BIOS( Basic Input/Output System) qui est une ROM qui teste le matériel non volatile comme les disques durs, carte PCI, lecteur de CD-ROM qui se trouvent à des adresses prédéfinies. Selon les matériels bootables et l ordre de nos préférences, il donne la main au CD-ROM ou à des gestionnaires de démarrage de second niveau : GRUB, LILO, etc, selon les secteurs de boot(446octets) du Master Boot Record (MBR) en début de disque,suivi par notamment 64 pour une table de 4 partitions primaires maximum. GRUB, LILO Ce sont les démarreurs des disques durs implémentant GNU Linux. Ils chargent surtout les OS correspondant, et leur donnent la main : que ce soient des vrais systèmes avec noyau( avec certaines options) ou de simples programmes. Ils donnent eux-même la main au noyau en mode réel où on a accès qu à 1MB de mémoire non protégée, où évidemment ce n est pas le vrai noyau qui est chargé On passe alors au mode protégé qui lance : le vrai noyau et des fonctions processeurs plus étendues comme la pagination. Le noyau devant s appliquer au contenu d un disque, pour pouvoir lire ses données(en EXT2,3,4,etc), il lance les premiers drivers disques spécifiques à la partition pour pouvoir la monter, grâce à initrd ou initramfs(la différence est une simple optimisation de la mémoire en taille, fragmentation, indépendance à un autre système de fichier). init(), le père de tous les processus. C est lui qui lance les processus utilisateurs et les démons : consoles, login. Après, pendant la session, le processeur peut passer : en mode noyau : il a alors tous les droits(processeur, noayau), mais doit avoir les droits root, car passer dans ce mode peut planter la machine, il faut donc des gens qui savent ce qu ils font(codeurs du noyau, ou root). Autre grand avantage : ce code peut préempter d autre code. ou mode utilisateur : mode sécurisé où la machine n est pas en péril. cf 4.1 Figure 4.1 Séquence de démarrage sous Linux

20 Où intervient le scheduler? [5]p257 : alors qu on aurait pu croire que ça allait être une sorte de super processus à la priorité dynamique maximale 100 ([14] p260), ce n est pas un processus mais une simple fonction qui est appelée lors de chaque laps de temps slice, et qui traite les différentes listes par priorités. Sous Android En gravant les CDs sous Linux, bootable fait plutôt penser à la section d amorçage des CDs pour pouvoir démarrer une distribution au démarrage de l ordinateur(post) i.e. Power On Self Test). bootable n est pas présent dans l arbre Linux. En regardant la structure sous Android, on voit bootloader diskinstaller recovery. Donc, notre première impression se voit confirmée. Sur Linux, pour graver un CD-ROM, on utilise mkisofs et cdrecord, et ce qui le rend bootable :??. De prime abord, on peut se demander ce que les CD viennent faire là, sachant que les appareils Android sont soit des téléphones, soit des tablettes sans fonction de gravure. À cela, on répond que comme l émulation préconisée par nous à partir d un CD, si cette procédure marche, l installation sur n importe quel CD est censée fonctionner de fait sur n importe quelle machine PC ; d autre part, c est peut-être aussi du code emprunté à Linux pour une adoption de masse pour les machines sous Android. D autre part, si on n envisage pas encore beaucoup de PC sous Android, n oublions pas aussi que les clés USB autres cartes Flash sont elles aussi bootables et plus envisageables car les tablettes proposent souvent des ports dédiés build La création de quoi? Du noyau, comme xconfig ;make ;make install pour installer un noyau et ses modules? Ce module se compose de core libs target tools. core ne contient presque que des.mk, ce sont donc des directices de compilation libs target désigne les cibles sur lesquelles intaller Android, avec board/generic pour des matériels generiques, sans noyau, traités par émulation, permetant une prise en charge de purs systèmes user, ces produits sont pour le moins exotiques(cf README.txt). tools : différent utilitaires (bizarre le traitement des progragrammes Java par des.mk dans beginverbatimbuild/tools/droiddoc/src endverbatimau lieu de Ant). Par qui sont utilisés ces utilitaires? dalvik Généralités Dalvik est une machine virtuelle basée sur les registres qui gère la plate-forme Java sur les appareils mobiles Android. Dalvik a été écrit par Dan Bornstein qui l a nommé d après le village de pêcheurs de Dalvík en Islande [19]. Cette VM permet d exécuter les applications qui ont été converties en un exécutable compact Dalvik (.dex), un format adapté aux systèmes limités en termes de mémoire et de vitesse du processeur. On trouve donc Android sur des appareils le plus souvent mobiles comme un téléphone portable, une tablette numérique, etc... bref la plupart des appareils qui nécessitent un OS embarqué et possédant peu de ressources. Une fois les application Android compilées en fichiers.dex elles sont automatiquement zippés en fichier.apk (Android Package) [6]. Les classes compilées en.dex deux fois moins lourdes qu un fichier jar qui aurait été généré pour une machine virtuelle java quelconque [1]. On a généralement plusieurs classes java dans un seul fichier DEX. Le fichiers DEx procurent une très bonne optimisation car durant la génération d un fichier.dex on a recours à des répétitions minimale, des associatiosn par type et des labels implicites. Pendant l installation chaque fichier DEX est vérifié et les optimisations telles que le byte-swapping, bytepadding, la liaison statique et les méthodes in-line sont effectuées pour minimiser l évaluation du temps d exécution et éviter les violations de sécurité. L article cité précédemment est un extrait du livre de Sayed Hashimi, Satya Komatineni et Dave MacLean, Pro Android 2 [2]. On trouve dans cet article un exemple du gain d espace que procure la Dalvik VM. Pour un simple navigateur Internet qui équivaut à 500Ko en fichier.jar avec une VM java, équivaut à 200Ko avec les fichiers.dex et la machine virtuelle Dalvik.

21 La Dalvik VM utilisant les registres et non une pile, diminue ainsi le temps d exécutions de 30% grâce à une diminution de 30% du nombre d instructions par rapport à une utilisation dans une VM comme la Java VM. Cette diminution du nombre d instructions implique donc une diminution des accès en mémoire. Ce système du fichiers DEX à un impacte direct sur l optimisation de la mémoire, de la gestion de la batterie et sur la fréquence du CPU. En revenche on ne peut pas utiliser le Java byte-code avec Android, on est obligé de passer par les fichiers de classes qui seront donc transformés en fichiers DEX. On trouvera la comparaison entre un fichier.jar et un fichier.dex sur la figure 4.2 [9]. Figure 4.2 jar vs..apk Voici les différents dossiers que l on peut trouver dans le dossier dalvik : (liste non-exhaustive) dalvikvm : appel des lignes de commande de la machine virtuelle Dalvik dexdump : imitation d un objdump dexlist : liste toutes les méthodes de toutes les classes concrètes dans un ou plusieurs fichiers.dex dexopt : optimisation des commande DEX et vérification des entrées dvz : gère les instances de la VM libcore : toutes les librairies dont dalvik a besoin libdex : librairies en relation avec le format.dex libnativehelper : fonctions d aide pour les classes d Android vm : codes de la machine virtuelle Dalvik Démarrage La machine virtuelle Dalvik est capable de faire tourner plusieurs processus indépendants ayant chacun une adresse et une mémoire séparées. Durant le démarrage d un dispositif ou périphérique un processus est chargé de démarrer la machine virtuelle elle-même. On dispose d un processus de la VM nommé Zygote responsable de l initialisation et du chargement des classes Android les plus utilisées par la plus grande partie des applications. Ce zygote ouvre un socket qui accepte les commandes d une application quand une nouvelle application Android est démarrée. Le zygote crée un fils qui sera cette application. Les classes que l on a chargé dans le Zygote vont servir à cette application et sont partagées avec toutes les applications filles du Zygote. On chargera dans ce fils les classes propres à lui-même. On peut voir

22 ce système sur l image 4.3. Une telle approche permet d économiser de la RAM et et d augmenter la rapidité de démarrage des différentes applications. On ne peut pas utiliser le système de temps réel de Linux dans la machine virtuelle Dalvik. Figure 4.3 Zygote Heap (Tas) Garbage Collector Passons maintenant à la partie Garbage Collector de la machine virtuelle Dalvik. Les différentes threads s arrêtent eux-mêmes ou sont suspendus par le Garbage Collector (GC) ou un debugger. La machine virtuelle gère tous les threads créés grâce à une structure interne du style d une map. Le GC s occupe de la gestion de la mémoire dynamique en supprimant ou déplaçant les données qui ne sont plus utilisées par les applications. Tous les processus ont leur propre tas et un tas partagé avec les différents processus fils du Zygote (cf 4.3). Chaque tas est géré séparément par le GC. Les données contenues dans le tas du Zygote ne sont bien entendu pas supprimées par le GC car elles sont partagées entre différents processus fils, la gestion de la mémoire ne peut qu en être améliorée. Le GC utilise l algorithme mark and sweep. L algorithme Mark and Sweep est probablement le plus simple et le plus connu. Dans son principe, lorsque le GC se déclenche, il part des références racines de l application et suit récursivement toutes les références qu il rencontre. Chaque objet ainsi visité est marqué, il est effectivement accessible au programme, et ne doit en aucun cas être supprimé. Dans un deuxième temps, le GC joue le rôle du balayeur (opération sweep ), il parcourt linéairement le tas, objet par objet, et supprime tout objet qui n est pas marqué et récupère la mémoire qui lui était allouée. Bien entendu, il efface également les marques des objets survivants en prévision de la prochaine collecte [10]. On peut voir le mécanisme sur la figure 4.4. Il est évident que la collecte des objets (du moins la première étape mark ) ne peut s effectuer que si tous les threads applicatifs sont arrêtés. Donc lorsque le GC se lance, l application s interrompt complètement. L algorithme Mark and Sweep est très simple, mais pose un certain nombre de problèmes : son temps d exécution est proportionnel à la taille du tas il laisse le tas fragmenté il fonctionne mal si les objets n ont pas une taille globalement uniforme Voilà pour la partie GC de dalvik, on va maintenant voir si la VM gère l ordonnancement temps-réel sous Android. La Dalvik VM gère-t-elle l ordonnancement sous Android? La machine virtuelle Dalvik ne supportant pas la compilation Just-in-Time (JIT) pour l instant (en cours de préparation pour une prochaine version), toute la partie ordonnancement est traitée par l ordonnanceur du noyau Linux d Android ainsi que la gestion de la mémoire et la gestion et la sécurité des processus. Pour information la compilation JIT, plus communément appelée compilation à la volée en français, est une technique visant à améliorer la performance de systèmes bytecode-compilés par la traduction de bytecode en code

Administration de Parc Informatique TP07 : Installation de Linux Debian

Administration de Parc Informatique TP07 : Installation de Linux Debian Institut Galilée L2 Info S1 Année 2012 2013 1 Une machine virtuelle Administration de Parc Informatique TP07 : Installation de Linux Debian Le but du TP est d installer Linux (en l occurrence la distribution

Plus en détail

Administration de Parc Informatique TP08 : Installation de Linux Debian

Administration de Parc Informatique TP08 : Installation de Linux Debian Institut Galilée L2 Info S1 Année 2011 2012 1 Une machine virtuelle Administration de Parc Informatique TP08 : Installation de Linux Debian Le but du TP est d installer Linux (en l occurrence la distribution

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

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

Administration de Parc Informatique TP06 : Installation de Linux Debian

Administration de Parc Informatique TP06 : Installation de Linux Debian Institut Galilée L2 Info S1 Année 2013 2014 1 Une machine virtuelle Administration de Parc Informatique TP06 : Installation de Linux Debian Le but du TP est d installer Linux (en l occurrence la distribution

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

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

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

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

Introduction à UNIX et Windows

Introduction à UNIX et Windows 1/39 à UNIX et Windows Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR Léonard de Vinci 74, rue Marcel Cachin, F-93017 Bobigny

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

VMware ESX/ESXi. 1. Les composants d ESX. VMware ESX4 est le cœur de l infrastructure vsphere 4.

VMware ESX/ESXi. 1. Les composants d ESX. VMware ESX4 est le cœur de l infrastructure vsphere 4. VMware ESX/ESXi 1. Les composants d ESX VMware ESX4 est le cœur de l infrastructure vsphere 4. C est un hyperviseur, c est à dire une couche de virtualisation qui permet de faire tourner plusieurs systèmes

Plus en détail

Systèmes d exploitation. Introduction. (Operating Systems) http://www.sir.blois.univ-tours.fr/ mirian/

Systèmes d exploitation. Introduction. (Operating Systems) http://www.sir.blois.univ-tours.fr/ mirian/ Systèmes d exploitation (Operating Systems) Introduction SITE : http://www.sir.blois.univ-tours.fr/ mirian/ Systèmes d exploitation - Mírian Halfeld-Ferrari p. 1/2 Qu est-ce qu un SE? Ensemble de logiciels

Plus en détail

Installation classique de Windows XP. Phase texte de l installation :

Installation classique de Windows XP. Phase texte de l installation : Installation classique de Windows XP Voici les trois installations standard de Windows XP : A partir du CD-ROM de Windows XP : Ce type d installation nécessite que vous ayez un lecteur de CD-ROM sur votre

Plus en détail

QCM systèmes d exploitation (Quarante questions)

QCM systèmes d exploitation (Quarante questions) QCM systèmes d exploitation (Quarante questions) QUIZZ OS N 1 (10 questions avec réponses) Question 1: Aux origines de l informatique, l'interface utilisateur des systèmes d exploitations était composée

Plus en détail

Guillaume MONTAVON Benoît MEILHAC. Rapport Technique du projet. Gestionnaire de tâches pour Android

Guillaume MONTAVON Benoît MEILHAC. Rapport Technique du projet. Gestionnaire de tâches pour Android Guillaume MONTAVON Benoît MEILHAC Rapport Technique du projet Gestionnaire de tâches pour Android Sommaire 1. Introduction... 3 2. Outils utilisés... 3 2.1. Android SDK... 3 2.2. Android dans Eclipse...

Plus en détail

Retrouver de vieux programmes et jouer sur VirtualBox

Retrouver de vieux programmes et jouer sur VirtualBox CHAPITRE 3 Retrouver de vieux programmes et jouer sur VirtualBox Ce chapitre présente des notions avancées de VirtualBox. Elles permettront de réaliser des configurations spécifiques pour évaluer des systèmes

Plus en détail

LE BIOS : QU EST-CE QUE C EST?

LE BIOS : QU EST-CE QUE C EST? LE BIOS : QU EST-CE QUE C EST? Mewtow 29 octobre 2015 Table des matières 1 Introduction 5 2 Rappels sur le mode réel des processeurs x86 7 2.1 Mémoire en mode réel............................... 7 2.1.1

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

Administration de Parc Informatique TP 05 Installation de Linux Debian

Administration de Parc Informatique TP 05 Installation de Linux Debian Institut Galilée L2 info S1 Année 2008-2009 Administration de Parc Informatique TP 05 Installation de Linux Debian 1 Une machine virtuelle Sur les machines du Sercal, nous ne pouvons pas manipuler les

Plus en détail

Projet de semestre 2011. Etude du stockage des Machines Virtuelles VMware sur un système FreeNAS au sein d une architecture SAN

Projet de semestre 2011. Etude du stockage des Machines Virtuelles VMware sur un système FreeNAS au sein d une architecture SAN 11.04.2011 Projet de Semestre 2011 Benoît Chalut Projet de semestre 2011 Etude du stockage des Machines Virtuelles VMware sur un système FreeNAS au sein d une architecture SAN Professeur Responsable :

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

Architecture logicielle des ordinateurs

Architecture logicielle des ordinateurs Architecture logicielle des ordinateurs Yannick Prié UFR Informatique Université Claude Bernard Lyon 1 des ordinateurs Objectifs du cours Notions générales sur le fonctionnement matériel (un peu) et logiciel

Plus en détail

Administration système

Administration système Administration système TP2 : premières installations. L3 Pro R&S - L3I. Guillaume RENIER - 2013 http://depinfo.u-cergy.fr/adminsystem[l3i L3RS] guillaume.renier@u-cergy.fr 1 Installation en mode bloc de

Plus en détail

Tutoriel Info Prog : Installation de l environnement de programmation à l IUT de Montpellier

Tutoriel Info Prog : Installation de l environnement de programmation à l IUT de Montpellier Tutoriel Info Prog : Installation de l environnement de programmation à l IUT de Montpellier Auteur : Fabien Despinoy Date : 12/11/13 Version 1.1 Contact : fabien.despinoy@lirmm.fr 1. Objectifs du tutoriel

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

1 Le vocabulaire de l informatique

1 Le vocabulaire de l informatique 1 Le vocabulaire de l informatique I Les systèmes informatiques Les ordinateurs sont omniprésents dans notre environnement quotidien. Conçus pour traiter de manière générale des informations, ils ne se

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

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

Après avoir réalisé les phases préparatoires, démarré le serveur et mis le DVD Rom dans le serveur, vous arrivez sur :

Après avoir réalisé les phases préparatoires, démarré le serveur et mis le DVD Rom dans le serveur, vous arrivez sur : Installation 1. Serveur ESX4 L installation d un serveur ESX ne présente aucune difficulté et est beaucoup plus simple et rapide (10 à 15 minutes) que l installation d un serveur Windows ou Linux. Dans

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

Vous êtes nombreux à débuter en hacking et à chercher plus d informations concernant la programmation.

Vous êtes nombreux à débuter en hacking et à chercher plus d informations concernant la programmation. Vous êtes nombreux à débuter en hacking et à chercher plus d informations concernant la programmation. Tux, la mascotte officielle de Linux Être débutant est absolument normal comme je le dis toujours

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

Systèmes informatiques

Systèmes informatiques Systèmes informatiques Franck Guingne, sur la base du cours d Olivier Lecarme Cours Licence 1; Semestre 2 2009 2010 Troisième cours : Installation d une distribution GNU/Linux. 1 Les différentes distributions

Plus en détail

Administration système

Administration système Administration système TP2 : installations d OS. L3 Pro R&S - L3I. Guillaume RENIER - 2013 http://depinfo.u-cergy.fr/adminsystem[l3i L3RS] guillaume.renier@u-cergy.fr 1 Installation en mode bloc de Windows.

Plus en détail

PPE 1 PRISE EN MAIN DE VMWARE VSPHERE 5.5 & CONFIGURATION D UNE MACHINE VIRTUELLE

PPE 1 PRISE EN MAIN DE VMWARE VSPHERE 5.5 & CONFIGURATION D UNE MACHINE VIRTUELLE PPE 1 PRISE EN MAIN DE VMWARE VSPHERE 5.5 & CONFIGURATION D UNE MACHINE VIRTUELLE Antoine CAMBIEN BTS SIO Option SISR Session 2015 BTS SIO Services Informatiques aux Organisations Session 2014 2015 Nom

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

Introduction aux systèmes d exploitation

Introduction aux systèmes d exploitation Introduction aux systèmes d exploitation Le système d exploitation est un ensemble de logiciels qui pilotent la partie matérielle d un ordinateur. Les principales ressources gérées par un système d exploitation

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

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server Machine virtuelle Machine virtuelle Machine virtuelle VMware ESX 3 Network Shutdown Module Network

Plus en détail

Système d exploitation

Système d exploitation Chapitre 2 Système d exploitation 2.1 Définition et rôle Un ordinateur serait bien difficile à utiliser sans interface entre le matériel et l utilisateur. Une machine peut exécuter des programmes, mais

Plus en détail

MACHINE VIRTUELLE VSPHERE. Projet Personnalisé Encadré 1

MACHINE VIRTUELLE VSPHERE. Projet Personnalisé Encadré 1 MACHINE VIRTUELLE VSPHERE Projet Personnalisé Encadré 1 Aymeric Blerreau 15/11/2013 1 TABLE DES MATIÈRES 2 Description... 2 3 Contexte... 3 3.1 Contexte... 3 3.2 Objectifs... 3 3.3 Solution envisageable...

Plus en détail

Processeur JAP. Le langage JAVA

Processeur JAP. Le langage JAVA Processeur JAP Ce document présente les dernières nouveautés concernant le processeur JAVA de la société AED. Il commence par un rappel sur les caractéristiques du processeur actuel, puis présente les

Plus en détail

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5 Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5 Machine virtuelle Machine virtuelle Machine virtuelle VMware ESX Network Shutdown Module

Plus en détail

LiveUSB clefisn. Meilland jean claude et Kbida Abdellatif. 16 septembre 2012

LiveUSB clefisn. Meilland jean claude et Kbida Abdellatif. 16 septembre 2012 LiveUSB clefisn Meilland jean claude et Kbida Abdellatif 16 septembre 2012 Table des matières 1 Présentation de la clefisn 2 1.1 liveusb......................................... 2 1.2 Le boot.........................................

Plus en détail

DÉBUTER AVEC APP INVENTOR

DÉBUTER AVEC APP INVENTOR Terminale STMG SIG Année 2013-2014 DÉBUTER AVEC APP INVENTOR App Inventor est un outil de développement en ligne pour les téléphones et les tablettes sous Android. App Inventor est un OS créé par Google,

Plus en détail

Traitement de données

Traitement de données Traitement de données Présentation du module TINI Présentation du module : Le module Tini se décline en plusieurs versions, il est constitué d une carte d application et d un module processeur : Les modules

Plus en détail

Virtualisation CITRIX, MICROSOFT, VMWARE OLIVIER D.

Virtualisation CITRIX, MICROSOFT, VMWARE OLIVIER D. 2013 Virtualisation CITRIX, MICROSOFT, VMWARE OLIVIER D. Table des matières 1 Introduction (Historique / définition)... 3 2 But de la virtualisation... 4 3 Théorie : bases et typologie des solutions techniques...

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

J. Gangloff, Loïc Cuvillon. 28 janvier 2008

J. Gangloff, Loïc Cuvillon. 28 janvier 2008 Systèmes temps réel Linux temps réel : Xenomai sur clé usb J. Gangloff, Loïc Cuvillon Ecole Nationale Supérieure de Physique de Strasbourg 28 janvier 2008 Loïc Cuvillon (ENSPS) Systèmes temps réel Année

Plus en détail

INSTALL ATION D UNE D I S T RIBUTION

INSTALL ATION D UNE D I S T RIBUTION INSTALL ATION D UNE D I S T RIBUTION LINUX : UBUNTU CONTENU Téléchargement et Préparation... 2 Téléchargement... 2 Création du support d installation... 3 Installation d UBUNTU... 4 L installation de linux...

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

VIRTUALISATION ET CLOUD COMPUTING. Année Universitaire : 2015-2016

VIRTUALISATION ET CLOUD COMPUTING. Année Universitaire : 2015-2016 VIRTUALISATION ET CLOUD COMPUTING Enseignant : Mohamed MANAA Année Universitaire : 2015-2016 Plan La virtualisation Qu'est-ce que la virtualisation? Pourquoi virtualiser? Terminologies Techniques de virtualisation

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

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

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

Structure en couches des systèmes informatiques

Structure en couches des systèmes informatiques Structure en couches des systèmes informatiques Vue simplifiée d un système informatique Ce que le simple utilisateur perçoit «à première vue» d un système informatique : Le boîtier (tour, desktop ou portable)

Plus en détail

Mise en place d une machine virtuelle avec vsphere

Mise en place d une machine virtuelle avec vsphere Mise en place d une machine virtuelle avec vsphere 15/11/2013 Par Aymeric BLERREAU Dans le cadre de l obtention du BTS SIO SISR Services Informatiques aux Organisation option Solution d Infrastructure,

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

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

REPUBLIQUE ISLAMIQUE DE MAURITANIE

REPUBLIQUE ISLAMIQUE DE MAURITANIE REPUBLIQUE ISLAMIQUE DE MAURITANIE Honneur - Fraternité Justice Ministère de l Emploi, de la Formation Professionnelle et des Technologies de l Information et de la Communication Direction Générale de

Plus en détail

Système Principal (hôte) 2008 Enterprise x64

Système Principal (hôte) 2008 Enterprise x64 Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée avec : Hyper-V 6.0 Manager Hyper-V Server (R1&R2) de Microsoft Hyper-V 6.0 Network Shutdown Module Système Principal

Plus en détail

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

Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre. Partie I : Introduction Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre Partie I : Introduction Plan de la première partie Quelques définitions Caractéristiques communes des applications temps-réel Exemples d

Plus en détail

Installation de Virtual Box & VM ware

Installation de Virtual Box & VM ware SCHMITT Année 2012/2014 Cédric BTS SIO Installation de Virtual Box & VM ware Description : Ce projet a pour but de définir la virtualisation, de comparer deux solution (Virtual Box & VMware), de les installer

Plus en détail

Avant de commencer Au sommaire de ce chapitre

Avant de commencer Au sommaire de ce chapitre 1 Avant de commencer Au sommaire de ce chapitre Configuration requise pour utiliser Visual Basic 2010 Les différentes versions de Visual Basic 2010 Installation de Visual Studio 2010 Premier contact avec

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

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

Ubuntu Hoary 5.04. sur

Ubuntu Hoary 5.04. sur Ubuntu Hoary 5.04 sur PowerMac G3 Beige Les explications qui vont suivre concernent uniquement les PowerMac G3 Beige et peut-être d autres modèles de l ancienne génération. - Ce dont vous avez besoin :

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

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

Unix/Linux I. 1 ere année DUT. Université marne la vallée

Unix/Linux I. 1 ere année DUT. Université marne la vallée Unix/Linux I 1 ere année DUT Université marne la vallée 1 Introduction 2 Fonctions et spécifité d Unix Architecture 3 4 5 Fichier Unix Arborescence de fichiers Quelques commandes sur les fichiers Chemins

Plus en détail

Les systèmes d exploitation

Les systèmes d exploitation Définitions Les systèmes d exploitation Version LJV #090915 septembre 2009 Le système d'exploitation: (anglais operating system, en abrégé OS) ensemble des programmes nécessaires et indispensables au fonctionnement

Plus en détail

Tutoriel Création d une source Cydia et compilation des packages sous Linux

Tutoriel Création d une source Cydia et compilation des packages sous Linux Tutoriel Création d une source Cydia et compilation des packages sous Linux 1. Pré-requis 1. Quelques connaissances sous Linux 2. Avoir à disposition un Serveur FTP pour héberger votre source 3. Un thème

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

Distributions Linux. Jean-Luc Levaire. 14 septembre 2007. Distributions Linux. Jean-Luc Levaire. Caractéristiques. Différences. Classement.

Distributions Linux. Jean-Luc Levaire. 14 septembre 2007. Distributions Linux. Jean-Luc Levaire. Caractéristiques. Différences. Classement. Distributions Linux Post- 14 septembre 2007 Une distribution Linux au moins un noyau Linux, les librairies et outils GNU, ainsi que souvent un système de fenêtrage (X11), un gestionnaire de fenêtre et

Plus en détail

Systèmes d exploitation

Systèmes d exploitation Systèmes d exploitation Un système d exploitation (SE, en anglais Operating System ou OS) est un ensemble de programmes responsables de la liaison entre les ressources matérielles d un ordinateur et les

Plus en détail

Installation chez vous des machines virtuelles par disque.vdi

Installation chez vous des machines virtuelles par disque.vdi Licence d Informatique Module 3I015 année 2015 2016 Principes et pratiques de l administration des systèmes Module 3I015 Installation chez vous des machines virtuelles par disque.vdi page 2 Licence d Informatique

Plus en détail

Rapport : installation d un OS Lycoris Deskstop/LX

Rapport : installation d un OS Lycoris Deskstop/LX Nicolas Guillon Groupe 111 Rapport : installation d un OS Lycoris Deskstop/LX Lycoris connu aussi sous le nom de Dekstop/LX est un système d exploitation d UNIX, faisant partie des systèmes dit Windowsiens.

Plus en détail

Installation de Windows 8 sur un disque dur virtuel

Installation de Windows 8 sur un disque dur virtuel Equipe Système ~ Réalisé par Benoît Mériaux Mis en page par Antoine Gorisse Le 18/10/2011 But du tutoriel Au cours de ce tutoriel, vous allez apprendre à créer un disque dur virtuel. Cela vous permettra

Plus en détail

1. Présentation : IPCOP peut gère jusqu à 4 réseaux différents (classés par couleurs)

1. Présentation : IPCOP peut gère jusqu à 4 réseaux différents (classés par couleurs) Configuration d un Firewall IPCOP 1. Présentation : IPCOP est une distribution linux (Open Source), basée sur Linux From Scratch, destinée à assurer la sécurité d un réseau. C est un système d exploitation

Plus en détail

Ultimate Boot CD : Diagnostiquer les problèmes matériels

Ultimate Boot CD : Diagnostiquer les problèmes matériels Ultimate Boot CD : Diagnostiquer les problèmes matériels Vous rencontrez des problèmes, votre ordinateur plante souvent. En général, quand rien ne veut, on met tout sur le dos des virus, dû à l ignorance.

Plus en détail

PARAGON - Sauvegarde système

PARAGON - Sauvegarde système PARAGON - Sauvegarde système 1 Télécharger Paragon Backup & Recovery 2013 Free Disponible maintenant gratuitement et en français, Paragon Backup & Recovery 2013 Free est un logiciel-utilitaire permettant

Plus en détail

Chapitre 1. Applications et Systèmes d exploitation mobiles

Chapitre 1. Applications et Systèmes d exploitation mobiles Chapitre 1 Applications et Systèmes d exploitation mobiles I. Introduction Les technologies mobiles prennent de plus en plus leur place sur le marché et dans le paysage numérique où les projets des applications

Plus en détail

Le rôle général du système d'exploitation L'architecture du système Explications du schéma Installation de GNU/Linux

Le rôle général du système d'exploitation L'architecture du système Explications du schéma Installation de GNU/Linux Le rôle général du système d'exploitation L'architecture du système Explications du schéma Installation de GNU/Linux Le système d exploitation (en anglais Operating System ou OS) est un ensemble de programmes

Plus en détail

Boot Camp Guide d installation et de configuration

Boot Camp Guide d installation et de configuration Boot Camp Guide d installation et de configuration Table des matières 3 Introduction 4 Configuration requise 5 Vue d ensemble de l installation 5 Étape 1 : Rechercher les mises à jour 5 Étape 2 : Préparer

Plus en détail

Exploitation de la ferme de serveurs Esxi

Exploitation de la ferme de serveurs Esxi BTS SIO SISR4 Page 1 Exploitation de la ferme de serveurs Esxi Table des matières 1. Objectif... 2 2. Paramètres préalables... 2 3. Création d un cluster... 2 4. Augmenter la taille des LUN... 2 4.1. Sur

Plus en détail

Session 8: Android File System

Session 8: Android File System Session 8: Android File 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

Distributions Linux. Julien Garet. 7 septembre 2011

Distributions Linux. Julien Garet. 7 septembre 2011 Distributions Linux Julien Garet 7 septembre 2011 Plan Caractéristiques Différences Post-Installation Paquetages Classement Tableaux Installation Plan : 1 - Caractéristiques Une distribution Linux au moins

Plus en détail

Plan. Distributions Linux. Plan : 1 - Caractéristiques. Une distribution Linux. Caractéristiques. Post-Installation. Paquetages.

Plan. Distributions Linux. Plan : 1 - Caractéristiques. Une distribution Linux. Caractéristiques. Post-Installation. Paquetages. Plan Distributions Linux Caractéristiques Post-Installation Julien Garet 7 septembre 2011 Différences Classement Tableaux Paquetages Installation Plan : 1 - Caractéristiques Une distribution Linux au moins

Plus en détail

2. Présentation de la gamme Seven Embedded 2.1 Standard

2. Présentation de la gamme Seven Embedded 2.1 Standard 1. Introduction Le présent article a pour but de décrire le nouvel écosystème des systèmes d exploitation embarqué de Microsoft. Vous y découvrirez quels produits sont aujourd hui édités, et pour quels

Plus en détail

Windows 2008 server -Introduction-

Windows 2008 server -Introduction- Windows 2008 server -Introduction- Rappel sur les systèmes d exploitation Un système d exploitation (Operating System) est un ensemble de programmes responsables de la liaison entre les ressources matérielles

Plus en détail

VMWare Infrastructure 3

VMWare Infrastructure 3 Ingénieurs 2000 Filière Informatique et réseaux Université de Marne-la-Vallée VMWare Infrastructure 3 Exposé système et nouvelles technologies réseau. Christophe KELLER Sommaire Sommaire... 2 Introduction...

Plus en détail

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

Point sur les solutions de développement d apps pour les périphériques mobiles Point sur les solutions de développement d apps pour les périphériques mobiles Par Hugues MEUNIER 1. INTRODUCTION a. Une notion importante : le responsive web design Nous sommes en train de vivre une nouvelle

Plus en détail

Développer une application pour iphone et ipad

Développer une application pour iphone et ipad 22 Développer une application pour iphone et ipad Dans ce chapitre, nous abordons la création d applications pour ipad, iphone et ipod Touch à partir de documents au format Flash codés en ActionScript

Plus en détail

But de cette présentation. Bac à sable (Sandbox) Principes. Principes. Hainaut P. 2013 - www.coursonline.be 1

But de cette présentation. Bac à sable (Sandbox) Principes. Principes. Hainaut P. 2013 - www.coursonline.be 1 Bac à sable (Sandbox) But de cette présentation Vous permettre d installer, de configurer et d utiliser un environnement virtuel pour vos manipulations pratiques Hainaut Patrick 2013 Hainaut P. 2013 -

Plus en détail

Projet Android (LI260)

Projet Android (LI260) Projet Android (LI260) Nicolas Baskiotis Université Pierre et Marie Curie (UPMC) Laboratoire d Informatique de Paris 6 (LIP6) S2-2013 Plan LI260 : description et informations pratiques Android en quelques

Plus en détail

Android Forensics. Sameh Rezgui (RT3) Imen Touihri (RT3) Rahma Boutar (RT3) Cyrine Chayeb (RT3) Sahar Dridi (RT3)

Android Forensics. Sameh Rezgui (RT3) Imen Touihri (RT3) Rahma Boutar (RT3) Cyrine Chayeb (RT3) Sahar Dridi (RT3) Android Forensics Sameh Rezgui (RT3) Imen Touihri (RT3) Rahma Boutar (RT3) Cyrine Chayeb (RT3) Sahar Dridi (RT3) 1. Présentation de l atelier... 2 a.android :... 2 b. Forensics :... 2 2. Présentation des

Plus en détail