Cours sur l'architecture des systèmes d'exploitation.
Pour l'ensemble des exercices, on utilisera le fichier macro.h
qui contient les macros suivantes :
raler(int n,char *message)
: affichemessage
puis renvoie errno sin
vaut 1 le tout en interrompant le programme en faisant unexit(EXIT_FAILLURE)
.CHK(cmd)
: executecmd
et affiche le message d'erreur sicmd
échoue (à utiliser sicmd
positionne errno).TCHK(pthread_cmd)
: executepthread_cmd
, positionne errno et affiche le message d'erreur sipthread_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.
- Exercice : Système multithread.
- Exercice : Système producteur consommateur à tampon borné.
- 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.