Evolution of UNIX File Systems: A Comprehensive Overview

 
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 – 
iN
ode
 
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
B
lock 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 2
n 
* 4096
Huge waste -> use 
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
 
EECS 582 – W16
 
EECS 582 – W16
 
Space Allocation
 
EECS 582 – W16
 
Space Allocation
 
EECS 582 – W16
 
Space Allocation
 
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
 
Parameterization and Layout Policies
 
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
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.

  • Evolution of UNIX
  • File Systems
  • Performance
  • Cylinder Groups
  • Block Allocation

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

More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#