Back to Projects
Operating Systems

File System Implementation

A custom file system with journaling, extents-based allocation, and metadata management.

COperating SystemsFile SystemsKernel Development

A complete file system implementation with modern features like journaling for crash recovery and extents for efficient large file handling.

File System Features

  • Journaling: Write-ahead logging for metadata consistency
  • Extents: Efficient allocation for large files
  • Inode-based: Traditional Unix-style inode structure
  • Directory indexing: B-tree for fast directory lookups
  • Hard links and symbolic links: Full POSIX support

Implementation Details

The file system supports:

  • Block size: 4KB (configurable)
  • Maximum file size: 4TB
  • Maximum path length: 4096 characters
  • POSIX-compliant file operations
  • Efficient caching and buffering

Tools Built

  • mkfs utility for formatting
  • fsck for filesystem checking and repair
  • Mount/unmount support
  • Debugging and inspection tools