Ajout du premier README.md
This commit is contained in:
parent
8bddab0b57
commit
fada8714e5
65
README.md
65
README.md
@ -1,3 +1,64 @@
|
||||
# MiniProjet2
|
||||
# Miniprojet 2 - Concurrence 🏦
|
||||
|
||||
Mini projet n°2 - ...
|
||||
Ce projet explore les défis de la gestion concurrentielle dans une "base de données bancaire". À travers deux implémentations (sécurisée et non sécurisée), nous analysons les problèmes d'accès concurrent et proposons une solution à l'aide de verrous.
|
||||
|
||||
## 📚 Table des matières
|
||||
|
||||
|
||||
- 📖 [Description générale](#📖-description-générale)
|
||||
- 🎯 [Objectifs du projet](#🎯-objectifs-du-projet)
|
||||
- 📁 [Données](#📁-données)
|
||||
- 🛠️ [Générateur de données](#🛠️-générateur-de-données)
|
||||
- 🔓 [Transactions non sécurisées](#🔓-transactions-non-sécurisées)
|
||||
- 🔒 [Transactions sécurisées](#🔒-transactions-sécurisées)
|
||||
- 🤝 [Auteurs](#🤝-auteurs)
|
||||
|
||||
## 📖 Description Générale
|
||||
Le projet met en œuvre des transactions simulées entre comptes bancaires en conditions concurrentielles.
|
||||
Deux versions ont été développées :
|
||||
1. Une version non sécurisée, exposant les incohérences possibles sans précautions.
|
||||
2. Une version sécurisée, utilisant des verrous pour garantir la cohérence.
|
||||
|
||||
Chaque version est documentée et accompagnée de son code source dans des sous-répertoires dédiés.
|
||||
|
||||
|
||||
## 🎯 Objectifs du Projet
|
||||
- Mettre en évidence les effets néfastes d'une mauvaise gestion des accès concurrents.
|
||||
- Implémenter une solution robuste en utilisant des verrous pour assurer la cohérence tout en conservant un bon niveau de parallélisme.
|
||||
|
||||
## 📁 Données
|
||||
|
||||
Le répertoire **Data** contient la base de données `accounts.db`, qui sert de point de départ pour les transactions. Chaque ligne correspond à un compte bancaire avec un nom et un solde initial.
|
||||
- **[Accéder au répertoire Data](./Data)**
|
||||
- **Fichiers**:
|
||||
- `accounts.db`: Fichier texte simulant une base de données avec des comptes.
|
||||
|
||||
## 🛠️ Générateur de Données
|
||||
Le répertoire **DataGenerator** contient un programme pour générer une base de données bancaire. Cela permet de créer des fichiers `.db` personnalisés pour vos tests.
|
||||
- **[Accéder au répertoire DataGenerator](./DataGenerator)**
|
||||
- **Fichiers**:
|
||||
- `README.md`: Documentation sur l'utilisation du générateur.
|
||||
- `generate_accounts.c`: Code source pour générer `accounts.db`.
|
||||
|
||||
## 🔓 Transactions Non Sécurisées
|
||||
Le répertoire **Unsecured** contient une implémentation basique de gestion de transactions bancaires.
|
||||
**Problème :** Sans mécanismes de protection, les accès concurrents entraînent des incohérences dans les soldes.
|
||||
- **[Accéder au répertoire Unsecured](./Unsecured)**
|
||||
- **Fichiers**:
|
||||
- `README.md`: Documentation sur l’utilisation du programme ainsi que des tests et observations.
|
||||
- `unsecured_transaction.c`: Code source.
|
||||
|
||||
|
||||
## 🔒 Transactions Sécurisées
|
||||
Le répertoire **Secured** contient une version améliorée avec des verrous (fonction lockf) pour résoudre les problèmes d'accès concurrent.
|
||||
- **[Accéder au répertoire Secured](./Secured)**
|
||||
- **Fichiers**:
|
||||
- `README.md`: Documentation sur l'implémentation sécurisée.
|
||||
- `secured_transaction.c`: Code source.
|
||||
|
||||
|
||||
## 🤝 Auteurs
|
||||
|
||||
Ce projet a été réalisé par :
|
||||
- Moncef STITI (@stiti)
|
||||
- Lenny FOULOU (@foulou)
|
Loading…
x
Reference in New Issue
Block a user