In this web pages you will find

1. Links to materials
2. Discussions about some of my lectures

My web sites related to my current lectures: web site for students, lecture notes, practical code, practical exam code, etc.

“Introduction à UNIX” et “UNIX avancé” (L3)

- Introduction base web page on Ensiwiki
- More advanced part web page on
- Latex source code of documents and exams are in SourceSup (as the project is shared with teachers at Lyon, like Matthiey Moy, the author of “Jeu de Piste” and “personnalized automatic exam”): in projet “stageunix”
- (2018 version) Public repository for the poly Le guide (0 knowledge starting document)

Introduction à Git (L3, M1)

Basics slides and practical exercises, some are more advanced materials like data model and history management.

- Base web page for student
- LaTeX source codes

Système d’exploitation et Programmation Concurrent

Many co-authors for this lecture, with a lot of historically shaped designs and stuffs coming from the Ensimag long history. I am humbly following the tradition by adding my own contributions.

- Base web page for student on Ensiwiki Page with a lot of link to other pages and source code (squeleton for practical, code examples, external references, etc.).

Projet de conception de systèmes d’exploitation (Unknown starting date for the first version (1980 ?).

Several co-authors designed the base code (squeleton and reference implementation) and numerous authors wrote the documentation. Previously a Motorola 68000 version already existed. I know only the most recents: Simon Nieuviarts (2001, x86, 32bits), Simon Nieuviarts (2004?, switch plan from top down to bottom-up) , Gaëtan Morin and Damien Dejean (virtual memory readyness), Matthieu Barbe (2019, 64 bits RISCV)

- Base web page for student on Ensiwiki

ISI Systèmes Distribués et Cloud avancé (M2)

- Base web page for student on Ensiwiki

My other web sites related to my former lectures

Cours de conception des systèmes d’explotation (with Frédéric Pétrot) (M1)

- Base web page for student on Ensiwiki

SCCI System Administration and Network Security (M2ç

- Base web page for student on Ensiwiki

Talks and small lectures

- Introduction au parallélisme : un cours donné lors d’un formation des profs de l’option ISN en 2018
- Ordonnancement et HPC Talk at Compass 2013
- Ordonnancement et HPC Lecture for PhD students, 3h, at CEA Cadarache
- Scheduling and HPC 2h undergraduate/master lecture at the federal university of Sao Jose dos Campos

Teaching discussion

I am associate professor at Ensimag, IHMO one of the best place to learn and teach computer science in France. I am teaching mainly operating systems at the Master level.

Gilles Doweq: Architecture, Algorithms, Languages, Data

I am a “GillesDowequien convaincu” (fan of Gilles Doweq thought).

Gilles Doweq is a philosopher and a computer scientist. He has a very important soft power influence on the way of thinking computer science in France. His influence includes the renew CS program for Lycées (16-18 yers old pupils). The main point, for me, is his assessment of th CS as the intersection of four pillars:

  1. Architecture of computer: how to build universal computation machine,
  2. Algorithmic: how humans discuss together of the computations doable by the computer,
  3. Languages: how humans explain to the computer the computation to do,
  4. Data: How to code and store the information used by the computation.

To fully understand CS, you have to understand the basics of all the
four pillars.

Operating Systems and concurrent programming

In addition to basic system concepts (file, process, interrupts, etc.), this lecture introduce concurrent programming.

The students implement a memory allocator, a shell and a multhreaded application as homework. I tried to vary the subjects using multiple variants and provides immediate feedback of the quality of the code by providing automated tests.

Previously the student implemented, in addition, a MPI distributed application.

details about the practical

- automatic makefile generation: cmake
- full automatic tests: google test library, ruby pexpect. The goal is to give some feedback to every student.

Operating System Design

Write our own Operating System from scratch

This particular project exists from numerous years at Ensimag. It consists to write from scratch a operating system for x86 (PC): processes, memory, communications, synchronisations. In the old ages of the 20th century, students wrote it top-down on Motorola 68000, then on PC. At the beginning of the 21th century, we switch to a bottom-up approach and then add virtual memory recently.

The projet is now done along the Operating System Design course.

Before 2016

This lecture presented the basic of system architecture and design, mainly around IO, virtual memory, OS structure, multi-core management in Linux, Windows and Android particularities. Some time is also spend to practice few practical points, eg. mmap, futex and atomic operations.

Discussions about former teaching


I was converted to IPv6 now ! point of view by a talk of Stéphane Brotzmeyer . Every IPv4 useful features are in IPv6 in a well integrated manner. In short, teaching IPv4 is just confusing and should be as restricted as possible.

System Security and Network Administration

This lecture was common with the computer science master of UJF. It revisits OS and network basic concepts from the administrator point of view. A part was also dedicated to advanced scripting in Perl.