Crate keos_project5

Crate keos_project5 

Source
Expand description

Project 5: File System

Until project4, you have implemented the core features of modern OSes including memory, multi-threading, and scheduling. In Project 5, you will focus on implementing the file system, the abstraction of disk.

This project will involve introducing page cache for caching a file contents, and developing a fast file system with journaling to ensure data integrity and recoverability after a system crash or failure.

§Getting Started

To get started, navigate to the keos-project5/grader directory and run the following command:

$ cargo run

§Modifiable Files

In this project, you can modify the following files:

  • page_cache/mod.rs
  • ffs/inode.rs
  • ffs/journal.rs
  • ffs/fs_objects.rs
  • advanced_file_structs.rs

§Project Outline

Re-exports§

pub use process::Thread;

Modules§

advanced_file_structs
Extension of the FileStruct.
ffs
Fast File System (FFS).
lru
A Least Recently Used (LRU) Cache.
page_cache
Page Cache.
process
The process model for project5.

Macros§

const_assert 🔒

Enums§

SyscallNumber
Represents system call numbers used in project5.