Système d'exploitation: Synchronisation et communication -- 3ème année ingénieurs (S5)

Logistique du cours

  • 14 semaines de cours sur le campus
  • Salle de classe : Amphithéâtre A, bloc Mathématique
  • Réunion de classe : Dimanche 08h30 - 10h00
  • Enseignant : Dr L. Saadi
  • Heures d'accueil : Après les cours ou sur rendez-vous

A propos du cours :

Ce cours est destiné aux étudiants de troisième année ingénieur option réseaux durant le cinquième semestre, c'est un continuum de deux cours intitulés « Introduction aux systèmes d'exploitation 1 et Introduction aux systèmes d’exploitation 2 » qui a été donné aux étudiants de première année dans le premier et le deuxième semestre. Le premier cours a pour objectif de rapprocher les étudions du système d’exploitation UNIX et apprendre commandes ; mais le deuxième cours a pour objectifs de connaître quelques fonctionnalités d’un système d’exploitation y parmi le développement d’un programme, l’architecture d’un processeur et l’exécution des instructions, le système d’interruptions, quelques concepts de la gestion de la mémoire centrale, la gestion des entrées/sorties. En plus, de rapprocher les étudiants du langage machine et pratiquer le langage de programmation Assembleur des machines 8086.

Après avoir suivi ce cours, les étudiants doivent cette année aller très loin avec d'autres tâches du système d'exploitation dans la manière de gérer les problèmes causés par les interactions entre les processus dans un environnement de système parallèle ou à temps partagé.

Buts et objectifs :

Introduire le problème du parallélisme dans les systèmes d'exploitation et étudier la mise en œuvre des mécanismes d'exclusion mutuelle, de synchronisation et de communication dans un environnement centralisé à temps partagé.

Il est attendu des étudiants qu'ils

1/ prendre une idée comment le système d’exploitation gère les processus et le principe de la tâche ordonnancement de processus.

2/ connaître le problème de la critique des ressources et la solution utilisée dans le cadre de l'exclusion mutuelle.

3/ maîtriser les méthodes et algorithmes utilisés pour mettre en œuvre l'exclusion mutuelle.

4/ étudier comment les processus se synchronisent entre eux pour réaliser une tâche.

5/ maîtriser l'utilisation des sémaphores et des moniteurs pour écrire différents problèmes et processus qui sont en synchronisation ou en exclusion mutuelle.

6/ mettre les étudiants en contact avec un problème important qui peut survenir dans les systèmes d'exploitation et qui s'appelle le blocage.

7/ connaître le système de gestion de fichiers et le système de fichiers multimédias.

8/ Enseigner aux étudiants les concepts et les outils de base des systèmes distribués.

Les autres objectifs à long terme sont les suivants

1/ l'étudiant doit être capable d'implémenter n'importe quelle situation dans le système et d'écrire des processus utilisant des mécanismes de synchronisation et d'exclusion mutuelle.

2/ Utiliser un langage adéquat pour écrire ces processus.

Pré-requis pour le cours :

Il est demandé aux étudiants de

1/ étudier les cours « Introduction aux systèmes d'exploitation 1et 2 »

2/ avoir des connaissances en algorithmique et en programmation

3/ maîtriser les systèmes d'exploitation Windows et Linux

4/ programmer avec le langage C

Éléments du cours : Le cours comprend

1/ un cours magistral dans la semaine

2/ une séance de TD dans la semaine

3/ et une séance de TP dans la semaine

Politique d'assiduité :

L'assiduité est importante dans le cours magistral parce que les informations seront très importantes pour suivre les cours de tutorat et les cours pratiques, étant donné que le polycopié du cours ne contient pas tous les détails et toutes les explications. De plus, il y aura des exemples et des problèmes à résoudre pendant le cours magistral.

Protocole de communication :

Les étudiants peuvent contacter l'enseignante à l'adresse électronique suivante : l.saadi@univ-batna2.dz

Politique de notation et d'évaluation :

Ce cours sera basé sur les pondérations suivantes :

1/ Contrôle continu calculé selon la formule : note de la classe de travaux dirigés /20 + note de la classe de travaux pratiques/20

Note de la classe de travaux dirigés :

  • Exercices d'application et travaux pratiques : 02/ 20
  • Présentations en classe : 08/ 20
  • Examen trimestriel : 10 / 20

Note du cours pratique :

  • Exercices d'application et travaux pratiques : 02/ 20
  • Présentations en classe : 08/ 20
  • Examen trimestriel : 10 / 20

2/ l'examen final /20

Programme du cours :

Chapitre 1 : Gestion et ordonnancement de processus

  • Etat de processus
  • Dispatcher
  • Ordonnanceur
  • Politiques d’ordonnancement

Chapitre 2 : Concepts de parallélisme, de coopération et de compétition

  • Le parallélisme
  • Outils de parallélisme
  • Problématique

Chapitre 3 : Gestion du parallélisme : synchronisation et communication

  • Partage de ressources et de données
  • Exclusion mutuelle (définition, propriétés, méthodes, ...)
  • Synchronisation (événements, verrous, sémaphores, moniteurs, etc.)
  • Communication inter-processus (partage de variables, boîtes aux lettres, etc.)

Chapitre 4 : Interblocage

  • Interblocage (Conditions, représentation graphique, …)
  • Traitement (Prévention, Détection et récupération, ...)

Chapitre 5 : Systèmes de fichiers

  • Interface du système de fichiers (attributs de fichiers, opérations, types, répertoires, …)
  • Implémentation d’un système de fichiers (structure, organisation physique, …)
Systèmes de fichiers multimédia (types, structure, compression, opérations, organisations, …)

Offered: 

2024