Download presentation
Presentation is loading. Please wait.
Published byAdelia Hudson Modified over 9 years ago
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 2 n * 4096 Huge waste -> use 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 EECS 582 – W16
11
Enough space in already allocated block or fragment Fill new data Yes Space Allocation
12
EECS 582 – W16 Enough space in already allocated block or fragment The file contains no fragment Remainder larger than a block Allocate a block and fill with new data Allocate one or more fragments and fill with new data No Yes No Fill new data in extra space in already allocated block Yes Fill new data Yes Space Allocation
13
EECS 582 – W16 Enough space in already allocated block or fragment The file contains no fragment Remainder larger than a block Allocate a block and fill with new data Allocate one or more fragments and fill with new data New data + fragments data > block size Allocate a block Copy fragments data to the beginning and then fill with new data Allocate a block with necessary fragments Copy fragments data to the beginning and then fill with new data No Yes No Yes Fill new data in extra space in already allocated block Yes Fill new data Yes Space Allocation
14
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
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
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.