I classify file systems into three categories, based on how they are accessed: device level, out of kernel, and vnode level.