A Unix virtual file system written in Java for use in the ThreadOS virtual operating system. This was the final project for my operating system concepts class at UWB. In this project we were asked to assemble a file system which supports the raw reading and writing of bytes to and from a virtual disk. This file system can format the disk using blocks of a specified size, and keeps track of which files are stored in which blocks via inodes. The inodes themselves can be linked together using indirect indexing to support larger file sizes (those that exceed the number of direct block pointers in the original inode). Lastly, the file system supports disk caching when reading and writing files so as to increase throughput.
In addition to learning about file systems (by implementing one), this project taught me a fair amount about shell commands and programming in Java.
See attached PDF for source code!
© 2025 • All content within this project is strictly the property of Alexander Johnson and is not for public use without permission.
Comments