File System Types
The Default File System for RH 7.3 is ext3 (Extended-3
File System)
-
journalled file system
-
keeps a transaction table
Other Unix/Linux journalled filesystems
-
JFS (used by IBM enterprise servers, available on Linux)
-
XFS (used by SGI, available for Linux)
-
ReiserFS (developed by NameSys for Linux)
Common File systems supported by Linux
-
FAT (File Allocation Table)
-
original FS used by DOS and Win 3.x
-
no security features
-
its weakness is that it wastes disk space
-
large cluster size when used with large partition size
-
a cluster is the smallest amount of space allocatable on
a disk partition
-
FAT16 (VFAT)
-
used by Win 95
-
supports long filenames
-
a FAT16 volume greater than 2,048MB gives you a cluster size
of 64K
-
means you will have an average of 32K of unused disk space
per file.
-
FAT32
-
file system used by OSR2 version of Win95
-
support file systems up to 2 Terabytes (2,0498 GB)
-
DOS, earlier versions of Win 95 and Win NT can't read FAT32
-
Default cluster size of 4K
-
more storage efficiency than FAT and FAT16
-
NTFS
-
used by Win NT and Win 2000 (NTFS v 5)
-
upgrading to Win 2000 upgrades NTFS to v 5
-
Journalled file system
-
keeps transaction table for easy recovery
-
UFS
-
ext2 (Extended-2 File System)
-
Most popular Linux file system
-
similar to most versions of UNIX
-
must use fsck to recover damaged file system
Structures that make up a UNIX file system
-
Each filesystem type has is own way of storing data on the
disk
-
Contain special structures which allow the OS to access the
data
-
Inodes
-
Contain all the information about a file except its name
and its data
-
location on the disk, size, permissions, owner, etc
-
directories contain the names of the files
-
Data blocks
-
a chunk of data stored on the disk, typically a 1024-byte
block
-
the data block contains file data or directory entries
-
Superblock
-
Contains the information about a file system
-
size of file system, number of inodes, number of free inodes,
etc
-
allows OS to mount the file system and access data
-
at mount time the information from the superblock
is stored in memory
# dumpe2fs /dev/hda2
-
Buffers
-
special areas in memory that hold data temporarily
-
minimizes seek time by reading ahead and storing in
buffers
-
flushed at certain intervals (every 30 seconds)
Maximum file size and file system size
-
2.2 kernel
-
i386 file size 2GB
-
Sparc or Alpha: 2**63
-
partition size 2.2 kernel 38GB
-
2.4 kernel on Intel arch
-
partition 2 TB
-
file size ext2 & ext3 2 TB
-
The Alpha architecture supports 8KB blocks thus larger
file and partition size
Some operating systems may not know how to read file systems
other than those native to them. Linux is a versatile operating system
and understands the file systems used by Windows 95, Windows 98, Windows
NT and Windows 2000
Diagram and text from http://home.att.net/~ejuke/papers/tlos1.0/filesys.htm
The Linux Virtual File System (VFS) allows Linux to support
many, often very different, file systems. Each of these filesystems are
presented to the VFS through a common software interface. The details of the
individual file systems are translated by software making the file systems
appear identical to the rest of the Linux kernel and to all of the other
processes in the system. Through this VFS layer, Linux allows you to
transparently mount the many different file systems at the same time.
Diagram of File System Layers:
