The RTEMS filesystem framework was intended to be compliant with the
POSIX Files and Directories interface standard. The following filesystem
characteristics resulted in a functional switching layer.
Figure of the Filesystem Functional Layering goes here.
This figure includes networking and disk caching layering.
Application programs are presented with a standard set of POSIX
compliant functions that allow them to interface with the files, devices
and directories in the filesystem. The interfaces to these routines do
not reflect the type of subordinate filesystem implementation in which
the file will be found.
The filesystem framework developed under RTEMS allows for mounting
filesystem of different types under the base filesystem.
The mechanics of locating file information may be quite different
between filesystem types.
The process of locating a file may require crossing filesystem
boundaries.
The transitions between filesystem and the processing required to
access information in different filesystem is not visible at the level
of the POSIX function call.
The POSIX interface standard provides file access by character
pathname to the file in some functions and through an integer file
descriptor in other functions.
The nature of the integer file descriptor and its associated
processing is operating system and filesystem specific.
Directory and device information must be processed with some of the
same routines that apply to files.
The form and content of directory and device information differs
greatly from that of a regular file.
Files, directories and devices represent elements (nodes) of a tree
hierarchy.
The rules for processing each of the node types that exist under the
filesystem are node specific but are still not reflected in the POSIX
interface routines.
Figure of the Filesystem Functional Layering goes here.
This figure focuses on the Base Filesystem and IMFS.