Sunday, January 6, 2013

Introduction



Hello Readers,
Welcome to FilesystemsForYou (FFY). In this journal we shall explore the world of file systems which is made out to be one of the most complex sub systems of an operating system. It is rich with varieties of file systems varying in their complexity, performance, reliabilty, popularity, and the target devices they are deployed on, to name a few differentiators.
This journal is primarity meant to serve fellow platform enthusiasts like myself to start learning this file systems from absolute basics. So I intend to cover this subject by building a strong base and not attaching the sub system to a particular operating system but understand file system alone as a independent sub system trying to a solve a particular problem. However, once the basic understanding is obtained, I wish to delve into operating system specific nuances of the file system and I choose linux as a case study for the following reasons.
1. Linux has and will continue to support all the file systems. File systems are just too many in numbers. Each with a distinct advantage and trade offs. There is not a single file system that is suitable for all purposes. Linux has been designed to plug in any file system. Thus studying file systems under the linux umbrella will help appreciate the breadth the file system and it's varying requirements.
2.  Linux frame work is completely object oriented. The framework abstracts lower level variations and complexities of the file systems through a layer called virtual file system. This abstrastion maximises user experience.No matter what filesystems are used underneath, for a linux user it seems there is no difference. There are many such abstractions in linux that makes it the reliable, fast, secure and easy to use operating system.
3. Linux evolves and evolves at a very fast rate. Thanks to the developer community that is helping us in this evolution by constantly updating and adapting the operating to system to cater to users accross the globe. A chance to study such a project will be exciting.
4. The application areas of linux is vast. Right from consumer front to research community, everyone these days is using linux. Study of file systems under linux enables us to see what makes linux so friendly.
This project is supposed to build file systems knowledge of a person ground up. So please read the journal from chapter one through the end. However if you have had some prior knowledge and are looking to study a particular aspect of file systems or something specific to linux file systems, you shall do so by jumping to the particular chapter by referring to the index. I will try my best to keep the chapters more cohesive and less coupled and provide hyperlinks as much as possible so that browsing the journal would be easy.
In the coming chapters we shall approach a particular engineering problem and solve it through the files systems. Let's start.
Continue to next post.