A lightweight, educational Solid State Drive (SSD) simulator developed in C, designed to emulate basic file storage functionalities. This project was undertaken as part of the MC214 - Operating Systems course at [Your Institution Name].
This simulator provides a simplified model of an SSD, focusing on fundamental operations such as file creation, deletion, reading, and writing. It serves as a pedagogical tool to understand the internal workings of SSDs and the associated file management systems.
- File Operations: Simulates basic file operations including creation, deletion, reading, and writing.
- Block Management: Implements a rudimentary block management system to allocate and deallocate storage blocks.
- Wear-Leveling Simulation: Introduces a basic wear-leveling mechanism to mimic SSD longevity strategies.
- Command-Line Interface: Provides a simple CLI for user interaction and testing.
SSD-Simulator-in-C/
βββ ssd.c // Core implementation of the SSD simulator
βββ README.md // Project documentation
βββ Makefile // Build configuration (if applicable)
Upon execution, the simulator presents a command-line interface with options to perform various file operations. Users can input commands to create, read, write, or delete files, and observe how the simulator manages these requests internally.
Detailed documentation on the simulator's architecture, data structures, and algorithms can be found in the Wiki section of this repository.
This project was developed as part of the curriculum for the MC214 - Operating Systems course, aiming to provide hands-on experience with storage device simulations and deepen understanding of file system operations.
Contributions are welcome! If you have suggestions for improvements or new features, feel free to fork the repository and submit a pull request.