DTJ Volume 8 Number 2 1996 - Digital Technical Journals
DTJ Volume 8 Number 2 1996 - Digital Technical Journals
DTJ Volume 8 Number 2 1996 - Digital Technical Journals
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Providing a Compatible File System Interface<br />
Application compatibility can be described in two<br />
ways : compatibility at the file system interface and<br />
compatibility of the on-disk structure. Since only specialized<br />
applications use knowledge of the on-disk<br />
structure and maintaining compatibility at the interface<br />
level is a teature of the Open VMS system, the<br />
Spiralog tile system preserves compatibility at the file<br />
system interface level only. In the section Files-1 1 and<br />
the Spiralog File System On-disk Structures, we give<br />
an overview of the major on-disk diffe rences bet\veen<br />
the t\VO file systems.<br />
The level of interface compatibility wou ld have a<br />
large impact on how well users adopted the Spiralog<br />
file system. If data and applications could be moved to<br />
a Spiralog volume and run unchanged, the file system<br />
would be better accepted . The goal tor the Spiralog<br />
file system was to achieve 100 percent interface compatibi<br />
lity for the majority of existing applications. The<br />
implementation of a log-structured ti le system, however,<br />
meant that certain features and operations of the<br />
Files-1 1 file system could not be supported.<br />
The Open VMS operating system provides a number<br />
of ti le system interfaces that are called by applications.<br />
This section describes how we chose the most compatible<br />
tile system interface. The OpenVMS operating<br />
system directly supports a system-level call interface<br />
(QIO) to the ti le system, which is an extremely complex<br />
interface.' The QIO interface is very specific to<br />
the OpenVMS system and is difficult to map directly<br />
onto a modern ti le system intedace. This interface is<br />
used infrequently by applications but is used extensively<br />
by Open VMS utilities.<br />
Open VMS File System Environment<br />
This section gives an overview of the general<br />
OpenVMS file system environment, and the existing<br />
Figure 1<br />
r-<br />
n 1 HIGH-LEVEL<br />
APPLICATIONS<br />
Open VMS and the new Spiralog file system intertaces.<br />
To emulate the Files-1 1 file system, it was important to<br />
understand the way it is used by applications in the<br />
OpenVMS environment. A brief description of the<br />
Files-1 1 and the Spiralog file system interfaces gives an<br />
indication of the problems in mapping one interface<br />
onto the other. These problems are discussed later in<br />
the section Compatibility Problems.<br />
In the Open VMS environment, applications interact<br />
with the ti le system through various interfaces,<br />
ranging from high-level language interfaces to direct<br />
ti le system calls. Figure 1 shows the organization of<br />
interfaces within the Open VMS environment, including<br />
both tl1e Spira log and the Files-1 1 file systems.<br />
The fo llowing brietly describes the levels of interface<br />
to the tile system.<br />
• High-level language (HLL) libraries. H LL libraries<br />
provide tile system fu nctions tor high-level<br />
languages such as the Standard C library and<br />
FORTRAN I/0 fu nctions.<br />
• OpenVMS language-specific libraries. These<br />
libraries offe r OpenVMS-spccific ti le system fu nctions<br />
at a high level. For ex;mple, lib$create_dir( )<br />
creates a new directory with specitic OpenVMS<br />
security attributes such as ownership.<br />
• Record Management Services. The OpenVMS<br />
Record Management Services (RMS) are a set of<br />
complex routines that fo rm part of the Open VMS<br />
kernel. These routines