Fundamentals in Operating Systems


Fundamental mechanisms of Operating Systems are the primary goal of the course. For this, the course introduces the notion of Operating Systems as an intermediate layer between the architecture of a computer and a set of software applications. The main mechanisms of this layer are presented, and students practice with some of these mechanisms. The course is adapted for students with no prior knowledge of Operating Systems.

Teaching and Learning Methods: Lectures, lab. sessions and a project.

Course Policies: Lab sessions are mandatory. A strict policy on cheating. Delays must remain exceptional.


Book: TANENBAUM A., BOS H. Modern Operating Systems. Boston, Pearson, MA, 4th edition, 2014, 1136 p.



  • Presentation of protection mechanisms
  • Introduction and use of Linux system calls
  • Process management, memory management, and a lab on the understanding of memory areas
  • Communication between processes, including signals and message queues, and implementation of a chat application using message queues
  • Presentation of how file systems are handled by Operating Systems
  • Project: developing a never-full file system

Learning Outcomes:

  • Having a good overview of the main features of Operating Systems.
  • Programming an application using features of an Operating System efficiently.
  • Using the C language to interact with an Operating System.

Nb hours: 21.00

Evaluation: Project (40% of the final grade), and final exam (60% of the final grade)