Component
École Nationale Supérieure d'Électrotechnique d'Électronique d'Informatique d'Hydraulique et des Télécommunications
Objectives
The objective of the course is to provide an introduction to the basic concepts, organization, and fundamental services of an operating system. The focus is on describing the basic services of an operating system kernel with the aim of discovering and practicing reactive and parallel multitasking programming.
Description
The course includes a number of sections on the organization of an operating system, the concept of processes/tasks, memory management, task scheduling, and system programming covering event synchronization, multithreaded programming, data sharing, and synchronization using semaphores and monitors.
This course includes examples and practice of these concepts on Unix-Linux in a design office environment. This course is accompanied by examples and practical application of these concepts on Unix-Linux in the context of design offices.
Three design offices offer students the opportunity to discover (1) the Shell and basic Unix/Linux commands, (2) the implementation of multiprocess and reactive applications (software signals), and (3) the implementation of multithreaded applications using semaphore synchronization mechanisms.
Pre-requisites
A good knowledge of algorithms and C programming is absolutely necessary
