Back to projects
CSE321: Operating Systems · 2025

Mini-VSFS: Virtual File System Implementation

A small Unix-style file system written from scratch in C: one tool formats a disk image, another adds files to it, with checksums guarding every on-disk structure.

[ ARC ]

Architecture

On-disk layout with 4 KiB blocks; every structure carries its own checksum.

  1. 01

    Superblock

    Block 0

    • Magic 0x4D565346
    • Layout and counts
    • CRC32
  2. 02

    Bitmaps

    Blocks 1–2

    • Inode allocation
    • Data block allocation
  3. 03

    Inode table

    Block 3+

    • 128-byte inodes
    • 12 direct pointers
    • CRC32 per inode
  4. 04

    Data region

    • Files and directories
    • 64-byte entries, XOR check
[ KEY ]

Technical highlights

  1. 01

    Implemented mkfs_builder (formats an image) and mkfs_adder (writes a file and its directory entry) against a precise binary layout.

  2. 02

    Protected the superblock, inodes, and directory entries with checksums to detect corruption.

[ STK ]

Stack

  • C
  • File systems
  • Binary layouts
  • CRC32