This document is a specification for the PATHWORKS File System (PFS), developed by Digital Equipment Corporation's Personal Computer Systems Group, dated August 28, 1992.
Main Purpose: PFS is designed to provide an abstracted file system interface for Hydra Servers, ensuring both Network Operating System (NOS) independence and PATHWORKS platform independence. It offers a single, unified interface for interacting with multiple underlying host file systems, such as VMS, MSDOS FAT, and Macintosh HFS.
Key Functional Areas:
- File Operations: Provides standard functions for creating, deleting, renaming, and accessing files, including managing file attributes and data.
- Namespace & Translation: Supports file access using the semantics and syntax of various clients (MSDOS, Macintosh) and translates these requests into the host file system's native format. It maintains tight coupling between different namespaces.
- Attributes: Manages completely disjoint sets of file attributes for different NOS types, recognizing that direct mapping between client and host attributes is often incomplete.
- Security: Offers functions for storing and retrieving NOS security information and integrates with host security checking, emphasizing that client and host security models are independent and not mapped.
- Data Paths: Handles data conversion to a stream format for interaction with the data cache, limiting write access to stream format files.
Architecture:
- PFS is primarily partitioned into the PATHWORKS File Interface (the top-level interface for servers) and File System Libraries (FSLIBs).
- FSLIBs are collections of routines that implement file system functions for specific host file systems (e.g., a dedicated FSLIB for VMS ODS2, another for MSDOS FAT, and one for Macintosh HFS).
- The system uses a "path claim" mechanism where FSLIBs identify if they "own" a given file path to handle subsequent operations.
Design Principles & Constraints:
- All file-related information is tightly coupled.
- The top-level interface supports Microsoft's LanManager for Unix (LMU) File System Interface (FSI) to leverage existing code.
- Aims for performance equal to or better than existing PATHWORKS products.
- Designed for distributed operation across a VAXCluster, with distributed file caches.
- Explicitly states that NOS and host security models/attributes are independent, with no attempt to map them, which can lead to visibility and backup challenges.
- Data presented to the cache interface must be in stream format, requiring prior deblocking for record-format files.
The document also details various data structures used by PFS and describes the routines available through the PFS and FSLIB interfaces, along with dedicated appendices for the structure and attributes of VMS ODS2, MSDOS FAT, and Macintosh HFS file systems, and the FSI interface.