27.07.2013 Views

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

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!