Logo ČVUT
CZECH TECHNICAL UNIVERSITY IN PRAGUE
STUDY PLANS
2019/2020

Runtime Systems

Login to KOS for course enrollment Display time-table
Code Completion Credits Range Language
MI-RUN.16 Z,ZK 5 2P+1C Czech
Lecturer:
Jakub Podlešák (guarantor), Petr Máj
Tutor:
Jakub Podlešák (guarantor), Petr Máj
Supervisor:
Department of Theoretical Computer Science
Synopsis:

Student become familiar - theoretically and practically - with runtime systems and virtual machines for various programming languages.

Requirements:

Object-oritented programming, machine code, programming languages (C, C++, Java, Smalltalk, or another dynamic language).

Syllabus of lectures:

1. Runtime for C/C++, static vs. dynamic linking, position independent code, memory management.

2. Calling conventions, system calls, signals and exceptions.

3. Virtual machines for high-level languages: JVM, MSIL, Squeak, SELF.

4. Organization of object heap. Object table. Immediate values.

5. Memory management, basic garbage collection methods.

6. Bytecode and its interpretation.

7. Just-in-time compilations, method lookup optimizations techniques.

8. Advanced optimization techniques: inlining, custom-compilation. SELF SIC.

9. Thread implementation. Green vs. Native threads.

10. JVM: mapping of threads and synchonization primitives to OS resources.

11. Exceptions - implementation in C++, JVM, Smalltalk.

12. Security mechanisms in VMs. Verification of the bytecode. Security Manager.

13. Foreign function calls. Cross-language calls.

14. VM Bootstrap. metacircular VM.

Syllabus of tutorials:

1. TBD.

Study Objective:

The aim is to complete education in the field of programming languages with the knowledge of runtime systems and virtual machines for different kinds of programming languages.

Study materials:

1. Smith, J., Nair, R. ''Virtual Machines: Versatile Platforms for Systems and Processes''. Morgan Kaufmann, 2005. ISBN 1558609105.

Note:
Further information:
https://moodle.fit.cvut.cz/courses/MI-RUN.16/
Time-table for winter semester 2019/2020:
Time-table is not available yet
Time-table for summer semester 2019/2020:
Time-table is not available yet
The course is a part of the following study plans:
Data valid to 2019-10-18
For updated information see http://bilakniha.cvut.cz/en/predmet4656706.html