/OS

Cours sur les systèmes d'exploitation

Primary LanguageC

Cours sur l'architecture des systèmes d'exploitation.

Macros utilisées

Pour l'ensemble des exercices, on utilisera le fichier macro.h qui contient les macros suivantes :

  • raler(int n,char *message) : affiche message puis renvoie errno si n vaut 1 le tout en interrompant le programme en faisant un exit(EXIT_FAILLURE).
  • CHK(cmd) : execute cmd et affiche le message d'erreur si cmd échoue (à utiliser si cmd positionne errno).
  • TCHK(pthread_cmd) : execute pthread_cmd, positionne errno et affiche le message d'erreur si pthread_cmd échoue.
  • Exercice de conversion de fonctions simples de C à assembleur en Zorglub33.

Pour compiler le code assembleur, il faut utiliser le compilateur z33-cli qui est déjà installé sur le repo et donc les principales commandes sont référencées ici.

  • Exercice 1 : Exercice de création de threads indépendants réalisant des calculs séparés.
  • Exercice 2 : Exercice d'affichage de lignes avec alternance des signes dans le terminal (en utilisant des threads avec des barrières).
  • Exercice 3 : Exercice réalisant les différentes tâches modélisées par un graphe dans l'ordre indiqué et en parallèle.
  • Exercice 1 : Exercice utilisant des mutex avec problème de concurrence
  • Exercice 2 : Exercice utilisant des sémaphores
  • Exercice 1 : Exercice d'utilisation de conditions pour synchroniser les threads simulant la gestion d'un centre de calcul.
  • Exercice 2 : Exercice d'utilisation de conditions et sémaphores pour synchroniser les threads simulant un système avec des cuisiniers et un épicier livrant des ingrédients pour faire des gâteaux.
  • Exercice 1 : Exercice d'utilisation de mémoire partagée simple.
  • Exercices 2-3-4 : Exercices d'utilisation de mémoire partagée entre plusieurs programmes.

Annales

  • Exercice : Système producteur consommateur à tampon borné.

TP Noté

  • Exercice de concurrence et interblocages simulant des ourses avec différents livreurs.
  • Exercice de simulation de vendeurs et clients avec des sémaphores partagées.