Notes

  • Fast Filing System (FFS)
    • 1984 BSD
      • Operated ~4% of hypothetical peak efficiency (yikes)
    • 3BSD
      • Better layout
      • Locality
        • Keep metadata closer to the data
        • Keep files in a directory closer together
        • Prevent file fragmentation
      • Increase disk block size
        • (Well that sounds familiar)
        • Faster & fewer I/Os
        • Keep more packed pointers together
    • Innovations
      • Physical layout: cylinder-head-sector (CHS)
      • Understood processor speed & disk rotational speed
        • Disk interleaving factors, when the disk is spinning vs CPU is working
        • Faster CPU = lower interleaving
      • Logical blocks made of multiple physical blocks
      • Directory layout
        • Directories need to use the cylinders
        • Many algorithms, but they tended to degrade if the disk was more than 90% full
      • Symlinks
        • Limited number of hardlinks
      • Quotas
        • User and group storage limits
      • Shared & exclusive locks