Objectifs

Acquérir des connaissances et compétences fondamentales liées aux principes de fonctionnement des systèmes d'exploitation (voir détails ci-dessous). Ces principes sont illustrés en particulier sur les exemples de Unix, Linux et Windows. Lors de séances de TD sur machines, les compétences et connaissances acquises (ou en cours d'acquisition) sont mises en oeuvre à travers la programmation en C de logiciels s'exécutant sous Linux.

Pré-requis

Une première expérience de la programmation en C/C++ et la connaissance de l'utilisation d'Unix/Linux sont pré-requises. Ces pré-requis sont censés avoir été acquis dans les années précédentes. Afin de s'éviter de perdre trop de temps lors des TP, l'étudiant est invité à suivre les liens suivants :

Organisation et sujets des cours et travaux dirigés

Cours 1 : Introduction et makefile

Cours 2 : Processus

TDm 1 (3h) : Appels système pour la manipulation de fichiers
TDm 2 (2h) : Création, affichage et synchronisation élémentaire de processus 


Cours 3 : Communication inter-processus par signaux et tubes & Processus légers
TDm 3 (2h) : Communication inter-processus par signaux et tubes
TD 1 (2h) : Création de processus & communication inter-processus par tubes et signaux

Cours 4 : Modèles de synchronisation : sémaphores, producteur/consommateur, dîner de philosophes
TD 2 (2h) : Synchronisation de processus
TDm 4 (2h) : Création et synchronisation de processus légers

TDm5 (2h) : à définir

Cours 5 : Gestion de la mémoire
Cours 6 : Mémoire virtuelle
TDm 6 (3h) : Gestion de la mémoire : impact sur les temps d'exécution & outils d'aide au développement

Examen final.

Environnement de travail : machine virtuelle Linux téléchargeable

Même si votre ordinateur pesrsonnel est sous Windows, il est possible d'exécuter un système d'exploitation Linux pour reproduire l'environnement de travail des TDm. En effet, sous le système d'exploitation Windows, vous pouvez exécuter une machine virtuelle sous Linux. Pour cela, vous pouvez par exemple utiliser la machine virtuelle donnée ici sur laquelle Linux a déjà été installé pour vous.

Pour utiliser cette machine virtuelle, vous devez installer le lecteur de machine virtuelle VMware, téléchargeable ici.

Afin de décompresser cette machine virtuelle, n'importe quel gestionnaire d'archives (comme 7-zip téléchargeable ici) peut être utilisé.

Une fois que cette machine virtuelle est lancée, vous pouvez vous connecter avec le compte "user" dont le mot de passe est "azerty".

Bibliographie

Couverture OS
  • Systèmes d'Exploitation - Bart Lamiroy, Laurent Najman et Hugues Talbot. Collection Syntex, Pearson Education
  • Système d'Exploitation - Juan Manuel Torres, Hanifa Boucheneb et Michel Gagnon
  • Systèmes d'exploitation (systèmes centralisés, systèmes distribués) - A. Tanenbaum (Interedition)
  • Polycopié du cours " Systèmes d'exploitation et réseaux ". - Bart Lamiroy, Mines de Nancy. Poly en pdf

On lira également avec profit

  • La programmation sous UNIX - JM.RIFFLET (Ediscience International)