Cours 3 : The Dalvik VM Specification. Damien MASSON [email protected]
|
|
|
- Jean-Luc Chabot
- il y a 10 ans
- Total affichages :
Transcription
1 Androïd Cours 3 : The Dalvik VM Specification Damien MASSON [email protected] 1 er mars 2011
2 Buts du cours et Références Buts : Pourquoi Google n a pas utilisé une JVM pour Androïd Les motivations techniques Fonctionnement de Dalvik Références : git clone git://android.git.kernel.org/platform/dalvik.git./dalvik/docs/dalvik-bytecode.html./dalvik/docs/dex-format.html ls./dalvik/ -R The Case for Virtual Register Machines (Gregg et al.) The Dalvik Virtual Machine Architecture (David Ehringer) 2/23
3 Java Micro Edition (JME)? J2ME : JSR 68 puis... framework Java spécialisé dans les applications mobiles (en gros : téléphones/pda et décodeurs multimédia) KVM + configuration + profil Java 1.3 Contrairement à J2SE et J2EE : pas de classpath exception sur la licence GPLv2! environnement un peu trop hétérogène lenteur d évolution par le JSR, plus veto possible de Sun 3/23
4 Java Community Process (JCP) et Java Specification Request (JSR)? JCP : JSR : coordonner l évolution du langage Java et des technologies qui lui sont associées Le JCP émet des Java Specification Requests (JSR) Un early draft, puis un draft puis une release, avec une implantation et un kit de test Processus normalisé (le JCP fait l objet d une JSR - la 215) Pourquoi pas une nouvelle JSR pour les smartphone? 4/23
5 Finalement, licence d Androïd Androïd (et donc Dalvik) est distribué sous Apache licence libre et opensource, ce qui permet de exécuter le programme pour tout les usages étudier le fonctionnement du programme (code source livré) modifier le programme redistribuer des copies du programme ou de ses modifications (y compris à la vente) non copyleft : on peut distribuer un système Android modifié sous une autre licence (y compris propriétaire) 5/23
6 Androïd : Rappels 6/23
7 Dalvik vs Java VM Dalvik est une machine virtuelle à registres Dalvik est conçue pour faciliter l exécution concurrente de plusieurs instances de la VM Car avec Dalvik, 1 processus = 1 VM Dalvik interprète du bytecode au format.dex 7/23
8 1 Processus = 1 VM Pourquoi? méthode classique sandboxing garanti l isolation des processus entre eux et avec le système une activité ou un service plante? un seul processus plante la VM plante? un seul processus disparaît Cela impose : l exécution concurrente de plusieurs VM doit être efficace la création d une nouvelle instance de la VM doit être rapide 8/23
9 Zygote et mémoire en lecture seule Tant que du code est accédé en lecture seule, il reste partagé entre les instances de la VM La duplication se fait au dernier moment en cas d écriture Permet d accélérer la création d une nouvelle VM (moins de copie) 9/23
10 Zygote et mémoire en lecture seule une VM/processus spéciale, appelée Zygote, est démarrée en même temps que le système les classes de base d Androïd sont pré-chargées et pré-initialisées dans cette VM c est cette VM qui charge les nouvelles classes si une application tente de modifier des données partagées, il y a copie de ces données du Zygote vers la VM fille qui abrite cette application c est ce processus qui se fork pour créer une nouvelle VM prête à l emploi attention GC 10/23
11 Machine à registres Machine abstraite équivalente à une machine de Turing possède une infinité de registres chaque registre peut stocker un entier arbitrairement long chaque registre dispose d une adresse unique l ensemble des instructions agissent sur les registres Exemple : un processeur! 11/23
12 Machines à registres vs machine à piles dispatch (chargement) fetch (décodage) execute (exécution) 12/23
13 Dispatch Pour charger une instruction, c est pareil, mais... Exemple : a = b + c stack machine ILOAD c ; ILOAD b ; IADD ; ISTORE a ; register machine IADD a,b,c ; moins d instructions pour faire la même chose? pas forcément, si on peut optimiser le code pour que les opérandes soient systématiquement au sommet de la pile, ça revient au même en pratique, il n y a pas une infinité de registre, donc il y aurait des instructions de chargement/déchargement en mémoire qui seraient cachées? pas vrai car en codant les adresses des registres sur 1 octet on en a 256. En pratique il n y a pas de méthode Java qui utilisent 256 variables locales! mais instructions plus longues à décoder? 13/23
14 Fetch avec une machine a pile, la plupart des instructions agissent sur la pile : les opérandes sont donc implicites donc le décodage d une instruction de machine à registre serait plus couteux? deux choses : trouver l adresse des opérandes, et récupérer leurs valeurs pour trouver les opérandes, avantages aux machines à pile en revanche, les registres comme la pile sont codés avec un tableau, donc égalité pour aller chercher les opérandes? sauf qu avec une machine à pile, on peut mettre en cache (dans un registre) le haut de la pile... mais 1 seule instruction permet de récupérer et d opérer sur une valeur avec les registres alors que pour les machine à piles, les opérations sur la pile sont des instructions séparées, qui peuvent donner lieu a de vrais load/store... 14/23
15 Exécute exécuter l instruction à le même cout, quelque soit la représentation intermédiaire mais dans le modèle à registres, on ne détruit pas les résultats intermédiaires qui peuvent plus facilement être ré-exploité en cas de code redondant? en C, éliminer toutes les redondance dans standard SPECint 95 C benchmarks réduit les instructions uniquement de 3% 15/23
16 Machines à registres vs machine à piles dispatch (chargement) : Registres 1 / Piles 0 fetch (décodage) : Registres 0 / Piles 1 execute (exécution) : match nul T VRM = T VSM #dispatches T dispatch + #fetches T fetch 16/23
17 Machines à registres vs machine à piles D après Gregg et al. (2005) traduire du bytecode Java en bytecode pour machine à registres : réduit le nombre d instructions de 35% augmente la taille du bytecode de 44% augmentant le nombre moyen de chargements de 45% Comme le coût du chargement est faible par rapport à celui du dispatch (qui est fait pour chaque instruction), le bilan est positif D après D. Bornstein (Google) 1 :.dex réduirait de 47% le nombre d instructions augmenterait la taille du bytecode de 25% ce qui augmenterait le nombre de chargements de 1,07% et diminuerait le temps d exécution de 32% 1. mais je n ai pas trouvé de publication autre que la vidéo de présentation de Dalvik... 17/23
18 Le format Dex Chaine de compilation pour Androïd :.java javac.class dx.dex 1.java peut donner plusieurs.class car 1 classe = 1.class une application = un.dex + manifest etc. = un.apk But : partager ce qui est partageable entre les classes 18/23
19 .class/.jar VS.dex/.apk.jar.class.apk.dex Header Header Heterogeneous Constant Pool Class Fields Strings CP Type/Class CP Field CP Methods Method CP Class Definitions Attributes Field List.class... Method List Code Header... Local Variables.class... 19/23
20 .class/.jar VS.dex/.apk Partage des constantes du CP entre toutes les classes Constant Pool typés, permet une plus grande granuarité (Ljava/lang/String ;Ljava/lang/Object ;)Ljava/lang/String ; (Ljava/lang/String ;Lcom/example/Foo ;)Ljava/lang/String ; Mais cela multiplie les niveaux d indirection... 20/23
21 Sécurité La plateforme Androïd gère déjà les aspects de sécurité, la machine virtuelle n a pas à s en occuper Seules les applications installées peuvent s exécuter l isolation des processus dans leurs propres VM les protège des autres et protège le système les permissions spéciales sont demandées dans le manifest 21/23
22 Optimisations Ce modèle permet aussi de faire de la compilation AOT lors de l installation des applications Mais un JIT est quand même dans les cartons... (a priori c est plus difficile avec la représentation pour machine à registres?) 22/23
23 Conclusion Ceci est la fin des cours sur l intérieur d androïd ayez la curiosité de récupérer les sources et d y jeter un oeil 23/23
Machines virtuelles. Brique ASC. Samuel Tardieu [email protected]. Samuel Tardieu (ENST) Machines virtuelles 1 / 40
Machines virtuelles Brique ASC Samuel Tardieu [email protected] École Nationale Supérieure des Télécommunications Samuel Tardieu (ENST) Machines virtuelles 1 / 40 Machines virtuelles La compilation peut
Initiation à JAVA et à la programmation objet. [email protected]
Initiation à JAVA et à la programmation objet [email protected] O b j e c t i f s Découvrir un langage de programmation objet. Découvrir l'environnement java Découvrir les concepts de la programmation
La JVM. La machine virtuelle Java. La JVM. La JVM
La machine virtuelle Java Historique et rappels Organisation mémoire de la JVM Le garbage collector Le bytecode, la machine à pile. Les threads Suivi, tracé, optimisation d un programme Java JVM embarquées
Vulgarisation Java EE Java EE, c est quoi?
Paris, le 1 Février 2012 Vulgarisation Java EE Java EE, c est quoi? Sommaire Qu est ce que Java? Types d applications Java Environnements Java Versions de Java Java EE, c est quoi finalement? Standards
Java - la plateforme
Java - la plateforme Java la plateforme Java? VM GC JIT Java Aujourd'hui 3 environnements d'exécutions différents Java ME (Micro Edition) pour PDA, téléphone Android (Java SE moins certain paquetages)
Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/2012. 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme Java
1 - Vue générale 2 - Mon premier programme 3 - Types de Programme 1 2 c est quoi? Technologie développée par SUN Microsystems lancée en 1995 Dans un des premiers papiers* sur le langage JAVA, SUN le décrit
Vérification formelle de la plate-forme Java Card
Vérification formelle de la plate-forme Java Card Thèse de doctorat Guillaume Dufay INRIA Sophia Antipolis Cartes à puce intelligentes Java Card : Environnement de programmation dédié. Dernières générations
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
Android. Présentation d Android. Florent Garin http://www.docdoku.com http://twitter.com/docdoku
Android Présentation d Android 20 novembre 2010 Florent Garin http://www.docdoku.com http://twitter.com/docdoku Florent Garin Co-fondateur de DocDoku Société innovante IT http://www.docdoku.com Co-fondateur
Traduction des Langages : Le Compilateur Micro Java
BARABZAN Jean-René OUAHAB Karim TUCITO David 2A IMA Traduction des Langages : Le Compilateur Micro Java µ Page 1 Introduction Le but de ce projet est d écrire en JAVA un compilateur Micro-Java générant
Introduction aux Machines Virtuelles avec VMKit
Introduction aux Machines Virtuelles avec Ingénieur :, Responsables : Gaël Thomas, Gilles Müller EQUIPE REGAL LIP6 INRIA (Paris/France) un substrat de machine virtuelle : a substrate for Managed Runtime
Mécanismes pour la migration de processus
Université Joseph Fourier Institut National Polytechnique de Grenoble U.F.R. Informatiques & Mathématiques Appliquées ENSIMAG I.M.A.G. DEA D INFORMATIQUE : SYSTEMES ET COMMUNICATIONS Projet présenté par
Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java
Langages objets Introduction M2 Pro CCI, Informatique Emmanuel Waller, LRI, Orsay présentation du module logistique 12 blocs de 4h + 1 bloc 2h = 50h 1h15 cours, 45mn exercices table, 2h TD machine page
Plate formes mobiles. Utilisation. Contexte 9/29/2010 IFC 2. Deux utilisations assez distinctes :
Plate formes mobiles IFC 2 Markus Jaton Utilisation Deux utilisations assez distinctes : Téléphones évolués (Nokia, Motorola) Smartphones (Apple,, Windows) La téléphonie est en stagnation, alors que les
Concept de machine virtuelle
Concept de machine virtuelle Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 1 Introduction: Java Virtual Machine Machine Virtuelle Java: qu est-ce que c est? c est la spécification d une machine
Virtualisation logicielle De la machine réelle à la machine virtuelle abstraite
Virtualisation logicielle De la machine réelle à la machine virtuelle abstraite Bertil FOLLIOT et Gaël THOMAS Cette version est une préversion de l article accepté par «Technique de l ingénieur» (Hermes).
Machines Virtuelles. et bazard autour. Rémi Forax
Machines Virtuelles et bazard autour Rémi Forax Avant propos Quelle est la complexité du code ci-dessous? Avec un processeur à 1Ghz, combien de temps le calcul prendra t'il? public static void main(string[]
Machine virtuelle Java pour Palm TX
Machine virtuelle Java pour Palm TX Sommaire 1. Présentation de la machine virtuelle d IBM...1 2. Installation sur le Palm TX...2 2.1. Téléchargement...2 2.2. Installation...2 2.3. Application de test...2
Introduction à Java. Philippe Genoud. [email protected]. http://www.inrialpes.fr/helix/people/genoud/ensjava
Introduction à Java Philippe Genoud [email protected] http://www.inrialpes.fr/helix/people/genoud/ensjava http://membres-liglab.imag.fr/genoud/ensjava/m2cci/ 1 JAVA c'est quoi? Une technologie développée
Java Licence Professionnelle CISII, 2009-2010
Licence Professionnelle CISII, 2009-2010 Cours 1 : Introduction à Java A. Belaïd [email protected] Cours disponible sur le site : http://www.loria.fr/~abelaid puis Teaching 1 Fonctionnement 12 séances :
Une tasse de café fumante est
INFORMATIQUE La technologie Java est prête à embarquer Java est une technologie de programmation puissante et fiable. Elle est omniprésente sur Internet, dans la téléphonie mobile et sur la plupart des
Machines virtuelles Cours 1 : Introduction
Machines virtuelles Cours 1 : Introduction Pierre Letouzey 1 [email protected] PPS - Université Denis Diderot Paris 7 janvier 2012 1. Merci à Y. Régis-Gianas pour les transparents Qu est-ce qu une
Programmation Orientée Objet
Programmation Orientée Objet Mohamed Tounsi Institut Supérieur d'informatique et de Multimédia Sfax Septembre 2014 Mohamed Tounsi (ISIMS) Programmation Orientée Objet Septembre 2014 1 / 16 Responsable
Derrière toi Une machine virtuelle!
Derrière toi Une machine virtuelle! Yann-Gaël Guéhéneuc [email protected] École des Mines de Nantes, France Object Technology International Inc., Canada D où ça vient? Calculatrice Machine de Turing 1936
Projet de Veille Technologique
Projet de Veille Technologique Programmation carte à puce - JavaCard Ing. MZOUGHI Ines ([email protected]) Dr. MAHMOUDI Ramzi ([email protected]) TEST Sommaire Programmation JavaCard Les prérequis...
Java Avancé. Le langage Java. Rémi Forax [email protected]
Java Avancé Le langage Java Rémi Forax [email protected] 1 Java Avancé 2 La technologie Java En quelques mots : Orienté Objet Simple, Robuste, Dynamique et Sécurisé Indépendant de la Plateforme (VM) Semi
Présentation d'un MOM open-source
Présentation d'un MOM open-source Saber Dir - Victor Laborie - Guillaume Penaud Licence ASRALL 25 mars 2015 Middleware Orientés Message 25 mars 2015 1 / 29 Sommaire 1 Introduction 2 Etat de l'art 3 Maquette
INTRODUCTION A JAVA. Fichier en langage machine Exécutable
INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du
Conception des systèmes répartis
Conception des systèmes répartis Principes et concepts Gérard Padiou Département Informatique et Mathématiques appliquées ENSEEIHT Octobre 2012 Gérard Padiou Conception des systèmes répartis 1 / 37 plan
Java c est quoi? Java pourquoi?
Grandes lignes du cours Cours JAVA : Le bases du langage Java. Version 3.02 Julien Sopena 1 1 [email protected] Équipe REGAL - INRIA Rocquencourt LIP6 - Université Pierre et Marie Curie Licence professionnelle
Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf
Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations
Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...
Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez
Compilation (INF 564)
Présentation du cours Le processeur MIPS Programmation du MIPS 1 Compilation (INF 564) Introduction & architecture MIPS François Pottier 10 décembre 2014 Présentation du cours Le processeur MIPS Programmation
Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java
Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique
Programmation Bas Niveau
Programmation Bas Niveau Basé en grande partie sur les notes de Etienne Payet et Fausto Spoto 1 Université de La Réunion FST - L2 Info Introduction 2 Module Machines virtuelles (Java), bytecode, etc. 30h
I-JVM: une machine virtuelle Java pour l isolation de composants dans OSGi
I-JVM: une machine virtuelle Java pour l isolation de composants dans OSGi Nicolas Geoffray 1, Gaël Thomas 1, Gilles Muller 1, Pierre Parrend 2, Stéphane Frénot 3, Bertil Folliot 1 [email protected]
MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15
MapReduce Malo Jaffré, Pablo Rauzy ENS 16 avril 2010 Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15 Qu est ce que c est? Conceptuellement Données MapReduce est un framework de calcul distribué
Éléments de programmation et introduction à Java
Éléments de programmation et introduction à Java Jean-Baptiste Vioix ([email protected]) IUT de Dijon-Auxerre - LE2I http://jb.vioix.free.fr 1-20 Les différents langages informatiques
Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique
Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation
Programmation des applications mobiles avec Android. 1 Inspiré du cours de Olivier Le Goaer
Programmation des applications mobiles avec Android 1 Inspiré du cours de Olivier Le Goaer 2 OS mobile : outils de développement D après le cours de Olivier Le Goaer 3 Plateforme de développement MobileApp
4. Utilisation d un SGBD : le langage SQL. 5. Normalisation
Base de données S. Lèbre [email protected] Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :
Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage
Technologies du Web Créer et héberger un site Web Page 1 / 26 Plan Planification Choisir une solution d hébergement Administration Développement du site Page 2 / 26 Cahier des charges Objectifs du site
Rappels d architecture
Assembleur Rappels d architecture Un ordinateur se compose principalement d un processeur, de mémoire. On y attache ensuite des périphériques, mais ils sont optionnels. données : disque dur, etc entrée
Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. [email protected]
. Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 [email protected] LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le
vmware au CC-IN2P3 Déploiement rapide d une infrastructure destinée à de la formation et réflexions sur vsphere.
vmware au CC-IN2P3 Déploiement rapide d une infrastructure destinée à de la formation et réflexions sur vsphere. Programme Partie 1 : Déploiement rapide de serveurs pour une formation administrateur grille
TP1 : Initiation à Java et Eclipse
TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les
Architectures informatiques dans les nuages
Architectures informatiques dans les nuages Cloud Computing : ressources informatiques «as a service» François Goldgewicht Consultant, directeur technique CCT CNES 18 mars 2010 Avant-propos Le Cloud Computing,
<Insert Picture Here> Solaris pour la base de donnés Oracle
Solaris pour la base de donnés Oracle Alain Chéreau Oracle Solution Center Agenda Compilateurs Mémoire pour la SGA Parallélisme RAC Flash Cache Compilateurs
Le Cloud Open-Mind! Emilien Macchi
Le Cloud Open-Mind! 1 Sommaire Introduction Comprendre Swift Comprendre Glance Comprendre Nova Déploiement Divers 2 OpenStack Introduction 3 Qu est-ce-qu OpenStack? Projet OpenSource ambitieux Catégorie
Assembleur. Faculté I&C, André Maurer, Claude Petitpierre
Assembleur Faculté I&C, André Maurer, Claude Petitpierre INTRODUCTION Logiciel utilisé Faculté I&C, André Maurer, Claude Petitpierre MEMOIRE Mémoire Faculté I&C, André Maurer, Claude Petitpierre Mémoire
INITIATION AU LANGAGE JAVA
INITIATION AU LANGAGE JAVA I. Présentation 1.1 Historique : Au début des années 90, Sun travaillait sur un projet visant à concevoir des logiciels simples et performants exécutés dans des PDA (Personnal
Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.
Encapsulation L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. La visibilité dépend des membres : certains membres peuvent être visibles et d'autres
RN2-Programmation Orientée Objet - JAVA CH 1 Introduction à la POO et Java
RN2-Programmation Orientée Objet - JAVA CH 1 à la POO et Java Licence Professionnelle 2006 Agnès Guerraz INRIA Rhône-Alpes [email protected] LP UPMF, Grenoble Septembre 2006 Ce cours reprend en grande
Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère
L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la
Syfadis. > Configuration du poste client. Nous vous aidons à réussir. REFERENCE : Syfadis LMS - 20/06/2007. AUTEUR : Equipe technique Syfadis
Syfadis Nous vous aidons à réussir > Configuration du poste client REFERENCE : Syfadis LMS - 20/06/2007 AUTEUR : Equipe technique Syfadis Ce document est la propriété de Syfadis. Il ne peut être communiqué
Mise en œuvre d un poste virtuel
129 Chapitre 5 Mise en œuvre d un poste virtuel 1. Installation et personnalisation d une image de référence 1.1 Introduction Après la phase d'installation des serveurs d'infrastructure de l'environnement
Mise en œuvre d une infrastructure de virtualisation au CNRGV
Mise en œuvre d une infrastructure de virtualisation au CNRGV Pourquoi la virtualisation? Choix de la solution Mise en œuvre Avantages, inconvénients, perspectives Pour aller plus loin 26/03/2013 AG CATI
Orange Labs MAPS/DVC 2 avenue Pierre Marzin 22307 Lannion. Sous la responsabilité de : Pierre Crégut, Orange Labs Olivier Barais, Istic
2010-2011 Rapport de stage Orange Labs MAPS/DVC 2 avenue Pierre Marzin 22307 Lannion Master Informatique (2e année) Julien Névo Sous la responsabilité de : Pierre Crégut, Orange Labs Olivier Barais, Istic
Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping
Chapitre V : La gestion de la mémoire Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping Introduction Plusieurs dizaines de processus doivent se partager
Architecture ordinateur. Organisation mémoire et Entrées/Sorties
Architecture ordinateur Organisation mémoire et Entrées/Sorties 243 Plages mémoire et E/S Dans une architecture à bus partagé, seule une partie des adresses active le contrôleur mémoire. Il reste des adresses
Accès au Serveur de PAIE «SPV» par INTERNET Paramétrage du poste de travail «Windows»
Accès au Serveur de PAIE «SPV» par INTERNET Paramétrage du poste de travail «Windows» 1 Introduction... 2 2 Contrôle de la version d Internet Explorer... 3 3 Contrôle de la Machine Virtuelle Java de Microsoft...
Cours 1 : La compilation
/38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas [email protected] PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà
SSTIC 2009. Désobfuscation automatique de binaires. Alexandre Gazet. Yoann Guillot. Et autres idyles bucoliques...
Désobfuscation automatique de binaires Et autres idyles bucoliques... Alexandre Gazet Sogeti / ESEC R&D alexandre.gazet(at)sogeti.com Yoann Guillot Sogeti / ESEC R&D yoann.guillot(at)sogeti.com SSTIC 2009
Programmation Objet Java Correction
INSA - 4 AE 2007 2008 Durée : 1H00 Contrôle Programmation Objet Java Correction Consignes Tous les documents sont autorisés, mais ils seront peu utiles. Indiquez vos nom et prénom sur chaque feuille. Le
Métriques de performance pour les algorithmes et programmes parallèles
Métriques de performance pour les algorithmes et programmes parallèles 11 18 nov. 2002 Cette section est basée tout d abord sur la référence suivante (manuel suggéré mais non obligatoire) : R. Miller and
Reversing Android. Aïe, robot...
Reversing Android Aïe, robot... Meeting #Hackerzvoice 5 mars 2011 Plan (1/4) Système Android Dalvik VM Format de paquetage Structure d'un paquetage Ressources Stockage des ressources Strings Ressources
Patrons de Conception (Design Patterns)
Patrons de Conception (Design Patterns) Introduction 1 Motivation Il est difficile de développer des logiciels efficaces, robustes, extensibles et réutilisables Il est essentiel de comprendre les techniques
C-JDBC. Emmanuel Cecchet INRIA, Projet Sardes. http://sardes.inrialpes.fr
Emmanuel Cecchet INRIA, Projet Sardes http://sardes.inrialpes.fr Plan Motivations Idées principales Concepts Caching Perspectives /ObjectWeb 15 octobre 2002 [email protected] 2 - Motivations
Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2
Anne Tasso Java Le livre de premier langage 10 e édition Avec 109 exercices corrigés Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Table des matières Avant-propos Organisation de l ouvrage..............................
Initiation au HPC - Généralités
Initiation au HPC - Généralités Éric Ramat et Julien Dehos Université du Littoral Côte d Opale M2 Informatique 2 septembre 2015 Éric Ramat et Julien Dehos Initiation au HPC - Généralités 1/49 Plan du cours
Mémoire de stage de Master 2
Académie de Montpellier Sciences et Techniques du Languedoc Mémoire de stage de Master 2 effectué au Laboratoire d Informatique de Robotique et de Micro-électronique de Montpellier Spécialité : AIGLE Étude
Gestion hybride de la mémoire dynamique dans les systèmes Java temps-réel
Gestion hybride de la mémoire dynamique dans les systèmes Java temps-réel Nicolas Berthier Stage de Magistère M encadré par Christophe Rippert et Guillaume Salagnac Laboratoire Vérimag Septembre 007 Résumé
Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7
Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin
Je bénéficie désormais des avantages exceptionnels de la virtualisation pour mon stockage. Virtual SAN est aussi économique que simple à utiliser.
Je bénéficie désormais des avantages exceptionnels de la virtualisation pour mon stockage. Virtual SAN est aussi économique que simple à utiliser. VMware Virtual SAN Le software-defined storage ultra simple
TP1. Outils Java Eléments de correction
c sep. 2008, v2.1 Java TP1. Outils Java Eléments de correction Sébastien Jean Le but de ce TP, sur une séance, est de se familiariser avec les outils de développement et de documentation Java fournis par
La virtualisation de serveurs avec VMWare Infrastructure - Retour d expérience. Rodérick Petetin CRI INSA Rennes
La virtualisation de serveurs avec VMWare Infrastructure - Retour d expérience Rodérick Petetin CRI INSA Rennes Virtualisation VMWare Le contexte INSA Rennes Objectifs du projet Travail préparatoire Architecture
Syfadis. > Configuration du poste client. Nous vous aidons à réussir. REFERENCE : Syfadis LMS - 12/09/2008. AUTEUR : Equipe technique Syfadis
Syfadis Nous vous aidons à réussir > Configuration du poste client REFERENCE : Syfadis LMS - 12/09/2008 AUTEUR : Equipe technique Syfadis Ce document est la propriété de Syfadis. Il ne peut être communiqué
Architecture des ordinateurs
Architecture des ordinateurs Cours 4 5 novembre 2012 Archi 1/22 Micro-architecture Archi 2/22 Intro Comment assembler les différents circuits vus dans les cours précédents pour fabriquer un processeur?
Introduction aux environnements de virtualisation d'oracle Solaris 11.1
Introduction aux environnements de virtualisation d'oracle Solaris 11.1 Référence : E36579 01 Octobre 2012 Copyright 2012, Oracle et/ou ses affiliés. Tous droits réservés. Ce logiciel et la documentation
Fonctionnement et performance des processeurs
Fonctionnement et performance des processeurs Eric Cariou Université de Pau et des Pays de l'adour Département Informatique [email protected] 1 Plan Fonctionnement des processeurs Unités de calcul
Architecture matérielle des systèmes informatiques
Architecture matérielle des systèmes informatiques IDEC, Renens. Version novembre 2003. Avertissement : ce support de cours n est pas destiné à l autoformation et doit impérativement être complété par
as Architecture des Systèmes d Information
Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes
Structure d un programme et Compilation Notions de classe et d objet Syntaxe
Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types
GUIDE D UTILISATION PARTICIPANT
GUIDE D UTILISATION PARTICIPANT 23 mars 2010 Facilis Service de conférence Web BYS régulier Page 1 Historique des changements Version Date Auteur Changement 1,0 2009-05-29 Richard Thibodeau Version initiale
Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués
International Journal of Engineering Research and Development e-issn: 2278-067X, p-issn: 2278-800X, www.ijerd.com Volume 7, Issue 5 (June 2013), PP.99-103 Solution A La Gestion Des Objets Java Pour Des
Logiciels libres et Open source
Logiciels libres et Open source ANDSI 13/04/2004 NGO Can Chieu Plan Les concepts Linux Système d'exploitation Linux pour serveurs Linux pour stations Serveurs d applications Développement Applications
Dossier -projet d'informations et Sciences du numérique.
Dossier -projet d'informations et Sciences du numérique. Groupe : Andrzejewski Axel Raymond Olivier Belmadani Rayan Formation du groupe : Notre groupe d ISN est née instinctivement, Olivier et moi sommes
Chapitre I Notions de base et outils de travail
Chapitre I Notions de base et outils de travail Objectifs Connaître les principes fondateurs et l historique du langage Java S informer des principales caractéristiques du langage Java Connaître l environnement
Guide d installation de ArcGIS server 9.3.1
Rédacteurs : HSM Hydrosciences Contributeurs : DSI IS Guide d installation Table des matières : Préambule :... 2 La gestion des Comptes :... 3 Installation :... 4 Post installation :... 9 Licence :...
Apache Tomcat 6. Guide d'administration du serveur Java EE sous Windows et Linux. Résumé. Étienne LANGLET
Apache Tomcat 6 Guide d'administration du serveur Java EE sous Windows et Linux Étienne LANGLET Résumé Ce livre sur Apache Tomcat 6 s adresse à toute personne appelée à mettre en oeuvre ce serveur sous
DÉVELOPPEMENT ANDROID
DÉVELOPPEMENT ANDROID ESIEE / Key Consulting Partie 2 v2.2-2012 INTENT Key Consulting INTENT Intent : intention Une Intent est une agrégation d informations, décrivant de manière abstraite une action devant
La carte à puce. Jean-Philippe Babau
La carte à puce Jean-Philippe Babau Département Informatique INSA Lyon Certains éléments de cette présentation sont issus de documents Gemplus Research Group 1 Introduction Carte à puce de plus en plus
Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application
Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application 1 Ordinateur Un
UE Programmation Impérative Licence 2ème Année 2014 2015
UE Programmation Impérative Licence 2 ème Année 2014 2015 Informations pratiques Équipe Pédagogique Florence Cloppet Neilze Dorta Nicolas Loménie [email protected] 2 Programmation Impérative
«Ré-inventer le browser d'entreprise pour assurer sa sécurité au coeur du Cloud Computing»
«Ré-inventer le browser d'entreprise pour assurer sa sécurité au coeur du Cloud Computing» La société Solutions et expertise pour la navigation web en entreprise Direction Comité stratégique David Dupré
Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé. http://www.rzo.free.fr
Cours de Java Sciences-U Lyon Java - Introduction Java - Fondamentaux Java Avancé http://www.rzo.free.fr Pierre PARREND 1 Octobre 2004 Sommaire Java Introduction Java Fondamentaux Histoire de Java Machine
4D v11 SQL Release 5 (11.5) ADDENDUM
ADDENDUM Bienvenue dans la release 5 de 4D v11 SQL. Ce document présente les nouveautés et modifications apportées à cette nouvelle version du programme. Prise en charge de nouvelles plates-formes La release
