This is my second attempt at making a file system, after an abandoned project in C#. This new version, written in C, maintains the same working principle but was implemented and documented more seriously.
I'll use it as a means to better understand the functioning of file systems. After completing it, I plan on analysing it's biggest problems and limitations and design a new one to hopefully improve on the design.
This file system is experimental and lacks a lot of features most FSes have. I haven't finished implementing it yet, and even when I do, it WILL be missing features, since they were purposefully not included in the specification. These include but are not limited to file ownership, group permissions and links.
You can find the specifications for the system under doc/DataStructures.md
.
More documentation can be generated by running make doc
or doxygen Doxyfile
.
This filesystem implementation was written to work with Linux and to be build with gcc
. To generate part of the docs you will need doxygen
.