McKusick, M.K., Joy, W.N., Leffler, S.J., and Fabry, R.S., A Fast File System For UNIX, ACM Transactions on Computer Systems, Vol. 2, No. 3 (August 1984), pp. 181-197. 2-line Summary: This paper describes a reimplementation of the Unix file system to improve performance. Details a number of improvements, but doesn't justify a lot of "magic" numbers. Performance Enhancements: First trick: Increase block size pros: can transfer more data at once from disk. pros: can have more data contained within blocks directly referenced from inode cons: many files are smaller than block size (solution: use fragments of blocks) Second trick: Keep reserve disk space pros: keeping reserve disk space allows disk allocation mgr to ensure that blocks belonging to the same file are placed together on disk cons: we're basically wasting 5-10% of the disk q: why 5-10% ? Third trick: improve layout policy * use physical characteristics of disk to inform layout policy * cluster related information (inodes, etc). * use global and local allocation routines Results: Performance improved greatly Functional Enhancements * long file names * advisory locks * symbolic links * rename system call * quotas