This document describes the eCosPro Multimedia Filesystem (eCosPro-MMFS) provided with eCosPro. This is implemented by the MMFS package which uses the facilities of the FILEIO package to present its functionality to the user.
MMFS is intended to support continuous media intensive applications such as Personal Video Recorders, Video JukeBoxes and Video-on-Demand. It is designed to support the recording and playback of data streams at constant and variable rates.
MMFS was designed with the following goals:
Provide PVR functionality allowing several data streams to be recorded simultaneously while also replaying a stream, which may be one of the streams being recorded. Provide the ability to fast-forward and rewind data streams.
Make efficient use of disk storage, access times and bandwidth.
Automatic recovery of disk data structures on restart after a power failure or other interruption. Automatic formatting of a new disk or one that is irretrievably corrupt.
These goals are achieved by simplifying the filesystem as much as possible. So, for example, there is only one directory that contains all files; file metadata is permanently allocated and of fixed size; caches are small and special-purpose. Many aspects are configurable so that the filesystem may be tuned to the application.