Ce projet contient des simulations de comportements de cache utilisant deux stratégies de remplacement : **Least Recently Used (LRU)** et **Random**. Chaque stratégie est implémentée dans son propre répertoire avec des fichiers de code source et de documentation.
- [🛠️ Générateur de Traces](#-générateur-de-traces)
## 📖 Description Générale
Le simulateur de cache permet d'analyser le comportement de deux stratégies de remplacement de cache : LRU et Random. Chaque méthode a ses propres principes de fonctionnement, avantages et inconvénients, qui sont détaillés dans leurs respectifs fichiers README.
## **[🗂 LRU](./lru)**
Le répertoire **lru** contient l'implémentation de la stratégie **Least Recently Used**. Cette méthode vise à conserver dans le cache les lignes qui ont été les plus récemment utilisées.
- **Fichiers**:
-`README.md`: Documentation détaillée sur la stratégie LRU.
-`cache.c`: Code source pour la simulation du cache utilisant LRU.
## **[🎲 Random](./random)**
Le répertoire **random** contient l'implémentation de la stratégie **Random**. Cette méthode choisit aléatoirement une ligne de cache à remplacer lorsque le cache est plein.
- **Fichiers**:
-`README.md`: Documentation détaillée sur la stratégie Random.
-`cache.c`: Code source pour la simulation du cache utilisant Random.
## **[📁 Traces](./traces)**
Le répertoire **traces** contient des fichiers de traces utilisés pour tester les simulations de cache. Chaque fichier de traces simule des accès mémoire pour évaluer les performances des différentes stratégies.
- **Fichiers**:
-`README.md`: Documentation sur les fichiers traces.
-`sample`, `sample1`, `sample2`: Exemples de fichiers de traces.
## **[🛠️ Générateur de Traces](./traces_generator)**
Le répertoire **traces_generator** contient des outils pour générer des fichiers de traces aléatoires pour tester le simulateur de cache.
- **Fichiers**:
-`README.md`: Documentation sur l'utilisation du générateur de traces.
-`trace_generator.c`: Code source pour générer des traces de manière aléatoire.