Systèmes Temps Réel

 

  • Chapitre 1 : Généralités sur les systèmes d’exploitation
    1. Rappels sur l'architecture d'un ordinateur.
    2. Place du système d'exploitation dans l'ordinateur.
    3. Définition du système d'exploitation,
    4. caractéristiques.
    5. Introduction de la structure en couches d'un système d'exploitation.
    6. Notions :
      • Instruction,
      • Macro instruction,
      • Programme,
      • Processus,
      • Fonction
  • Chapitre 2 : Introduction aux systèmes temps réel
    1. Définition d’un système temps réel.
    2. Contraintes temps réel. Spécifications.
    3. Classification des systèmes temps-réel.
    4. Caractéristiques,
    5. Structure d’un système de commande.
  • Chapitre 3 : Gestion des tâches. Ordonnancement et temps réel 
    1. Définition des types de tâches (graphe des états des tâches gérées par un noyau temps réel).
    2. Opérations sur les processus (Création, Destruction, Suspension, ...).
    3. Gestions des tâches (partage du processus, algorithmes d'ordonnancement préemptif et non préemptif, définition de quelques algorithmes d'ordonnancement : FCFS, SJF, …),
    4. Bloc de Contrôle des processus PCB
  • Chapitre 4 : Gestion de la mémoire (02 semaines)
    1. Gestion de mémoire virtuelle (pagination, segmentation, cache).
    2. Gestion de la mémoire physique (Définition, adressage, politiques (algos) d'allocation, (FF, BF, WF, …)
  • Chapitre 5 : Gestion du parallélisme et communication entre processus 
    1. Présentation des méthodes et outils de solution pour les problèmes de compétition,
    2. coopération,
    3. synchronisation basée sur les sections et ressources critiques,
    4. l’exclusion mutuelle,
    5. les contraintes à respecter.
    6. Présentation du Sémaphore,
    7. les moniteurs,  
    8. Exemple de problème de synchronisation classique (Problème producteur-consommateur).
    9. Communication entre processus (Tubes, tubes nommés, ...)
  • Chapitre 6 : Programmation (03 semaines)
    1. Introduction à la Programmation concurrente :
      • Gestion des aspects multitâches,
      • Exclusion mutuelle,
      • Synchronisation,
      • Communication ; 
      • Programmation temps réel (Langage temps réel : OSA, JAVA2 temps réel, ADA, Modula2, …).
    2. Exemples d’applications.