Linux File System

You must have heard of a term called “file system”.  When working with windows one need not worry about the file system much because for windows the default file system is NTFS. But, since Linux is so open, you need to know about the file system well to understand Linux well.

Now, what exactly is a file system and why on earth do we even need a file system?

There is the memory in our computers and everything we store in our computers is stored in the hard disk. Now, when we store the data, it is not stored in the way you see it. The data gets stored in the form of bits and bytes. So, basically whatever you save, be it text or video or image it gets stored in the form of 1s and 0s. File system helps you to store and retrieve data in a very organized way.

Like cupboard. When you have a cupboard there is a certain way in which you keep clothes. Your party clothes in the hanger and the ones you wear daily in the slab and likewise. When defining file systems there are several attributes which are necessary, these include your max file size, max partition size, whether the file system is the journal or not.

What is Journaling?

A journaling file system is far more reliable than others when it comes to data storage because of the consistency that they provide. In a non-journaled file system, if a failure occurs when you are saving the file, the save will not complete and one ends up with a corrupted data and an inconsistent file system. However, the journaling file system, instead of directly storing the data in the hard drive, first writes it to another part of the hard drive and notes the necessary changes to a log, then in the background it goes through each entry in the journal and begins to complete the task, when the task is completed, it checks it off on the list. Hence, making the file system consistent.

Now, Linux supports different file systems.

There are the conventional file systems like – ext2, ext3, ext4, XFS, Btrfs, JFS, NTFS.

Then we have the flash storage file systems like – Ubi fs, JFFS2, YAFFS etc.

Linux also supports database file systems and even special purpose file systems like process, sysfs, tempfs, debugfs etc.

The Tech World



Leave a comment