Ajouts de la version non sécurisée + Makefile + Générateur de fichiers .db
This commit is contained in:
31
Unsecured/README.md
Normal file
31
Unsecured/README.md
Normal file
@@ -0,0 +1,31 @@
|
||||
@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.
|
||||
|
||||
---
|
Reference in New Issue
Block a user