A Fast File System for UNIX
McKusick, Marshall K.
and
Joy, William N.
and
Leffler, Samuel J.
and
Fabry, Robert S.
ACM Trans. Comput. Syst. - 1984 via Local Bibsonomy
Keywords:
dblp
The Fast Filesystem (FFS) improved the read and write throughput of the original Unix file system by 10x by
1. increasing the block size,
2. dividing blocks into fragments, and
3. performing smarter allocation.
The original Unix file system, dubbed "the old file system", divided disk drives into partitions and loaded a file system on to each partition. The filesystem included a superblock containing metadata, a linked list of free data blocks known as the free list, and an inode for every file. Notably, the file system was composed of 512 byte blocks; no more than 512 bytes could be transfered from the disk at once. Moreover, the file system had poor data locality. Files were often sprayed across the disk requiring lots of random disk accesses.
The "new file system" improved performance by increasing the block size to any power of two at least as big as 4096 bytes. In order to handle small files efficiently and avoid high internal fragmentation and wasted space, blocks were further divided into fragments at least as large as the disk sector size.