Principte des Systèmes d'Exploitation
Objectives
The aim of the course is to present the basic concepts, organization and basic services of an operating system. It will be focused on the description of the basic services of an operating system (namely kernel services) in order to discover and practice reactive and parallel multi-tasking programming.
Description
The course includes a number of sections related to the organization of an operating system, the concept of process/task, task scheduling, system programming covering event-based synchronisation, parallel programming. This includes multithreading, data sharing and synchronization by semaphores and by monitors, all illustrated with examples. Practical classes of these concepts on Unix-Linux in the framework of design offices will go along with this course.
Three practical classes offer students the opportunity to discover (1) the Unix/Linux shell and basic commands, (2) the implementation of multiprocess and reactive applications (using software signals), and (3) the implementation of multithreads applications and the use of synchronization mechanisms.
Targeted skills
At the end of this course, the student will be able to develop reactive multi-task applications, especially on Linux.