Runtime systémy
Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
---|---|---|---|---|
MI-RUN.16 | Z,ZK | 5 | 2P+1C | česky |
- Garant předmětu:
- Přednášející:
- Cvičící:
- Předmět zajišťuje:
- katedra teoretické informatiky
- Anotace:
-
Student získá teoretické i praktické znalosti o běhových systémech a virtuálních strojích pro různé programovaci jazyky.
- Požadavky:
-
Objektově orientované programování, strojový kód, programovací jazyky (C, C++, Java, Smalltalk nebo jiný dynamický jazyk).
- Osnova přednášek:
-
1. Runtime pro jazyk C/C++, statické vs. dynamické linkování, position independent code, správa paměti.
2. Volací konvence, volání jádra, vyjímky a signály.
3. Virtuální stroje pro vyšší programovací jazyky: JVM, MSIL, Squeak, SELF.
4. Organizace objektové paměti. Object table. Immediate values.
5. Správa paměti, základní techniky čištění paměti.
6. Bytekód a jeho interpretace.
7. Just-in-time překlad, optimalizace hledání metod.
8. Pokročilé optimalizace: inlining, custom-compilation. SELF SIC.
9. Implementace vláken. Green vs. Native threads.
10. JVM: mapování vláken a synchronizačních primitiv na prostředky OS.
11. Vyjímky - implementace v jazycích C++, JVM, Smalltalk.
12. Bezpečnostní mechanismy ve VM. Verifikace bytekódu. Security Manager.
13. Volání externích funkcí. Volání funkcí implementovaných v jiných jazycích.
14. VM Bootstrap. metacircular VM.
- Osnova cvičení:
-
1. TBD.
- Cíle studia:
-
Cílem předmětu je završit vzdělávání v oblasti programovacich jazyků znalostí architektury běhových systémů a virtuálních strojů pro různé kategorie programovacích jazyků.
- Studijní materiály:
-
Smith, J., Nair, R. ''Virtual Machines: Versatile Platforms for Systems and Processes''. Morgan Kaufmann, 2005. ISBN 1558609105.
- Poznámka:
-
Informace o předmětu a výukové materiály naleznete na https://moodle.fit.cvut.cz/courses/MI-RUN.16/ // Předmět není rozvrhován. Vyučující Vás kontaktujte před začátkem semestru.
- Další informace:
- https://moodle.fit.cvut.cz/courses/MI-RUN.16/
- Pro tento předmět se rozvrh nepřipravuje
- Předmět je součástí následujících studijních plánů:
-
- Mgr. obor Systémové programování, zaměření Systémové programování, 2016-2019 (povinný předmět zaměření)
- Mgr. specializace Teoretická informatika, 2018-2019 (volitelný předmět)