Logo ČVUT
CZECH TECHNICAL UNIVERSITY IN PRAGUE
STUDY PLANS
2024/2025

Runtime Systems

The course is not on the list Without time-table
Code Completion Credits Range Language
MI-RUN.16 Z,ZK 5 2P+1C Czech
Course guarantor:
Lecturer:
Tutor:
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/
No time-table has been prepared for this course
The course is a part of the following study plans:
Data valid to 2024-12-11
For updated information see http://bilakniha.cvut.cz/en/predmet4656706.html