An MFS resembles an OpenInsight BFS (Base Filing System) in some ways, but is different in both structure and purpose.

Base Filing System (BFS)

A BFS is a program or series of programs that provide the interface between the true physical storage of the data, and the BASIC+ program that makes file I/O requests. A simpler definition is to say that a BFS constitutes a filing system.

A BFS turns BASIC+ file requests into the logic required to access the physical data. BFSs make BASIC+ independent of filing structures by providing this translation layer.

There are as many BFSs as there are ways to store data. Each BFS can have vastly different means for physically storing data, as long as it accepts from and provides to an BASIC+ program a conventional record, namely a dynamic array.

A simplified model of the relationship is shown below:

System BFSes in OpenInsight

Examples of BFSs in OpenInsight include Linear Hash (controlled by the program RTP57), ROS files (RTP51), the memory resident files FILES and VOLUMES (RTP50), Revelation G ROS and LINK files (RTP59), and the logical "DOS" file (RTP53A). In addition, all Environmental Bonds such as those used to access dBASE files, Lotus files, and others, must always contain a BFS to provide the link between OpenInsight and the data on the storage medium.

Modifying Filing System (MFS)

An MFS is an extra layer between BASIC+ and the BFS. Typically, the MFS does not contain logic to access the physical file directly. Instead, the MFS simply monitors file activity, and then passes the file I/O requests, along with any data used for the request, on for further processing.

Because of its much more limited scope, an MFS is usually much simpler than a BFS. Whereas a BFS must in one way or another provide for all possible file I/O operations, an MFS can ignore almost all activity, and concentrate instead on the particular operation it is designed to monitor. An MFS must work in conjunction with the BFS that controls the filing system. A model for the relationship of an MFS to the BFS looks like:

  • No labels