August 1984 | MARSHALL K. MCKUSICK, WILLIAM N. JOY, SAMUEL J. LEFFLER, and ROBERT S. FABRY
This paper presents a reimplementation of the UNIX file system that significantly improves throughput rates by using more flexible allocation policies and adapting to a wide range of peripheral and processor characteristics. The new file system clusters data accessed sequentially and provides two block sizes to optimize access for large files while minimizing space waste for small files. File access rates are up to ten times faster than the traditional UNIX file system. The paper discusses enhancements to the programmers' interface, including advisory locks, extensions to the name space, support for long file names, and administrative control over resource usage. The new file system organization divides disk partitions into cylinder groups, uses a 4096-byte block size, and employs a bit map for block availability. It also introduces a free space reserve to maintain optimal performance and supports parameterization to adapt to different hardware characteristics. The performance improvements are demonstrated through empirical studies, showing that the new file system achieves higher utilization of disk bandwidth and better locality of reference. Additionally, the paper introduces functional enhancements such as long file names, file locking, and symbolic links, without requiring changes to the underlying data structures or semantics visible to application programs.This paper presents a reimplementation of the UNIX file system that significantly improves throughput rates by using more flexible allocation policies and adapting to a wide range of peripheral and processor characteristics. The new file system clusters data accessed sequentially and provides two block sizes to optimize access for large files while minimizing space waste for small files. File access rates are up to ten times faster than the traditional UNIX file system. The paper discusses enhancements to the programmers' interface, including advisory locks, extensions to the name space, support for long file names, and administrative control over resource usage. The new file system organization divides disk partitions into cylinder groups, uses a 4096-byte block size, and employs a bit map for block availability. It also introduces a free space reserve to maintain optimal performance and supports parameterization to adapt to different hardware characteristics. The performance improvements are demonstrated through empirical studies, showing that the new file system achieves higher utilization of disk bandwidth and better locality of reference. Additionally, the paper introduces functional enhancements such as long file names, file locking, and symbolic links, without requiring changes to the underlying data structures or semantics visible to application programs.