Conclusion
The file system that we have implemented is similar to the UNIX v7 file system. The command line interface enables the users to invoke system calls to manipulate directories and indivdual files. Some of the system calls implemented on directories included creating, renaming, deleting and modifying the path of directories. Some of the system calls on files include open, read, write, delete and append data.
The journaling mechanism implemented maintains a journal.txt
file, which stores all the successful OS calls. In case of a system crash, this file remains persistent and all the commands can be re run to bring back the system to the original state where it was.
Along with that, we have optimized our directory structure to resemble the modern dictionary based structure. This hierarchical directory structure has been implemented as an object with root directory at the top and each path terminates with a file at the end.
Future Scope
As a future scope, more functionality could be added to the tool. Error correction, and building a robust interface could be other inclusions.Extending the space available for inode blocks will enable the system to support greater number of files.