Evolution of UNIX File Systems: A Comprehensive Overview

Slide Note
Embed
Share

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.


Uploaded on Sep 24, 2024 | 0 Views


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


  1. 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

  2. Outline Traditional file system -> Old file system New file system Performance Conclusion EECS 582 W16

  3. 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

  4. 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

  5. iNode EECS 582 W16

  6. 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

  7. 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

  8. Problems Scrambled free list File blocks allocated randomly over disk Only using 4% disk bandwidth EECS 582 W16

  9. 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

  10. 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

  11. Enough space in already allocated block or fragment Space Allocation Yes Fill new data EECS 582 W16

  12. 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

  13. 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

  14. 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

  15. Functional Enhancement Long file names File locking Symbolic links Rename Quotas EECS 582 W16

  16. Performance Reading rates EECS 582 W16

  17. Performance Writing rates EECS 582 W16

  18. 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

  19. Q&A? EECS 582 W16