Evolution of UNIX File Systems: A Comprehensive Overview
This insightful presentation delves into the evolution of file systems in UNIX, starting from the traditional file system developed at Bell Labs to the more sophisticated approaches adopted at Berkeley. It highlights key issues faced by older systems, such as low throughput and scattered block allocation, and discusses the enhancements made in newer systems, including cylinder groups and efficient block allocation strategies. The visual aids provide a clear understanding of the concepts presented in the lecture.
Download Presentation
Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
E N D
Presentation Transcript
A Fast File System for UNIX By Marshall Kirk McKusick, William N. Joy, Samuel J. Leffler, Robert S.Fabry Presented by Ya-Yun Lo EECS 582 W16
Outline Traditional file system -> Old file system New file system Performance Conclusion EECS 582 W16
Traditional File System Developed at Bell Labs Each disk drive is divided into one or more partitions Each disk partition can contain one file system File system never spans multiple partitions EECS 582 W16
iNode Each file has a descriptor associated with it iNode File attributes Ownership of the file Time stamps marking last modification Access times for the file Array of indices that point to data blocks EECS 582 W16
iNode EECS 582 W16
Problems Low throughput Transfer only 512 bytes once, at most Long seek time No read-ahead Almost every access needs seek Files in single directory are not typically allocated consecutive slots for iNode information EECS 582 W16
Old File System Developed at Berkeley Increased Reliability Staging modifications to critical file system information so that they could either be completed or repaired cleanly after a crash Increased Throughput Block size from 512 bytes to 1024 bytes EECS 582 W16
Problems Scrambled free list File blocks allocated randomly over disk Only using 4% disk bandwidth EECS 582 W16
New File System Cylinder groups One or more consecutive cylinders on a disk Redundant copy of super-block Increased block size to 2n * 4096 Huge waste -> use Fragment Fragment EECS 582 W16
Fragment Divide a block into one or more fragments Fragment size is specified at the time that the file system is created: 2, 4, or 8 fragments of a block Minimal fragment size is 512 bytes Bits in map Fragment Numbers Block Numbers XXXX 0-3 0 XXOO 4-7 1 OOXX 8-11 2 OOOO 12-15 3 EECS 582 W16
Enough space in already allocated block or fragment Space Allocation Yes Fill new data EECS 582 W16
Enough space in already allocated block or fragment Space Allocation No Yes Fill new data The file contains no fragment Fill new data in extra space in already allocated block Remainder larger than a block Yes No Yes Allocate one or more fragments and fill with new data Allocate a block and fill with new data EECS 582 W16
Enough space in already allocated block or fragment Space Allocation No Yes Fill new data The file contains no fragment Fill new data in extra space in already allocated block Remainder larger than a block Yes No New data + fragments data > block size No Allocate a block Copy fragments data to the beginning and then fill with new data Yes Yes Allocate one or more fragments and fill with new data No Allocate a block and fill with new data Allocate a block with necessary fragments Copy fragments data to the beginning and then fill with new data EECS 582 W16
Parameterization and Layout Policies Parameterization blocks can be allocated in an optimum configuration-dependent way Layout policies Increase locality of reference to minimize seek latency Improve layout of data to make larger transfers possible EECS 582 W16
Functional Enhancement Long file names File locking Symbolic links Rename Quotas EECS 582 W16
Performance Reading rates EECS 582 W16
Performance Writing rates EECS 582 W16
Conclusion Basis for UNIX File System Larger block size leads to higher throughput rate Effective iNode layout policy Uses up to 47% bandwidth Faster reads and writes EECS 582 W16
Q&A? EECS 582 W16