Phelma Formation 2022

Operating systems - 4PMESEX7

  • Number of hours

    • Lectures 16.0
    • Projects 0
    • Tutorials 0
    • Internship 0
    • Laboratory works 12.0

    ECTS

    ECTS 1.0

Goal(s)

To understand machine resource management (time, memory);
To understand the link with machine hardware (atomic instructions, MMU, privilege level, etc.);
To provide basic system programming tools (process, thread, signal, synchronization);
To use a standard API (POSIX).

Contact Francois CAYRE

Content(s)

Lectures:

  • When an OS is needed
  • Processes and threads
  • Events: interrupts and signals
  • CPU management
  • Memory management
  • Synchronization (mutex, spinlock, semaphores, non-locking algorithms)

The goal of the practical labs is to strengthen both practice and general knowledge of system programming, using examples that are as useful and realistic as possible. Such examples include: Unix filters, Unix daemons, a memory protection framework, a plugin system using the dynamic loader, an introduction to high performance computing and the pitfalls of multi-threads programming, and a time-sharing simulator.



Prerequisites
  • Decent basic C programming, including compilation chain, unions and structures, (function) pointers, basisc preprocessor.
  • Basic exposition to the Unix environment (files and directories management, simple commands, basic usage of a C compiler and make)

Test

EXAM: 2hrs written exam, no document nor any electronic devices allowed.
•10 points on course questions
•6 points on lab questions
•4 points on more involved topics



    • MCC en présentiel **
      N1=EXAM1
      N2=EXAM2
    • MCC en distanciel **
      N1 = TP à distance
      N2 = TP2 à distance

Additional Information

Course list
Curriculum->Engineering degree->Semester 8

Bibliography

"Principes des Systèmes d'Exploitation", Abraham Silberschatz, Peter B. Galvin, Greg Gagne
"Programmation Système en C sous Linux", Christophe Blaess