Étapes de compilation et d’édition des liens en C 
3. La machine virtuelle 
Il existe une étape intermédiaire entre l’interprété et le compilé: la machine virtuelle applicative. La machine virtuelle 
est un programme, généralement un interpréteur, qui permet d’isoler l’application qu’il doit faire tourner du matériel et 
même du système d’exploitation. Le programme n’a théoriquement aucun accès aux spécificités du matériel, l’ensemble 
de ses besoins lui étant fourni par la machine vituelle. Ainsi, tout programme conçu pour cette machine virtuelle pourra 
fonctionner sur n’importe quel ordinateur, du moment que la dite machine virtuelle existe pour cet ordinateur. C’est en 
quelque sorte une couche d’abstraction ultime. Généralement, le programme fonctionnant depuis la machine virtuelle a 
déjà subi une première phase de compilation pour le transformer non pas en langage machine propre à l’ordinateur, 
mais  dans  un  langage  "machine  virtuelle"  pour  ainsi  dire,  que  l’on  nomme  bytecode.  Ce  bytecode  pourra  être 
interprété par la machine virtuelle, ou plutôt, et ceci de plus en plus régulièrement, compilé à la volée juste au moment 
de son utilisation (technologie JIT, Just in Time). 
Ainsi  dans  certaines  circonstances  le  programme  fonctionne  presque  aussi  vite  qu’un  programme  compilé  pour  une 
machine cible ! Un exemple de langage utilisant une machine virtuelle est Java. 
- 4 -
© ENI Editions - All rigths reserved - Jonifar lina
18
Précédent

- 18/220

Suivant