Runtime systémy
Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
---|---|---|---|---|
NI-RUN | Z,ZK | 5 | 2P+1C | anglicky |
- Garant předmětu:
- Filip Křikava
- Přednášející:
- Filip Křikava
- Cvičící:
- Filip Křikava
- Předmět zajišťuje:
- katedra teoretické informatiky
- Anotace:
-
This course is an introduction to the world of virtual machines (VM) for high-level programming languages. There are two goals:
Give you hands-on experience in design and implementation of a compiler and a VM from scratch, including
Abstract Syntax Tree (AST) interpretation
Byte code (BC) design and interpretation
AST to BC compilation
Memory management
Just-in-time compilation and some optimization techniques
Through a series of guest lectures, introduce you to various advanced topics and implementations of real-world VMs, including
Dynamic optimizations, speculations, and deoptimizations
Language implementation frameworks
Read-world VMs
- Požadavky:
-
In this course, you will implement a compiler and a virtual machine for a simple yet non-trivial programming language. This assumes that you can effectively program in some programming language. To implement the class project, you are free to use any programming language with manual memory management, such as C/C++, Rust, or Zig. The provided project template is in C++.
- Osnova přednášek:
-
1. Introduction to the world of VM
2. AST interpretation
3. Bytecode compilation
4. Bytecode interpretation
5. Memory management
6. Garbage collection
7. JVM ISA
8. V8 and its compilers
9. Just-in-time compilation
10. Truffle and GraalVM
11. Dynamic optimizations
12. Dynamic optimizations
- Osnova cvičení:
-
1. The Lox programming language
2. AST interpretation
3. Bytecode compilation
4. Bytecode interpretation
5. Memory management
6. Memory management
7. Just-in-time compilation
- Cíle studia:
- Studijní materiály:
-
1. R. Nystrom: Crafting Interpreters, Genever Benning, 2021 ASIN: B09BCCVLCL (https://www.craftinginterpreters.com/)
2. Craig, I. D. : Virtual Machines. Springer, 2005. ISBN 978-1852339692.
3. Jones, R. - Hosking, A. - Moss, E. : The Garbage Collection Handbook: The Art of Automatic Memory Management. Chapman and Hall/CRC, 2011. ISBN 978-1420082791.
- Poznámka:
-
Informace o předmětu a výukové materiály naleznete na https://courses.fit.cvut.cz/MI-RUN/
- Další informace:
- https://courses.fit.cvut.cz/NI-RUN/
- Rozvrh na zimní semestr 2024/2025:
- Rozvrh není připraven
- Rozvrh na letní semestr 2024/2025:
-
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Po Út St Čt Pá - Předmět je součástí následujících studijních plánů:
-
- Mgr. specializace Počítačová bezpečnost, 2020 (volitelný předmět)
- Mgr. specializace Návrh a programování vestavných systémů, 2020 (volitelný předmět)
- Mgr. specializace Počítačové systémy a sítě, 2020 (volitelný předmět)
- Mgr. specializace Manažerská informatika, 2020 (volitelný předmět)
- Mgr. specializace Softwarové inženýrství, 2020 (volitelný předmět)
- Mgr. specializace Systémové programování, verze od 2020 (PS)
- Mgr. specializace Webové inženýrství, 2020 (volitelný předmět)
- Mgr. specializace Znalostní inženýrství, 2020 (volitelný předmět)
- Mgr. specializace Teoretická informatika, 2020 (volitelný předmět)
- Mgr. program, pro fázi studia bez specializace, ver. pro roky 2020 a vyšší (VO)
- Master Specialization Digital Business Engineering, 2023 (VO)
- Mgr. specializace Systémové programování, verze od 2023 (PS)
- Mgr. specializace Teoretická informatika, 2023 (volitelný předmět)