UE LIFPCA - Programmation concurrente et administration système - Année 2026-2027


L'Unité d'Enseignement "Programmation concurrente et administration système" (LIFPCA) aborde les thématiques suivantes :

  • Programmation concurrente
    • Principes de la programmation concurrente ou programmation parallèle
    • Mise en oeuvre en utilisant la bibliothèque de threads de C++11
    • Problèmes classiques et solutions possibles
  • Ordonnancement
    • Principe de l'ordonnanceur d'un système d'exploitation
    • Politiques d'ordonnancement (temps-réel et non-temps réel)
    • Fonctionnement dans les OS courants (Linux, Windows)
  • Administration système
    • Gestion des utilisateurs et des droits
    • Installation de logiciels sous Linux
    • Gestion des services, mise en oeuvre avec systemd, fichiers de log

    Voici les compétences qui pourront être acquises durant l'UE :

    • Analyser et décomposer une tâche pour concevoir un algorithme
    • Programmer un logiciel implémentant une spécification fonctionnelle et technique
    • Exploiter le parallélisme des machines à l'exécution
    • Utiliser les interfaces de programmation d'un système d'exploitation
    • Programmer des interactions fines avec le matériel grâce au système d'exploitation
    • Analyser et interpréter les résultats produits par l'exécution d'un programme
    • Déployer et exploiter un logiciel existant ou développé sur mesure, dans son environnement (poste de travail, système d'exploitation, pile logicielle)
    • Décrire les éléments constitutifs d'un ordinateur et de son système d'exploitation (Unix et Windows)
    • Utiliser un système d'exploitation (ligne de commandes...) en mode utilisateur et administrateur
    • Installer et configurer un logiciel et le matériel associé
    • Assurer la mise à jour d'un logiciel
    • Diagnostiquer et résoudre les problèmes de fonctionnement d'un logiciel (fichiers de logs, ...)
    • Diagnostiquer et résoudre les problèmes de fonctionnement matériels
    • Interpréter (à la main et via un programme) un code écrit dans un langage
    • Dérouler un algorithme
    • Programmer de petites applications multi-processus ou multi-threads
    • Distinguer les modèles importants pour la programmation système (par exemple fork-join, producteurs-consommateurs, lecteurs-rédacteurs)
    • Gérer les droits d'accès standards des utilisateurs

Equipe pédagogique

Responsable de l'UE et CM

Florence Zara florence.zara@univ-lyon1.fr

Intervenants en TD

Groupe Prénom Nom Email
A Yves Caniou yves.caniou@univ-lyon1.fr
B Florence Zara florence.zara@univ-lyon1.fr
C Sylvain Brandel sylvain.brandel@univ-lyon1.fr
D Carina Deaconu carina.deaconu@ens-lyon.fr

Intervenants en TP

Groupe Prénom Nom Email
A01 Yves Caniou yves.caniou@univ-lyon1.fr
A02 ??? ??
Florence Zara florence.zara@univ-lyon1.fr
Gaspard Thévenon gaspard.thevenon@ens-lyon.fr
Sylvain Brandel sylvain.brandel@univ-lyon1.fr
?? ??
?? ??

Outils utiles

  • Communications des notes - TOMUSS
  • Emploi du temps - ADE
  • Comment se connecter sur une machine de l'université ou sur une VM dédiée : acces_distant.pdf

Emploi du temps - Année 2026-2027

Vue globale du semestre

PAS ENCORE MIS A JOUR

Jeudi 14h-15h30 15h45-17h15 17h30-19h
15/01/2026 CM1 (Threads et problèmes de concurrence) CM2 (Threads et problèmes de concurrence)
22/01/2026 TD1 (Mutex, Dijkstra) TP1 (Threads) TP1 (Fractale)
29/01/2026 Journées de l'Enseignement Supérieur (JES) Journées de l'Enseignement Supérieur (JES) JES
05/02/2026 TP2 (Fractale) TP2 (Producteur consommateur)
12/02/2026 TD2 (Thread et concurrence, variable de condition) TP3 (Producteur consommateur) TP3 (Synchronisation)
19/02/2026 Vacances Licence
26/02/2026 TP noté
05/03/2026 CM3 (Ordonnancement) TD3 (Ordonnancement)
12/03/2026 TP4 (Ordonnancement) TP4 (Ordonnancement)
19/03/2026 CC1 en amphi
26/03/2026 CM4 (Administration système) TD4 (Sysadmin et Révisions)
02/04/2026 TP5 (Sysadmin) TP5 (Sysadmin)
09/04/2026 CC2 en amphi
16/04/2026
23/04/2026 E2C
27/04/2026 STAGES
Epreuves effectuées en Amphi :
  • CI - Control Intermédiaire : jeudi ?? 2027 - Amphi ??
  • CT - Control Terminal : jeudi ?? 2027 - Amphi ??
  • CTR - Controle Terminal de Rattrapage : jeudi ?? 2027 - Amphi ?? - Uniquement pour les étudiants n'ayant pas validé l'UE lors de la session 1-
Consignes : arriver en avance, avoir sa carte d'étudiant, aucun document autorisé, apporter du blanc pour effacer !

Modalité de Contrôle de Connaissances (MCC)

Calcul de la moyenne de l'UE

La note de LIFPCA est calculée à partir de 2 notes :
  • CI - note issue du Control Intermédiaire CI - épreuve effectuée en amphi
  • CT - note issue du Control Terminal CT - épreuve effectuée en amphi
Le calcul de la note de LIPCA de session 1 est :
  • LIFPCA = 40% CI + 60% CT
Uniquement pour les étudiants n'ayant pas validé l'UE lors de la session 1,
  • il y aura un Controle Terminal de Rattrapage (CTR) qui remplacera la note de CT.
Le calcul de la note de LIPCA de session 2 est :
  • LIFPCA = 40% CI + 60% CTR

Ressources pédagogiques des DMs

DM0 : Bases du shell et un peu plus

  • Énoncé : dm0.pdf
  • À faire chez vous, vous serez évalué sur le contenu de ce DM.
  • Éléments de correction : dm0_corr.pdf

DM1 : Rappel sur la CLI et les scripts (à faire à la maison)


DM2 : CLI toujours (à faire à la maison)


DM3 : Révisions

Ressources pédagogiques des CMs

CM1 + CM2 : Threads et problèmes de concurrence


CM3 : Ordonnancement


CM4 : Administration système

Ressources pédagogiques des TDs

TD1 : Mutex


TD2 : Thread et concurrence, variable de condition, Dijkstra


TD3 : Ordonnancement


TD4 : Sysadmin et Révisions

Ressources pédagogiques des TPs

TP1 : Threads


TP2 : Fractale


TP3 : Producteur consommateur


TP4 : Synchronisation


TP5 : Ordonnancement


TP6 : Sysadmin

  • Sujet : tp6.pdf
  • Éléments de correction : tp6_corr.pdf
  • En complément du TP6 sur l'administration système, voici un autre exercice plus ludique pour jouer avec les systèmes de paquets et les logs sur votre VM : jeu-de-piste.html.

Votre avancée sur certaines parties du TP6 et le jeu de piste sur votre VM est affichée sur la case "VM/avancée " de TOMUSS. Cette case est mise à jour manuellement, ne vous inquiétez pas si vos actions ne sont pas prises en compte tout de suite.

Vidéos des CMS

CM 1 - Processus légers (threads)


CM 2 - Problème de synchronisation


CM 3 - Ordonnancement


CM 4 - Administration Système

Annales

Annales de TP Noté

Annales de l'examen mi-parcours (CCI)

Annales de l'examen Final (CCF)

  • Énoncé du printemps 2018 : Sujet, éléments de correction : Corrigé et code C++ de la station de Velov : velov.cpp
  • Énoncé du printemps 2019 : Sujet, éléments de correction : Corrigé