Expand description
§Extension of the FileStruct.
Up to this point, you have implemented a fully functional file system.
Now you will extend the basic FileStruct interface to provide
higher-level functionality. The AdvancedFileStructs trait builds on
the existing interface by introducing additional operations that are
essential for a complete and usable file system. These include support
for creating and removing files (create, unlink), managing directories
(mkdir, chdir), enumerating directory entries (readdir), retrieving
file metadata (stat), and ensuring persistence with fsync.
§Implementation Requirements
You need to implement the followings:
AdvancedFileStructs::createAdvancedFileStructs::mkdirAdvancedFileStructs::unlinkAdvancedFileStructs::chdirAdvancedFileStructs::readdirAdvancedFileStructs::statAdvancedFileStructs::fsync
§Final Remarks
🎉 Congratulations! By completing this section, you have successfully finished the entire KeOS project. You have built, from the ground up, a minimal yet fully functional operating system capable of running multi-threaded user processes, managing virtual memory, and supporting a journaling file system.
Through this journey, you’ve gained hands-on experience with core OS subsystems - process scheduling, memory protection, system calls, page tables, file abstraction, and crash-consistent storage. This experience provides deep insight into the “invisible” responsibilities of the operating system to support software. Whatever you work with software engineering or pursue low-level engineering, the knowledge and skills you’ve developed here form a strong foundation to understand how your program works on the computer.
Structs§
- Dentry
- Represents a directory entry as visible to user-space programs.
- Stat
- Represents the basic metadata of a file or directory exposed to user-space.
Traits§
- Advanced
File Structs - A trait for extending file operation functionality.