Download presentation
1
File Systems Examples
2
MS-DOS File System Naming: 8+3 in upper case
Directories: Hierarchical directory structure No soft or hard links 32 byte directory entry Max file size: 232 = 4 GB (not possible due to other reasons)
3
FAT MS-DOS uses a File Allocation Table (FAT)
FAT-12, FAT-16, FAT-32 based on # bits in disk address Disk block is some multiple of 512 bytes Block size also known as cluster size in Microsoft terminology 1st MS-DOS version used FAT-12 with 512-byte blocks Partition size: 212*512, actually 4086*512 ~ 2 MB Memory space: 4096 entries of 2 bytes each Later versions had variable disk block sizes 16 MB partitions MS-DOS supported 4 disk partitions 64 MB disks MS-DOS uses FAT to track free disk blocks Mark free blocks with special code Does not need free-list of bitmap
4
FAT-16 and FAT-32 FAT-16: 16-bit disk pointers, with varying block sizes Block sizes from 512 bytes to 32 KB were supported Memory requirement: 216*2 bytes = 128 KB Largest disk partition: 216*32 KB ~ 2 GB Total of 8 GB disk space FAT-32: 28-bit disk pointers Introduced with 2nd version of Windows 95 Theoretical partition size: 228*32 KB Internal representation using 32-bits and 512-byte sectors 2 TB Pros over FAT-16: other than larger disks 8 GB can be single partition Smaller block size can be used for same disk partition
5
FAT Comparison
6
Windows 98 FS Uses FAT-32 and long file names New directory structure:
Also used in Windows Me New directory structure: How to store long file names? Challenge: compatibility with earlier DOS versions Solution: 2 names: DOS compliant (8 + 3), and original name SampleFile is also known as SAMPLE~1
7
Storing Long File Names
Use long file name fields to store the longer file name Attributes field ensures that MS-DOS ignores these entries Checksum
8
NTFS Partition also called a volume
Cluster size from 512 bytes to 64 KB, usually 4 KB used Addressing: uses logical cluster numbers File Structure: object with certain attributes Opposed to stream of bytes in MS-DOS and UNIX User data in data attributes NTFS disk structure: 12% allocated for MFT area
9
Master File Table (MFT)
Every system component is a file, and MFT is most imp. Has information of every other file on the disk MFT divided into records of fixed size (1 to 4 KB) Each record corresponds to a file Each file described by one or more records Small (resident) attributes are stored in MFT record For small files, even data might be stored in MFT record Large (nonresident) attributes stored on disk Pointer stored in MFT For files with large # of attributes, or high fragmentation Base file record has info of other records with file info
10
MFT Record Attributes
11
MFT Record for 3-run, 9-block file
12
Storing Large Files
13
Other Details Each file in NTFS has unique ID called File Reference
64 bit in length with 48-bit file number, 16-bit sequence number File number is array slot in MFT for that file Sequence number incremented on every MFT reuse Used for internal consistency checks Directory Structure As a B+ Tree: no tree reorganization, height of all leaves same Index root of dir contains top level of B+ Tree Might point to disk extents (seq. of contiguous blocks) for large dirs Each dir entry has name, file ref., copy of update timestamp, size
14
NTFS vs FAT directory structure
15
NTFS Metadata First 16 NTFS files are system files, called metafiles
Disk structure: The first NTFS file is the MFT file Second file contains copy of 1st 16 entries of MFT Next few files are also special $LogFile: metadata updates to FS $Volume: housekeeping info $Attrdef: list of attributes on volume $. : root directory $Bitmap: volume free space bitmap $Boot: boot sector $Quota: users rights on disk space (from NT5)
16
NTFS Journaling All FS data structure updates done within transactions
Before altering a data structure write redo and undo information Write commit record to log after a successful update Restore FS data structure after a crash by processing log Redo committed transactions, and undo unsuccessful ones Periodically write a checkpoint record to log Log records before checkpoint not required Note: Journaling does not ensure file data consistency
17
WinFS Bridge worlds of file systems, relation DBs, objects, XML
Eg. Store your data as object relations, which is also useful to other apps Just too much work to be done! Rewrite OS (apps), compatibility with NTFS, …
18
Unix V7 FS Structured as a tree, starting at the root
File names are 14 ASCII chars, other than / and NUL Directories: one entry for each file Each entry has 2 fields: file name (14 bytes) & i-node # (2 bytes) Number of files is 216 = 64 K
19
Unix I-nodes I-node attributes: size, times (creation, modification, last access), owner, group, protection, num. of link pointers
20
Steps for /usr/ast/mbox
21
Linux ext2 File System Very common on Linux systems Extends on Unix FS
Generic code in /usr/src/linux/fs ext2 specific code in /usr/src/linux/fs/ext2 Disk partitioned into “block groups” Ext2fs block structure: Similar to FFS cylinder groups
22
The Linux Ext2fs File System
File Allocation: first select a block group For data blocks, tries to allocate block to group with file’s i-node For i-node allocations, selects group of file’s parent’s dir Directory files are dispersed across all block groups Within block groups, tries to allocate contiguous blocks Uses a bitmap for free blocks in the group For first blocks for a file, searches free block from the beginning For extending file, search for a free byte in bitmap from last alloc If no free byte, then choose any free bit After choosing block, back track to not leave holes!
23
Ext2fs Block-Allocation Policies
24
Linux Virtual File System
Operations differ on various OSes Linux provides abstraction called virtual file system (VFS) The Linux VFS is designed around OO principles is composed of two components: Set of definitions defining what a file object is allowed to look like inode-object & file-object structures represent individual files the file system object represents an entire file system A layer of software to manipulate those objects
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.