_ _ _ __ __| | | |__ __ _ ___| |__ \ \ Un shell répartissant / _` | __ | '_ \ / _` / __| '_ \ \ \ les commandes sur un | (_| | |__| | |_) | (_| \__ \ | | | / / cluster de machines. \__,_| |_.__/ \__,_|___/_| |_| /_/
Projet réalisé par @Inès BENAMER-BELKACEM et @Thibaut MARCQ
D-Bash a pour objectif principal de concevoir et implémenter un shell distribué capable de:
- Lancer des programmes sur la machine la moins chargée du cluster (répartition de charge)
- Gérer l'exécution synchrone et asynchrone des commandes
- Fournir des commandes réseaux :
ps(avec option-lpour infos détaillées),wait,kill -sig pid - Suivre et dispatcher les exécutions distantes via des identifiants uniques (RemoteExecution)
- Communication entre composants via sockets TCP
- Code organisé en
bin/,src/,include/, ettests/ - Découverte dynamique des serveurs via
hostnames.txt(NFS/shared file) - Heartbeats réguliers pour diffuser la charge et synchroniser les tables de processus
Installation (depuis la racine du projet) :
makeLancer un serveur :
./bin/server Lancer un client :
./bin/clientExemples d'utilisation dans le client :
ps # affiche la liste des processus réseau
ps -l # affichage détaillé
sleep 10 & # lancer en arrière-plan
wait # attendre les tâches lancées
kill -9 <pid># envoyer un signal à un pid réseauLe rapport complet, avec schémas et résultats expérimentaux, se trouve dans rapport (PDF).
- Inès BENAMER-BELKACEM — https://github.com/ines-benamer
- Thibaut MARCQ — https://github.com/thibautmarcq
Sous l'encadrement de Pierre Sens.
Inès & Thibaut Industries™ - 2026