- Garant předmětu:
- Konrad Siek
- Konrad Siek
- Michal Vlasák
- Department of Theoretical Computer Science
As the abstraction level of programming languages steadily rises, modern programs require greater and greater support during their runtime. This course introduces students to various aspects of the runtime support, such as runtime-effective program description, memory management support and garbage collection, just-in-time compilation, and interoperability with other languages and systems.
Object-oritented programming, machine code, programming languages (C, C++, Java, Smalltalk, or another dynamic language).
- Syllabus of lectures:
1. Calling conventions, system calls, signals, and exceptions
2. Virtual machines (VMs) for high-level languages.
3. Object heap organization. Object table. Immediate values.
4. Memory management, basic garbage collection methods.
5. Bytecode and its interpretation.
6. Just-in-time compilation, method lookup optimization techniques.
7. Advanced optimization techniques: inlining, custom-compilation.
8. Thread implementation, green vs. native threads.
9. JVM: mapping of threads and synchronization primitives to OS resources.
10. Security mechanisms in VMs. Verification of the bytecode. Security Manager.
11. Foreign function calls. Cross-language calls.
12. VM Bootstrap. Metacircular VM.
- Syllabus of tutorials:
1. Language introduction and AST interpretation
2. Bytecode compilation and interpretation
3. Memory management
5. Dynamic compilation
6. Primitive inlining and callsite caches
7. Multithreading support
- Study Objective:
- Study materials:
1. Li, X. F. : Advanced Design and Implementation of Virtual Machines. CRC Press, 2016. ISBN 978-1466582606.
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.
- Further information:
- Time-table for winter semester 2022/2023:
- Time-table is not available yet
- Time-table for summer semester 2022/2023:
Mon Tue WedroomTH:A-1242
Thákurova 7 (FSv-budova A)roomTH:A-1242
Thákurova 7 (FSv-budova A)
- The course is a part of the following study plans:
- Master specialization Computer Security, in Czech, 2020 (elective course)
- Master specialization Design and Programming of Embedded Systems, in Czech, 2020 (elective course)
- Master specialization Computer Systems and Networks, in Czech, 202 (elective course)
- Master specialization Management Informatics, in Czech, 2020 (elective course)
- Master specialization Software Engineering, in Czech, 2020 (elective course)
- Master specialization System Programming, in Czech, version from 2020 (PS)
- Master specialization Web Engineering, in Czech, 2020 (elective course)
- Master specialization Knowledge Engineering, in Czech, 2020 (elective course)
- Master specialization Computer Science, in Czech, 2020 (elective course)
- Mgr. programme, for the phase of study without specialisation, ver. for 2020 and higher (VO)