Skip to content

A tool for recovering and optimizing file systems by simulating disk crashes and implementing recovery mechanisms.

Notifications You must be signed in to change notification settings

ravadasashank/File-System-Recovery-Optimizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

19 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“‚ File System Recovery & Optimization Tool

πŸ”Ή Description:
A powerful tool for recovering, optimizing, and visualizing file systems. This project implements free-space management, directory structures, journaling-based recovery, and optimization techniques for file storage.


πŸ›  Features

βœ… File System Management

  • Create, delete, and manage files & directories
  • Free-space management using Bitmap, Linked List

βœ… Recovery & Crash Simulation

  • Simulate disk failures, accidental deletions, and power failures
  • Implement journaling, checkpointing, and redundancy techniques

βœ… Optimization & Performance

  • Implement LRU caching & B-Tree-based indexing
  • Visualize disk fragmentation, storage efficiency, and optimization improvements

🎯 How It Works

πŸ—οΈ 1. File System Management

  • Simulates a virtual file system (like ext4/FAT32).
  • Uses bitmaps & linked lists for efficient space tracking.

πŸ”„ 2. Recovery Mechanisms

  • Journaling: Logs file operations to prevent corruption.
  • Checkpointing: Saves periodic states for rollback.
  • Backup & Redundancy: Restores lost files.

πŸš€ 3. Optimization & Visualization

  • Implements LRU caching for faster file access.
  • Uses matplotlib to visualize disk usage.

πŸ“œ Installation

πŸ”Ή Requirements

Ensure you have the following installed:

  • Python 3.x
  • Required libraries:
    pip install matplotlib networkx sqlite3

About

A tool for recovering and optimizing file systems by simulating disk crashes and implementing recovery mechanisms.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages