4I-SI4 : Systèmes d'exploitation¶
Cette unité est (très) légèrement adaptée de l'unité montée par Laurent Najman et Jean Cousty pour les E3 temps pleins. Le TDm5 est inspiré d'un sujet de Sylvain Cherrier (UGE).
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 :
- Ptit GUDU, une introduction à unix fait par un étudiant de l'école.
- Advanced Bash Scripting Guide
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) : Producteur / consomateur
- 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¶
- Systèmes d'Exploitation - Bart Lamiroy, Laurent Najman et Hugues Talbot. Collection Syntex, Pearson Education
- Systèmes d'exploitation (systèmes centralisés, systèmes distribués) - A. Tanenbaum (Interedition)
On lira également avec profit
- La programmation sous UNIX - JM.RIFFLET (Ediscience International)