A Survey of File Systems
A Survey of File Systems
• LFS takes advantage of both to increase FS • There are two main challenges with LFS:
performance – 1. locating data written in the log
• FFS places files in a well-known location, LFS writes data “at the
• Solves some FFS problems: end of the log”
– FFS: placement improved, but can still have many small seeks – 2. managing free space on the disk
• possibly related files are physically separated • disk is finite, and therefore log must be finite
• inodes separated from files (small seeks) • cannot always append to log!
• directory entries separate from inodes – need to recover deleted blocks in old part of log
FFS: metadata required synchronous writes d t fill h l t db d bl k
1
LSF (3) Windows FAT
• How LFS locates data • “The” Windows FS up until NTFS became prevalent.
– Two flavors:
– LFS appends inodes to end of log, just like data • FAT16 (older, 2.1 GB file size limit)
• makes them hard to find • FAT32 (2 TB file size limit, new features)
– So, we use another level of indirection: inode maps
– inode maps map file #s to inode location, kept in a checkpoint • Basically, here’s how it works:
region – File Allocation Table (yes, actual table) at the top of the volume.
• Two copies kept in case one becomes damaged.
• Checkpoint region has a fixed location
– FAT location and root directory stored in fixed location for boot.
– Cache inode maps in memory for performance – Disk is allocated in ‘clusters’, the size of which is determined by the size of the
volume.
• Why do you think this is?
• LFS: append-only quickly eats up all disk space! – On file creation, entry is created in directory file as well as in FAT.
– need to recover deleted blocks • Files are given first open location in drive.
– fragment log into segments and thread on disk • If more than one cluster in file, entry in FAT points to next cluster.
Windows NTFS
• Windows Network File System
– Introduced with Windows NT and the default used for Windows XP.