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

Runtime Systems

Login to KOS for course enrollment Display time-table
Code Completion Credits Range Language
MIE-RUN.16 Z,ZK 5 2+1
Lecturer:
Claus Gittinger
Tutor:
Jakub Podlešák
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:
Time-table for winter semester 2018/2019:
Time-table is not available yet
Time-table for summer semester 2018/2019:
Time-table is not available yet
The course is a part of the following study plans:
Data valid to 2019-03-19
For updated information see http://bilakniha.cvut.cz/en/predmet4659806.html