Saturday, April 6, 2013

Linux File System : Ext2 vs Ext3 vs Ext4

         
                                      Linux can read and write several file systems because linux work on VFS (Virtual file system )layer that is a data abstraction layer between the kernel and the programs in userspace that issue file system commands.Famous Linux file system are Ext2,Ext3,Ext4.


Ext2 :

                      Ext2 was the standard file system for linux Kernel 1.0.Ext2 stands for second extended file system..Ext2 is flexible,can handle file system up to 4 TB,and supports long filenames up to 1012 characters.Drawback in ext2 filesystem is when  a file system is uncleanly mounted(system crash) ,the whole file system must be checked.This takes a long time on large file systems.


Ext2 does not have journaling feature.
On flash drives, usb drives, ext2 is recommended, as it doesn’t need to do the over head of journaling.
Ext3 support 16 TiB of maximum file system size and 2 TiB of maximum file size.


Ext3 : 

                     Ext3 is basically ext2 + a journal.After an unexpected power failure or system crash (also called an unclean system shutdown), each mounted ext2 file system on the machine must be checked for consistency by the e2fsck program.This is a time-consuming process.Ext3′s uses journaling filesystem which keeps a journal or log of the changes that are being made to the filesystem during disk writing.This allows a computer to be rebooted much more quickly after a system crash.Maintaining the journal adds a certain amount of overhead , but improves filesystem reliability and reduces fsck times

It was introduced in 2001. Developed by Stephen Tweedie.
Starting from Linux Kernel 2.4.15 ext3 was available.
In ext3 a directory can have at most 32,000 subdirectories
You can convert a ext2 file system to ext3 file system directly


Ext4 : 

                   The ext4 file system is designed with many new advanced features.Ext4such as the ones destined to store the file data.unlike Ext3  mostly about adding journaling to Ext2,Ext4 made some important data structures modification in the filesystem.Ext4 fully 64-bit capable,but only uses 48 bit block addressing which can support volumes with sizes up to 1 exbibyte and files with sizes up to 16 tebibytes.It also add checksum to the journal which make the journal more reliable.it uses "multiblock allocator",In Ext3 when a new data is written it uses a Block allocator decide whcih free blocks is used to write the date and it only allocate one block at a time(4KB),means if it had to write a data of 10MB ,it has to call the block allocator 2560 times.With the multiblock allocator it allocate many blocks in a single call,instead of single block per call.

Maximum volumes sizes up to 1 exbibyte
Maximum files with sizes up to 16 tebibytes
Backward compatibility
In ext4 a directory can have at most 64,000 subdirectories
Ext4 uses checksums in the journal to improve reliability

No comments:

Post a Comment