Skip to content

A custom file system built from scratch using the C programming language. This project explores low-level file handling, memory management, and operating system concepts. It's a hands-on learning journey to understand how file systems work under the hood.

Notifications You must be signed in to change notification settings

Bipin1-code/File_System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🗂️ MyFileSystem A simple custom file system written in C to understand how real file systems work at the system level.

📌 What is a File System? A file system is the method and data structure an operating system uses to control how data is stored, retrieved, and organized on storage devices like hard drives, SSDs, or flash drives.

In short, a file system: -> Organizes data into files and directories -> Manages read/write access -> Keeps track of metadata (file name, size, permissions, etc.) -> Ensures data consistency and integrity

🎯 What Are We Trying to Achieve? This project is a personal exploration into building our own custom file system—from scratch.

Some key goals: -> Create basic file system functionality (create, read, write, delete files) -> Implement directory structures -> Handle metadata and simple access control -> Store files in a custom binary format or in memory

By the end, we hope to simulate how real-world file systems like FAT, ext, or NTFS operate under the hood.

🤔 Why Are We Doing This? We're doing this to: -> Deepen our understanding of how file systems work at a low/system level -> Learn through observation, trial-and-error, and hands-on coding -> Strengthen C programming and memory management skills -> Build something cool and educational from scratch!

This is more of a learning journey than a production-ready system—so expect to see a mix of study, experimentation, and improvement over time.

🛠️ Technologies Used Language: C Tools: GCC, Emacs Platform: Linux/Unix (preferred for easier system-level access), WLS

🚧 Work in Progress This repository is actively being developed as part of a learning process. Feel free to explore, suggest improvements, or fork it for your own experiments!

📚 Learning Resources Here are a few helpful topics and references we're using: -> File system internals (FAT32, ext2) -> Operating System design books -> Linux file APIs (fopen, read, write, etc.) -> Memory management in C -> Disk storage simulation

🤝 Contributions While this is primarily a personal learning project, you're welcome to open issues, suggest enhancements, or ask questions. Collaboration helps us all learn better!

About

A custom file system built from scratch using the C programming language. This project explores low-level file handling, memory management, and operating system concepts. It's a hands-on learning journey to understand how file systems work under the hood.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages