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

Runtime Systems

Login to KOS for course enrollment Display time-table
Code Completion Credits Range Language
MIE-RUN.16 Z,ZK 5 2P+1C English
Course guarantor:
Filip Křikava
Lecturer:
Filip Křikava
Tutor:
Filip Křikava
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://courses.fit.cvut.cz/MI-RUN/
Time-table for winter semester 2024/2025:
Time-table is not available yet
Time-table for summer semester 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
Mon
Tue
roomTH:A-1247
Křikava F.
14:30–16:00
(lecture parallel1)
Thákurova 7 (budova FSv)
roomTH:A-1247
Křikava F.
16:15–17:00
(lecture parallel1
parallel nr.101)

Thákurova 7 (budova FSv)
Wed
Thu
Fri
The course is a part of the following study plans:
Data valid to 2025-01-21
For updated information see http://bilakniha.cvut.cz/en/predmet4659806.html