Graduate School and Research Center in Digital Sciences

Operating systems

T Technical Teaching


  • This course tackles both fundamental and practical key aspects of operating systems for real-time embedded applications (applications performing video, managing mobile phones, etc.).
  • At first, the course focuses on operating systems fundamental issues. More specifically, the use of hardware architectures on which operating systems run shall be explained: use of memory, use of hard drives, use of USB ports, etc.
  • Secondly, timing issues inherent to embedded applications are addressed: how can an operating system offer a support to help applications producing their computations at given dates.


  • Architecture and main concepts of operating systems
  • Presentation of main operating systems (Windows, Linux, Solaris, etc.). Then, introduction to processes, threads, synchronization techniques, scheduling policies, and to the management of memory, interrupts and devices.
  • Real-Time Operating Systems (RTOS)
  • Presentation of issues related to real-time embedded systems, and how they are addressed by RTOS (timers, interruptions, etc.). Then, overview of real-time scheduling theory and techniques, and programming interfaces such as POSIX. At last, architecture and features of Real-Time Linux are explained.
  • Kernel and system call: practical issues
  • Programming using operating systems' services, and programming various extensions to Linux.
Nb hours: 42.00
Nb hours per week: 3.00
Control form: examen écrit