Skip to content

A lightweight SSD simulator in C, built for my MC214: Operating Systems course. It supports basic file operations, block management, and a simple wear-leveling mechanism, offering a command-line interface to explore core storage and file system concepts.

Notifications You must be signed in to change notification settings

devanshk01/SSD-Simulator-in-C

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 

Repository files navigation

SSD-Simulator-in-C

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].

πŸ“˜ Overview

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.

πŸ› οΈ Features

  • 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.

πŸ“‚ Project Structure

SSD-Simulator-in-C/
β”œβ”€β”€ ssd.c         // Core implementation of the SSD simulator
β”œβ”€β”€ README.md     // Project documentation
└── Makefile      // Build configuration (if applicable)

πŸ§ͺ Usage

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.

πŸ“– Documentation

Detailed documentation on the simulator's architecture, data structures, and algorithms can be found in the Wiki section of this repository.

πŸŽ“ Academic Context

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.

🀝 Contributing

Contributions are welcome! If you have suggestions for improvements or new features, feel free to fork the repository and submit a pull request.

About

A lightweight SSD simulator in C, built for my MC214: Operating Systems course. It supports basic file operations, block management, and a simple wear-leveling mechanism, offering a command-line interface to explore core storage and file system concepts.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages