When Linux was first developed, it supported only one filesystem - The
Minix filesystem. Today, Linux has the ability to support several
filesystems concurrently. This was done by the introduction of another layer
between the kernel and the filesystem code - The Virtual File System (VFS).
The kernel "speaks" with the VFS layer. The VFS layer passes the kernel's request to the proper filesystem management code. I haven't learned much of the VFS layer as I didn't need it for the construction of EXT2ED so that I can't elaborate on it. Just be aware that it exists.