MV6: Machines Virtuelles
Page du cours 2012-2013
Informations pratiques
- Horaire jeudi de 14h à 16h à partir du 31/01/13
- Emplacement Salle 2031, bâtiment Sophie Germain
- Cours et TD assurés par Matthias Puech
- Évaluation Session 1: 1/3 projet + 2/3 examen; Session 2: max(examen, 1/3 projet + 2/3 examen)
- Liste de diffusion mv6-forum@listes.sc.univ-paris-diderot.fr
Supports de cours
- Les transparents du cours (PDF) (version du 25/04). Ces transparents sont mis à jour après chaque séance.
- Le fichier myrte.ml reprenant le contenu des trois premiers cours.
- Le TP1 (PDF): machines à pile et compilation
- Le TP2 (PDF): Bytecode OCaml, Arithmétique et données structurées
- Le TP3 (PDF): Bytecode OCaml, Fonctions et fermetures
- Les transparents (PDF) du premier cours sur la JVM
- Le TP4 (PDF): Bytecode Java
- Annales d'examen: 2007 (PDF), 2008 (PDF), 2008 bis (PDF), 2010 (PDF), 2012 (PDF)
Progression
Date | Résumé | Slides |
---|---|---|
31/01 | Introduction aux MV, notion de langage d'expressions (Myrte) et de code, interprétation | pp.1-23 |
07/02 | Notion de typage, Présentation et implémentation d'une machine à a-pile | pp.23-27 |
14/02 | Compilation d'expressions, Notion d'assembleur, conception d'un code-octet | pp.27-37 |
21/02 | (pas de cours) | |
28/02 | TP1 (PDF): machine à pile et compilation | |
07/03 | La machine virtuelle OCaml: fragment arithmétique, données et blocs | pp.38-56 |
14/03 | TP2 (PDF): Bytecode OCaml, Arithmétique et données structurées | |
21/03 | Bytecode OCaml, Fonctions et fermetures | pp.57-76 |
28/03 | TP3 (PDF): Bytecode OCaml, fonctions et fermetures | |
04/04 | TP3, suite; introduction au projet | |
11/04 | La machine virtuelle Java (par Pierre Letouzey) | (PDF) |
15/04 | TP4 (PDF): Bytecode Java | |
18/04 | TP4, suite; Q&A projet | |
25/04 | Cours d'ouverture: validation de bytecode, édition de liens | pp.78-89 |
Notes
- 07/03 Erratum: les slides 52 et 53 contenaient une petite erreur sur la représentation des en-tête de blocs. Les 32 (ou 64) bits d'un bloc sont utilisés entièrement par les 3 champs tag, color, wosize. C'est corrigé dans le PDF en ligne.
- 28/03 Erratum: coquille corrigée slide 74: appterm m n = apply m; return n-m
Projet
L'énoncé du projet est disponible:
- version initiale du 04/04 (.tgz)
- version du 19/04 (.tgz): spec de closure corrigée (les arguments sont dans l'ordre: taille de l'environnement, offset de l'instruction), parser 32 bits ajouté