Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A virtual file system implementation in Rust that simulates a Unix-like file system with support for files, directories, and advanced features like indirect block addressing for large files.

Features:

  • Full File System Operations: Create, read, write, and delete files and directories

  • Hierarchical Directory Structure: Support for nested directories with Unix-like paths

  • Large File Support: Implements both direct and indirect block addressing for files up to 60KB+

  • Metadata Management: Tracks creation and modification timestamps for all files

  • Persistent Storage: All data is stored in a single binary file that can be mounted and unmounted

  • Memory Efficient: Uses bitmap-based allocation for both inodes and data blocks

  • Thread Safety: Designed with Rust's ownership principles for safe concurrent access

  • Comprehensive Testing: Includes test suites for:

    • Concurrent operations
    • Crash recovery
    • Large file handling
    • Basic file operations
    • Data persistency

Arhitecture:

  • SuperBlock: Stores file system metadata and layout information
  • Inode Table: Manages file and directory metadata
  • Data Blocks: 4KB blocks for storing actual file content
  • Bitmap Allocation: Efficient tracking of free inodes and data blocks
  • Direct & Indirect Blocks: Supports files of varying sizes efficiently

This project is open source and available under the MIT License.

About

A robust, Unix-inspired virtual file system implementation written in Rust. This project simulates a complete file system environment within a single persistent binary file, featuring hierarchical structures, metadata tracking, and advanced block addressing.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages