Machines virtuelles
Cours de Compilation Avancée (4I504)
Benjamin Canou & Emmanuel Chailloux
Université Pierre et Marie Curie
Année 2016/2017 – Semaine 2
UPMC - Master Informatique - Compilation Avancée (4I504) - année 2016/2017 - 1/39
Principe général
Machine A
Langage compris : LA
Implantation : IA
=LB
Machine B
Langage compris : LB
Implantation : IB
=µ
J’ai dans ma poche :
un programme en langage LA
une machine de type B
Que faire ?
1. Un compilateur LALB:
Un programme écrit en langage LB,
transformant mon programme en un équivalent en LB.
2. Une machine virtuelle A pour ma machine B :
Un programme écrit en langage LB,
capable d’exécuter les programmes en langage LA.
UPMC - Master Informatique - Compilation Avancée (4I504) - année 2016/2017 - 2/39
Principe général
Machine A
Langage compris : LA
Implantation : IA=LB
Machine B
Langage compris : LB
Implantation : IB=µ
J’ai dans ma poche :
un programme en langage LA
une machine de type B
Que faire ?
1. Un compilateur LALB:
Un programme écrit en langage LB,
transformant mon programme en un équivalent en LB.
2. Une machine virtuelle A pour ma machine B :
Un programme écrit en langage LB,
capable d’exécuter les programmes en langage LA.
UPMC - Master Informatique - Compilation Avancée (4I504) - année 2016/2017 - 2/39
Compilation et machine virtuelle
bibliothèque
d’exécution
bibliothèques
de modules
BC
OC-v2 OC-v2
BC
BC
µ
BC
OC-v1 OC-v1
OC-v2 BC
BC
BC
BC
BC
BCOC-v2
µ
BC
CC .o
BC
.o
C C .o
µ
.o
BC
µ
µ
la Zinc
ocamlrun
.cmo
ocamlc
compilateur
O’CAML
v1 -> v2
UPMC - Master Informatique - Compilation Avancée (4I504) - année 2016/2017 - 3/39
Machine virtuelle de plate-forme
(Ce n’est pas le sujet de ce cours)
Dans le cas général, il est trop dicile de recompiler.
Une machine virtuelle est donc la seule possibilité.
Machine PPC
Langage compris : asm PPC
Implantation : asm x86
Machine x64
Langage compris : asm x64
Implantation : µ
Autres noms : émulateur, simulateur, ...
Exemples : QEMU, DOSBox, VirtualBox, ...
UPMC - Master Informatique - Compilation Avancée (4I504) - année 2016/2017 - 4/39
1 / 48 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !