Introduction aux Machines Virtuelles avec VMKit
|
|
|
- Anne-Sophie Morel
- il y a 10 ans
- Total affichages :
Transcription
1 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 Environments 2 Les environnements d'exécution Les machines virtuelles Exécution code natif ( C, C++ ) source source Execution machine virtuelle (Java, C#) source source Machine Virtuelle vérificateur de byte-code Analyse Analyse Optimise Optimise Génère code binaire natif spécifique Génère code binaire natif spécifique Analyse Analyse Optimise Optimise Génère byte-code générique Génère byte-code générique Byte-code Byte-code générique générique à la volée (JIT) Interpréteur Threads Allocateur mémoire Ramasse miette () binaire binaire natif natif execution execution Machine Machine Virtuelle Virtuelle Analyse byte-code Analyse byte-code Évalue le byte-code ou Évalue le byte-code ou Compile et imise en code binaire Compile et imise en code binaire natif à la volée (JIT) natif à la volée (JIT) execution execution Problèmes Développement extrêmement long à réaliser! Comment tester une idée avec différents langages? Comment implémenter une nouvelle VM efficace pour de nouveaux langages? Comment étendre rapidement des langages existant? : a substrate for Managed Runtime Environments 3 : a substrate for Managed Runtime Environments 4
2 : un substrat de machine virtuelle : un substrat de machine virtuelle But de : aider à expérimenter dans les VM But de : aider à expérimenter dans les VM Objectif : factoriser les composants communs des VM Objectif : factoriser les composants communs des VM Just In Time : génération de code natif à la volée Just In Time : génération de code natif à la volée mémoire : alloue et collecte automatiquement la mémoire libre mémoire : alloue et collecte automatiquement la mémoire libre de Thread : créé et synchronise les threads de Thread : créé et synchronise les threads Personnalité Java (J3) Personnalité C# (N3 non maintenu) Personnalité R (Reactor) Personnalités Personnalité Java (J3) Personnalité C# (N3 non maintenu) Personnalité R (Reactor) ~ 25k loc Just In Time mémoire de Thread Just In Time mémoire de Thread ~ 500k loc : a substrate for Managed Runtime Environments 5 : a substrate for Managed Runtime Environments 6 : un substrat de machine virtuelle But de : aider à expérimenter dans les VM Objectif : factoriser les composants communs des VM Just In Time : génération de code natif à la volée mémoire : alloue et collecte automatiquement la mémoire libre de Thread : créé et synchronise les threads Personnalité Java (J3) Personnalité C# (N3 non maintenu) Personnalité R (Reactor) < 5% 5% du du code code ~ 25k loc d'un point de vue technique Just In Time mémoire de Thread ~ 500k loc : a substrate for Managed Runtime Environments 7 : a substrate for Managed Runtime Environments 8
3 Implementation de Architecture détaillée Choix d'implémentation: repose sur des composants externes à la volée (JIT) : LLVM [Lattner & Adve CGO 04] mémoire : MMTk [Blackburn et Al. ICSE 04] de Thread : Posix = glue entre les différents composants Entre JIT-C et gestionnaire mémoire = précis Entre le gestionnaire de Thread et le gestionnaire mémoire = multi-threadé Personality Compilation related function Call back Method Stub Invoke Invoke Generate Native LLVM Input/Output Generate Find global Roots Stack Maps Personality related functions Modify Header MMTk Trace Object gcmalloc/ write barrier Clone Object delegate Find thread Roots Posix Thread Thread Management/ handshake Operating System : a substrate for Managed Runtime Environments 9 : a substrate for Managed Runtime Environments 10 Architecture de la VM Minimal () pour le tutoriel Operating System : a substrate for Managed Runtime Environments 11 : a substrate for Managed Runtime Environments 12
4 Architecture de la et Gestion des Threads Point d'entrée du Garbage collector Backtrace (parcours de la pile d exécution) Traçage des variables globales Gestion des exceptions Thread Rendez-vous du garbage collector Scan de la pile d'exécution lors du Traçage des variables locales Méthode principale d'exécution : a substrate for Managed Runtime Environments 13 : a substrate for Managed Runtime Environments 14 Architecture de la Architecture de la : a substrate for Managed Runtime Environments 15 : a substrate for Managed Runtime Environments 16
5 (tag) (tag) [... ] * F (* param) TOY_PARAM(param) ; TOY_VAR(, val) ; [ init val ] val = g(param, val) ; return val ; * G (* a, * b) TOY_PARAM(a) ; TOY_PARAM(b) ; TOY_VAR(, res) ; res = a.dosomething(b) ; return res ; [... ] [... ] * F (* param) TOY_PARAM(param) ; TOY_VAR(, val) ; [ init val ] val = g(param, val) ; return val ; * G (* a, * b) TOY_PARAM(a) ; TOY_PARAM(b) ; TOY_VAR(, res) ; res = a.dosomething(b) ; return res ; [... ] Stack Maps : a substrate for Managed Runtime Environments 17 : a substrate for Managed Runtime Environments 18 (tag) (header gc) [... ] * F (* param) TOY_PARAM(param) ; TOY_VAR(, val) ; [ init val ] val = g(param, val) ; return val ; Call stack... param F val parameters Local vars - header - Bits de marquage - Bits de hash - Bits de lock (J3) - Bits personnalisables * G (* a, * b) TOY_PARAM(a) ; TOY_PARAM(b) ; TOY_VAR(, res) ; res = a.dosomething(b) ; return res ; [... ] Stack Maps a b G res parameters Local vars header Object : a substrate for Managed Runtime Environments 19 : a substrate for Managed Runtime Environments 20
6 (header gc) (tracer) - header - Bits de marquage - Bits de hash - Méthode de Traçage de l'objet - Bits de lock (J3) - Bits personnalisables destructor Op. delete - header - Bits de marquage - Bits de hash - Méthode de Traçage de l'objet Call stack Stack Maps... param F - Bits de lock (J3) - Bits personnalisables tracer markandtrace markandtrace markandtrace 1 2 VT C++ header Object tracer val tracer 3 : a substrate for Managed Runtime Environments 21 : a substrate for Managed Runtime Environments 22 (tracer) Architecture de la - header - Bits de marquage - Bits de hash - Méthode de Traçage de l'objet - Bits de lock (J3) - Bits personnalisables - Allocateur - Surcharge operator new - Appel à new interdit pour gc (paramètre opaque) : a substrate for Managed Runtime Environments 23 : a substrate for Managed Runtime Environments 24
7 Architecture de la (load ) Récupération du code (représentation intermédiaire LLVM) : a substrate for Managed Runtime Environments 25 : a substrate for Managed Runtime Environments 26 (load ) (load ) Récupération du code (représentation intermédiaire LLVM) Récupération du code (représentation intermédiaire LLVM) : a substrate for Managed Runtime Environments 27 : a substrate for Managed Runtime Environments 28
8 (load ) (generate ) Récupération du code (représentation intermédiaire LLVM) -runtime.bc Load at runtime bin bin -content.bc Récupération du code (représentation intermédiaire LLVM) : a substrate for Managed Runtime Environments 29 : a substrate for Managed Runtime Environments 30 (generate ) (generate ) Récupération du code (représentation intermédiaire LLVM) Récupération du code (représentation intermédiaire LLVM) No body Generate Materialize No body : a substrate for Managed Runtime Environments 31 : a substrate for Managed Runtime Environments 32
9 (generate ) (imize ) Récupération du code (représentation intermédiaire LLVM) Récupération du code (représentation intermédiaire LLVM) Generate No Materialize No body Generate Materialize No body : a substrate for Managed Runtime Environments 33 : a substrate for Managed Runtime Environments 34 (imize ) (imize ) Récupération du code (représentation intermédiaire LLVM) Récupération du code (représentation intermédiaire LLVM) Materialize No body : a substrate for Managed Runtime Environments 35 : a substrate for Managed Runtime Environments 36
10 ( to native) ( Infos) Récupération du code (représentation intermédiaire LLVM) Récupération du code (représentation intermédiaire LLVM) func Stack Maps Native func Native func : a substrate for Managed Runtime Environments 37 : a substrate for Managed Runtime Environments 38 ( to native) Récupération du code (représentation intermédiaire LLVM) Native func Récupération du code (représentation intermédiaire LLVM) Generation d' Optimisation de l' Conversion de l' vers code natif Transmission des StackMaps (information variables locales) au : a substrate for Managed Runtime Environments 39 : a substrate for Managed Runtime Environments 40
11 lib/vmkit/mmtk/ A vos claviers! include/vmkit include/llvm Questions?.h Vmkit.h Thread.h Allocator.h.h.h LLVM /lib TOYVM (.h /.cc) (.h /.cc) (.h /.cc) util.h Tracers.cc (.h /.cc) : a substrate for Managed Runtime Environments 41 : a substrate for Managed Runtime Environments 42
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[]
La technologie Java Card TM
Présentation interne au CESTI La technologie Java Card TM [email protected] http://dept-info.labri.u-bordeaux.fr/~sauveron 8 novembre 2002 Plan Qu est ce que Java Card? Historique Les avantages
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
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)
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
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
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
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
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
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]
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
Plan global Outils de développement et compilation. Plan. Objectifs des outils présentés. IDE, GCC/Clang, ASAN, perf, valgrind, GDB.
global Outils de développement et compilation IDE, GCC/Clang, ASAN, perf, valgrind, GDB Timothée Ravier LIFO, INSA-CVL, LIPN 1 re année cycle ingénieur STI 2013 2014 1 / 36 Objectifs des outils présentés
Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework
Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework Gaël de Chalendar CEA LIST / LIC2M Journée de Présentation des Technologies WebContent INSTN 14/12/2009 Présentation de gsoap Plan
Génération de code binaire pour application multimedia : une approche au vol
Génération de binaire pour application multimedia : une approche au vol http://hpbcg.org/ Henri-Pierre Charles Université de Versailles Saint-Quentin en Yvelines 3 Octobre 2009 Présentation Présentation
Serveur d'application Client HTML/JS. Apache Thrift Bootcamp
Serveur d'application Client HTML/JS Apache Thrift Bootcamp Pré-requis La liste ci-dessous de logiciels doit être installée et opérationnelle sur la machine des participants : Compilateur thrift http://thrift.apache.org/
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
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
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
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
CAHIER DES CHARGES D IMPLANTATION
CAHIER DES CHARGES D IMPLANTATION Tableau de diffusion du document Document : Cahier des Charges d Implantation EVRP Version 6 Etabli par DCSI Vérifié par Validé par Destinataires Pour information Création
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
Le Ro le Hyper V Premie re Partie Configuration et Prise en main du gestionnaire Hyper-V
Le Ro le Hyper V Premie re Partie Configuration et Prise en main du gestionnaire Hyper-V Microsoft France Division DPE Table des matières Présentation... 2 Objectifs... 2 Pré requis... 2 Quelles sont les
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
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
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
Bases du langage. Historique Applications et applets Éléments de base du langage Classes et objets Les exceptions
Langage JAVA Bases du langage Opérations sur les fichiers Réseau Multi-tâche Logiciel: interfaces... Gestion des périphériques (méthodes natives) Accès aux bases de données Bases du langage Historique
Une introduction à Java
Une introduction à Java IFT 287 (Semaine 1) UNIVERSITÉ DE SHERBROOKE 1 Java - Historique Développé par Sun Microsystems en 1994 Inventeur James Gosling (canadien!) Objectif langage sûr (fortement typé)
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
Programmation Orientée Objet Java
Programmation Orientée Objet Java Bertrand Estellon Département Informatique et Interactions Aix-Marseille Université 12 novembre 2014 Bertrand Estellon (DII AMU) Programmation Orientée Objet Java 12 novembre
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
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
NFP 121. Java et les Threads. Présentation : Thierry Escalarasse Mai 2007
NFP 121 Java et les Threads Présentation : Thierry Escalarasse Mai 2007 Plan du cour Présentation de la notion de Threads La classe Thread L interface Runnable Les états d un thread La Synchronisation
JADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry [email protected].
: Java Agent DEvelopment framework Laboratoire IBISC & Départ. GEII Université & IUT d Evry [email protected] Introduction à la plateforme JADE 1) Modèle d agent 2) Services 3) Norme FIPA
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).
Module.NET 3 Les Assemblys.NET
Module.NET Chapitre 3 Les Assemblys.NET 2011/2012 Page 1 sur 13 Contenu Cours... 3 3.1 - Définition d un assembly.net... 3 3.2 - Private assembly ou assembly privé.... 3 3.3 - Shared assembly ou assembly
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
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 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 :
Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction
PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS Depuis SAS 9.2 TS2M3, SAS propose un nouveau langage de programmation permettant de créer et gérer des tables SAS : le DS2 («Data Step 2»). Ces nouveautés
Comment reproduire les résultats de l article : POP-Java : Parallélisme et distribution orienté objet
Comment reproduire les résultats de l article : POP-Java : Parallélisme et distribution orienté objet Beat Wolf 1, Pierre Kuonen 1, Thomas Dandekar 2 1 icosys, Haute École Spécialisée de Suisse occidentale,
SGDN. Projet: JAVASEC
SGDN Projet: JAVASEC Type : rapport d étude Rapport d étude sur le langage Java Référence : JAVASEC_NTE_001 Nb pages : 227 Date : 14 octobre 2009 TABLE DES MATIÈRES 1 Introduction 8 1.1 Objet du document................................
Exercices INF5171 : série #3 (Automne 2012)
Exercices INF5171 : série #3 (Automne 2012) 1. Un moniteur pour gérer des ressources Le moniteur MPD 1 présente une première version d'un moniteur, exprimé en pseudo-mpd, pour gérer des ressources le nombre
Modélisation des interfaces matériel/logiciel
Modélisation des interfaces matériel/logiciel Présenté par Frédéric Pétrot Patrice Gerin Alexandre Chureau Hao Shen Aimen Bouchhima Ahmed Jerraya 1/28 TIMA Laboratory SLS Group 46 Avenue Félix VIALLET
java : Langage et Environnement
java : Langage et Environnement 1. rintroduction ava est une nouvelle technologie conçue par Sun Microsystems l'un des premiers fabriquants des stations de travail Sun. Depuis son apparition, à peine plus
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
Ready to Go? [Retour d'expérience sur un projet en Golang] HTML http://goo.gl/npljio PDF http://goo.gl/gzgdzw 1 / 44
Ready to Go? [Retour d'expérience sur un projet en Golang] HTML http://goo.gl/npljio PDF http://goo.gl/gzgdzw 1 / 44 Qui sommes nous? 2 / 44 Qui sommes nous? - Orange Orange est le 3ème opérateur mobile
F. Barthélemy. 17 mai 2005
Typage de la généricité en Java F. Barthélemy 17 mai 2005 1 Le shéma général La g én éricit é en Java est un ajout r éalis é sur un langage existant depuis d éjà une dizaine d ann ées, avec des contraintes
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
PLATE-FORME DE CLOUD COMPUTING SLAPOS. Intégration d applications
PLATE-FORME DE CLOUD COMPUTING SLAPOS Intégration d applications Alain Takoudjou Kamdem [email protected] LIPN Université Paris 13 Vichy 2014 Présentation du cloud computing Le Cloud
Manuel logiciel client Java
Manuel logiciel client Java 2 Copyright Systancia 2012 Tous droits réservés Les informations fournies dans le présent document sont fournies à titre d information, et de ce fait ne font l objet d aucun
Cours 1: Java et les objets
Ressources Les interface homme-machine et le langage Java DUT première année Henri Garreta, Faculté des Sciences (Luminy) Cyril Pain-Barre & Sébastien Nedjar, IUT d Aix-Marseille (Aix) Cours 1: infodoc.iut.univ-aix.fr/~ihm/
GenDbg : un débogueur générique. Didier Eymery Jean-Marie Borello Jean-Marie Fraygefond Odile Eymery Philippe Bion
GenDbg : un débogueur générique Didier Eymery Jean-Marie Borello Jean-Marie Fraygefond Odile Eymery Philippe Bion 2008 Qui sommes nous? Centre d électronique de l Armement (CELAR) Maîtrise et protection
Le serveur HTTPd WASD. Jean-François Piéronne
Le serveur HTTPd WASD Jean-François Piéronne Sommaire Caractéristiques Architecture générale Performances Intégration dans OpenVMS Caractéristiques Implémentation complète HTTP/1.0 Méthodes "GET", "HEAD",
Environnements de développement (intégrés)
Environnements de développement (intégrés) Introduction aux EDI, la plateforme Eclipse Patrick Labatut [email protected] http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure
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à
Présentation de Java. Olivier de Pertat IT GROUP
Présentation de Java Olivier de Pertat IT GROUP Qu'est-ce que Java? Un langage de programmation orienté objets Une architecture de Virtual Machine Un ensemble d'api variées Un ensemble d'outils : le Java
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é
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
Efficient Object Versioning for Object- Oriented Languages From Model to Language Integration
Efficient Object Versioning for Object- Oriented Languages From Model to Language Integration Pluquet Frédéric July, 3rd 2012 Etude de techniques efficaces de versionnement d objets pour les langages orientés
Chapitre 2 : Abstraction et Virtualisation
Virtualisation et Cloud Computing Chapitre 2 : Abstraction et Virtualisation Objectifs Présenter la notion de niveaux d abstraction séparés par des interfaces bien définies Description des avantages et
Généralités sur le Langage Java et éléments syntaxiques.
Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques....1 Introduction...1 Genéralité sur le langage Java....1 Syntaxe de base du Langage...
Introduction à NetCDF
Introduction à NetCDF École normale supérieure L3 géosciences 2014/2015 Lionel GUEZ [email protected] Laboratoire de météorologie dynamique Explications préliminaires Deux distinctions générales sur les
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?
Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés)
Introduction à la POO 1. Histoire de la POO 9 2. Historique du 12 La conception orientée objet 1. Approche procédurale et décomposition fonctionnelle 13 2. La transition vers l'approche objet 14 3. Les
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
Le Framework.Net. Introduction. Pourquoi.Net?
Introduction. Pourquoi.Net? Le Framework.Net Cela fait une dizaine d'années que le monde du développement est bouleversé d'une part par la programmation objet et d'autre part par les applications web.
Informatique UE 102. Jean-Yves Antoine. Architecture des ordinateurs et Algorithmique de base. UFR Sciences et Techniques Licence S&T 1ère année
UFR Sciences et Techniques Licence S&T 1ère année Informatique UE 102 Architecture des ordinateurs et Algorithmique de base Jean-Yves Antoine http://www.info.univ-tours.fr/~antoine/ UFR Sciences et Techniques
Projet gestion d'objets dupliqués
Projet gestion d'objets dupliqués Daniel Hagimont [email protected] 1 Projet Service de gestion d'objets dupliqués Mise en cohérence lors de la prise d'un verrou sur un objet Pas de verrous imbriqués
Software Engineering and Middleware A Roadmap
Software Engineering and Middleware A Roadmap Ecrit par: Dr. Wolfgang Emmerich Présenté par : Mustapha Boushaba Cours : IFT6251 Wolfgang Emmerich Enseignant à University College London: Distributed Systems
Iyad Alshabani SysCom - CReSTIC Université de Reims 17/02/2011 1
SysCom - CReSTIC Université de Reims 17/02/2011 1 Motivation Gestion des expérimentations Avec les workflows Simulation Simulation des Systèmes Distribués ANR USS SimGrid Campagne de Test et gestion de
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
EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE
EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0
td3a correction session7az
td3a correction session7az August 19, 2015 1 Séance 7 : PIG et JSON et streaming avec les données vélib (correction avec Azure) Plan Récupération des données Connexion au cluster et import des données
Contexte et motivations Les techniques envisagées Evolution des processus Conclusion
Vérification de logiciels par analyse statique Contexte et motivations Les techniques envisagées Evolution des processus Conclusion Contexte et motivations Specification Design architecture Revues and
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
Conventions d écriture et outils de mise au point
Logiciel de base Première année par alternance Responsable : Christophe Rippert [email protected] Introduction Conventions d écriture et outils de mise au point On va utiliser dans cette
Analyse de performance, monitoring
Analyse de performance, monitoring Plan Principes de profilage Projet TPTP dans Eclipse Utilisation des profiling tools de TPTP Philippe Collet Master 1 Informatique 2009-2010 http://deptinfo.unice.fr/twiki/bin/view/minfo/gl
DÉVELOPPEMENT D UNE APPLICATION DE COMMUNICATION BLUETOOTH SUR ANDROID. Projet de fin d étude VAP «Architecte de Services en Réseau»
DÉVELOPPEMENT D UNE APPLICATION DE COMMUNICATION BLUETOOTH SUR ANDROID Projet de fin d étude VAP «Architecte de Services en Réseau» Guillaume Faure et Maxime Raoust Janvier 2010 Acteurs du projet Étudiants
Création d objet imbriqué sous PowerShell.
Création d objet imbriqué sous PowerShell. Par Laurent Dardenne, le 13/01/2014. Niveau Ce tutoriel aborde la création d objet composé, c est-à-dire que certains de ses membres seront eux-mêmes des PSObjects.
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
HISTORIQUE DES SYSTEMES D'EXPLOITATION (S.E.)
SYSTEME Chapitre 1 HISTORIQUE DES SYSTEMES D'EXPLOITATION (S.E.) Ce qu'est un S.E. = partie intelligente d'un système donné. Les S.E. ont évolué au fil des années. Ils dépendent de l'architecture des ordinateurs
Analyse statique de code dans un cycle de développement Web Retour d'expérience
Analyse statique de code dans un cycle de développement Web Retour d'expérience Laurent Butti et Olivier Moretti Orange France [email protected] Agenda Introduction Notre contexte L (in)sécurité des
Corrigé des exercices sur les références
Corrigé des exercices sur les références Exercice 3.1.1 dessin Pour cet exercice, vous allez dessiner des structures de données au moyen de petits schémas analogues à ceux du cours, comportant la pile
Projet de développement
Projet de développement Introduction à Eclipse Philippe Collet Licence 3 MIAGE S6 2012-2013 http://miageprojet2.unice.fr/index.php?title=user:philippecollet/projet_de_développement_2012-2013 Plan r Application
DotNet. Présentation de l'offre
DotNet Présentation de l'offre Version 1.06 du 26/09/2010 par Jacky Renno Plan Environnement d exécution Les bibliothèques standard Une solution de développement ASP.Net Windows.Net Server Exchange Server
Exécutif temps réel Pierre-Yves Duval (cppm)
Exécutif temps réel Pierre-Yves Duval (cppm) Ecole d informatique temps réel - La Londes les Maures 7-11 Octobre 2002 Plan Exécutif Tâches Evénements et synchronisation Partage de ressources Communications
Programmation avancée et répartie en Java : interfaçage avec d autres langages
Programmation avancée et répartie en Java : interfaçage avec d autres langages Frédéric Gava L.A.C.L Laboratoire d Algorithmique, Complexité et Logique Cours de M1 MIAGE (d après les notes de cours de
IFT2245 - Systèmes d exploitation - TP n 1-20%
IFT2245 - Systèmes d exploitation - TP n 1-20% DIRO - Université de Montréal Nicolas Rous et Dorian Gomez Disponible : 14/02/2013 - Remise : 28/03/2013 au début de la démo LISEZ TOUT LE DOCUMENT AVANT
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
Hébergement de site web Damien Nouvel
Hébergement de site web Plan L'hébergeur Le serveur web Apache Sites dynamiques 2 / 27 Plan L'hébergeur Le serveur web Apache Sites dynamiques 3 / 27 L'hébergeur L'hébergeur sous-traite l'architecture
CH.3 SYSTÈMES D'EXPLOITATION
CH.3 SYSTÈMES D'EXPLOITATION 3.1 Un historique 3.2 Une vue générale 3.3 Les principaux aspects Info S4 ch3 1 3.1 Un historique Quatre générations. Préhistoire 1944 1950 ENIAC (1944) militaire : 20000 tubes,
6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, [email protected]
6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, [email protected] Interface d un SGF Implémentation d un SGF Gestion de la correspondance entre la structure logique et la structure
Notion de base de données
Notion de base de données Collection de données opérationnelles enregistrées sur un support adressable et utilisées par les systèmes et les applications Les données doivent être structurées indépendamment
Mise en œuvre des serveurs d application
Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54 Ces transparents, ainsi que les énoncés
Introduction à la programmation concurrente
Introduction à la programmation concurrente Moniteurs Yann Thoma Reconfigurable and Embedded Digital Systems Institute Haute Ecole d Ingénierie et de Gestion du Canton de Vaud This work is licensed under
Sébastien Geiger IPHC Strasbourg
Sébastien Geiger IPHC Strasbourg Retour d expérience sur la virtualisation de serveurs à l IPHC 9eme Journées Info de l IN2P3-IRFU 13-16 octobre 2014 Résidence de Camargue Sommaire Comment déterminer les
Asterisk QuickRecord. ANTOINE MANSUY [email protected] IUT DE COLMAR
ANTOINE MANSUY [email protected] IUT DE COLMAR Licence Pro ISVDE ANNEE 2006/2007 SOMMAIRE I. PRES REQUIS :... 3 A. Machine virtuelle Java (JVM):... 3 B. Fichiers utiles à l application :... 3 C. Configuration
Remote Method Invocation en Java (RMI)
Remote Method Invocation en Java (RMI) Modélisation et construction des applications réparties (Module M-4102C) J. Christian Attiogbé Fevrier 2015 J. Christian Attiogbé (Fevrier 2015) Remote Method Invocation
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
