Files
MiniProjet2/Unsecured/README.md

31 lines
1.5 KiB
Markdown

@TODO : Améliorer le README.MD (le texte y compris)
# 🏦 Simulateur de Transactions Bancaires Concurrentes
Ce programme en C simule des transactions bancaires aléatoires entre comptes dans un environnement multi-processus. Il est conçu pour illustrer les défis de la concurrence sans synchronisation explicite.
## ✨ Fonctionnalités
- 📖 **Lecture et écriture de comptes** : Les comptes sont stockés dans un fichier avec un format fixe (nom et solde).
- 🔄 **Transactions aléatoires** : Effectue des transferts d'argent aléatoires entre comptes.
- 🤹 **Simulation multi-processus** : Plusieurs processus enfants effectuent des transactions simultanément.
- 📊 **Calcul des soldes** : Affiche le solde total avant et après les transactions.
---
## ⚠️ Limitations et Bugs Potentiels
🚨 **Ce programme n'utilise pas de mécanismes de verrouillage pour gérer la concurrence.**
1. **💥 Problème de concurrence** :
- Plusieurs processus peuvent lire et écrire dans le fichier en même temps, entraînant des incohérences dans les soldes (race condition).
- Par exemple, deux processus modifiant simultanément un compte peuvent écraser leurs changements.
2. **📉 Corruption des données** :
- Une interruption (crash ou arrêt forcé) pendant une transaction peut laisser des données partiellement écrites.
3. **❌ Absence de validations robustes** :
- Aucune vérification supplémentaire pour s'assurer que les montants transférés sont cohérents en cas de concurrence.
---