Skip to main content

Operating Systems

This is a landing page for the contents of the Operating Systems course. Here you will find all the documentation needed for this course. It is meant to be used by teachers, trainers, students and hobbyists who want to learn about topics on operating systems, low-level programming, system APIs and application internals.

The course is structured in chapters, each with their own sections. See chapters in the sidebar or in the top-level menu.

The chapters are:

  • Software Stack: focused on the software stack, from applications down to the operating system
  • Data: focused on data and memory management, including issues of security and efficiency
  • Compute: focused on thread and process management, including scheduling and synchronization
  • I/O: focused on input-output mechanisms, including performance and synchronous / asynchronous operations
  • Application Interaction: an overall chapter dealing with different means of application communication and synchronization

Each chapter consists of most types of content presented in the Open Education Hub Methodology: slides, drills, projects, media, guides. Support files and full contents are part of the corresponding GitHub repository.

Licensing and Contributing

The contents are open educational resources (OER), part of the Open Education Hub project; they are hosted on GitHub, licensed under CC BY-SA 4.0 and BSD 3-Clause.

If you find an issue or want to contribute, follow the contribution guidelines on GitHub.