File systems and writing one I am going through the following series of lectures on OS development .

http://www.brokenthorn.com/Resources/

In the fourth tutorial , I came across the term " OEM" parameter block that stores the windows MBR and the Boot-record information whose soul purpose is to describe the file system on the disk .

And then  on moving to the following tutorial ,by taking the authors promise to explain about it at a later opportune point , I came across the term "FAT" file system . And I could see that there were few terms in the parameter block  like "bpbNumberofFATS" and "bpbsectorsperFAT" . 
"FAT" stands for "File Allocation Table" and it is a again a "filesystem" . 

This got me confused as "OEM" parameter block is used to describe the filesystem on a disk . And if "FAT" itself is a file system , then that means and surely there are other file systems ,which could have been on that disk . Why will the "OEM" block predefine the file system in terms of "FAT".

On reading a bit about other file systems , I came across statements like "FAT was written by .." . And it further piqued me to ask , what does it mean to write a filesystem ?

So , basically I am confused about :


What exactly is a filesystem ? (Is it a kind of coordinate system to provide information about the storage of the contents of the file ?)
How is a file system written ?


There are a lots of other file systems , OEM is used to describe the file system on a disk , so why OEM has parameters concerned about FAT's ? And who sets the filesystem of a disk and how ?
The MBR refers to the format used by (many but not all, and slowly being replaced by GPT) disk to identity partitions. A partition is simply a contiguous range of blocks on the disk. A partition is often used to store data, in the form of files and directories. But of course a disk knows nothing about files and directories. A file system is a system that controls how your data is stored on the disk. A file system is really two things:


it specifies how the data is organized and accessed (directories, files, links, permissions, encryption, ...): this is the logical aspect
it specifies how this data is encoded on the disk: this is physical aspect


There exists many file systems: FAT, exFAT, NTFS, ext, btrfs, HFS, XFS,  ISO 9660 and others. FAT is a file system invented by Microsoft. What this means is that they designed the logical and physical aspects of it, and they applied and were granted a few patents on it. They also wrote the Windows driver for FAT, but note that anyone can do that (assuming the file system is properly documented and ignoring royalties issues) and indeed linux and MacOS have their own driver which follows Windows's specification.

Now as I explained a file system specifies how the data is encoded on the disk and FAT is not exception. The first sector of a FAT partition (also known as the boot sector, or super block) is what is described in the link you gave: is starts with 3 bytes for a jump instruction and is followed by the BIOS/OEM Parameter Block (which has a different format on FAT12, FAT16 and FAT32). This OEM block is specific to FAT and does not exist on other file systems. Other file systems use a different format. I might add that calling this the OEM/BIOS block was very unfortunate because it really has little to do with BIOS or OEM, but that was the name Microsoft came up with. It should really be called the FAT Parameter Block.

To finish, designing a good file system is hard because they are many trade-offs to make. FAT is simple and relatively robust, but sucks at about everything else if I may say. Sadly it is also the only file system that all OSes support and so is the de facto standard for interoperability.