A Fast File System for UNIX

A Fast File System for UNIX

August 1984 | MARSHALL K. MCKUSICK, WILLIAM N. JOY, SAMUEL J. LEFFLER, and ROBERT S. FABRY
A reimplementation of the UNIX file system is described, which provides significantly higher throughput by using more flexible allocation policies that improve locality of reference and adapt to various peripheral and processor characteristics. The new file system clusters sequentially accessed data and provides two block sizes to allow fast access to large files without wasting space on small files. File access rates are up to ten times faster than the traditional UNIX file system. Enhancements to the programmers' interface include advisory file locks, extended name spaces across file systems, long file names, and administrative control of resource usage. The original UNIX file system, with 512-byte blocks, had limited throughput when used on systems like the VAX-11, as it could not meet the data throughput needs of applications such as VLSI design and image processing. Modifications were made to improve performance, including increasing block size from 512 to 1024 bytes, which doubled throughput but still used only about four percent of disk bandwidth. The old file system's free list became random over time, leading to poor performance. The new file system uses a 4096-byte block size, allowing files up to 2^32 bytes. It divides disk partitions into cylinder groups, each with its own bookkeeping information, including a redundant superblock, inodes, and a bit map of available blocks. The new system allows for more efficient storage utilization by dividing a single block into fragments, reducing wasted space. It also uses a more efficient allocation strategy, minimizing seeks and improving throughput. The new file system's layout policies aim to improve performance by clustering related data and optimizing block placement. It uses global and local allocation policies to decide where to place new nodes and data blocks. The system also includes enhancements such as long file names, file locking, symbolic links, and rename operations. Quotas are added to restrict user resource usage. Performance improvements include faster read and write speeds, with the new system using up to 47% of disk bandwidth compared to the old system's 3-5%. The new system's performance is limited by memory-to-memory copy operations, but it is more efficient than the old system. The new file system also supports remote file system access and allows for symbolic links that span machines. The system has been tested and shown to significantly improve throughput and performance.A reimplementation of the UNIX file system is described, which provides significantly higher throughput by using more flexible allocation policies that improve locality of reference and adapt to various peripheral and processor characteristics. The new file system clusters sequentially accessed data and provides two block sizes to allow fast access to large files without wasting space on small files. File access rates are up to ten times faster than the traditional UNIX file system. Enhancements to the programmers' interface include advisory file locks, extended name spaces across file systems, long file names, and administrative control of resource usage. The original UNIX file system, with 512-byte blocks, had limited throughput when used on systems like the VAX-11, as it could not meet the data throughput needs of applications such as VLSI design and image processing. Modifications were made to improve performance, including increasing block size from 512 to 1024 bytes, which doubled throughput but still used only about four percent of disk bandwidth. The old file system's free list became random over time, leading to poor performance. The new file system uses a 4096-byte block size, allowing files up to 2^32 bytes. It divides disk partitions into cylinder groups, each with its own bookkeeping information, including a redundant superblock, inodes, and a bit map of available blocks. The new system allows for more efficient storage utilization by dividing a single block into fragments, reducing wasted space. It also uses a more efficient allocation strategy, minimizing seeks and improving throughput. The new file system's layout policies aim to improve performance by clustering related data and optimizing block placement. It uses global and local allocation policies to decide where to place new nodes and data blocks. The system also includes enhancements such as long file names, file locking, symbolic links, and rename operations. Quotas are added to restrict user resource usage. Performance improvements include faster read and write speeds, with the new system using up to 47% of disk bandwidth compared to the old system's 3-5%. The new system's performance is limited by memory-to-memory copy operations, but it is more efficient than the old system. The new file system also supports remote file system access and allows for symbolic links that span machines. The system has been tested and shown to significantly improve throughput and performance.
Reach us at info@study.space
[slides] A fast file system for UNIX | StudySpace