The course covers such as synchronization, scheduling and memory management. The topics will be dealt in a holistic manner - i.e., how the OS deals with it internally, what kind of interfaces are exported to user-space and how are they implemented, how are these interfaces utilized by libraries or language run-time systems, what is the high-level interface provided to the programmer.
Objective
The goal of this course is to explore how parallelism is supported and managed in low-level software systems. The focus will be on two classes of systems: Operating Systems and Programming Languages.
Content
The course will cover such as synchronization, scheduling and memory management. The topics will be dealt in a holistic manner - i.e., how the OS deals with it internally, what kind of interfaces are exported to user-space and how are they implemented, how are these interfaces utilized by libraries or language run-time systems, what is the high-level interface provided to the programmer.
Performance assessment
Performance assessment information (valid until the course unit is held again)