Site Unistra - Accueil
Faire un don

Description

This course presents the features of the main architectural components of operating systems (kernel, memory management, processes and threads, files and peripherals), the interface with hardware (interrupts, address translation, peripheral management) and the underlying mechanisms (paging, synchronisation, switching, scheduling, etc.). Synchronisation mechanisms and concurrency problems are addressed through programming in C with POSIX APCs: threads, memory sharing between processes and semaphores.

Compétences requises

  • write complex programs in C

  • write programs using POSIX system primitives

  • write simple programs in assembler

Compétences visées

At the end of this course, students will know:

  • how operating systems work

  • how hardware and operating systems interact

  • to precisely identify system administration tasks

  • to identify and solve concurrency problems in programs

  • to write programs that share resources

  • to organise access to shared resources

Discipline(s)

  • Informatique

Syllabus

  • Lectures:

    • Intro, concurrent systems

    • Parallelism

    • IPC SysV - msg queues

    • Processes

    • IPC SysV - memory

    • Project launch

    • Threads

    • POSIX Threads and signals

    • Deadlocks

    • Mutual exclusion

    • Semaphores

    • Thread synchronisation

    • C11

    • Memory Management

  • Tutorials:

    • IPCs - Message queue

    • IPC - shared memory

    • Threads - thread, barrier

    • Semaphores

  • Lab sessions:

    • processes - environment

    • fork()

    • IPC_SystV - msg queue

    • IPC_SystV - shared memory

    • Deadlocks

    • POSIX Threads

    • Semaphores

    • V7 signals

    • Cunit testing

    • threads_API

    • Concurrency

    • Memory stats

    • File, directories

    • Condition variable

Bibliographie

  • A. Silberschatz, P. B. Galvin, G. Gagne, Operating System Concepts (9th Edition), Wiley

  • R. Arpaci-Dusseau, A.C. Arpaci-Dusseau, Operating Systems: Three Easy Pieces, http://pages.cs.wisc.edu/~remzi/OSTEP/ 

Contact

Responsable(s) de l'enseignement
Pierre Parrend : parrend@unistra.fr