Files-11 or the On-Disk Structure was developed by the Digital Equipment Corporation for RSX-11 and later for OpenVMS.
The Files-11 family of file systems consists of the following file systems, also called Structure Levels:
ODS-1 is the oldest one that is supported by OpenVMS only for RSX compatibility
ODS-2 is the standard file system that has case-insensitive filenames maximum length of the file name is 39 characters, supports page file, swap file, parameter (.PAR) file and other system files and files shared across a cluster with any version of VMS. It is supported by all hardware architectures.
ODS-3 is designed to support ISO 9660.
ODS-4 is designed to support the High Sierra file system
ODS-5 is an extended version of ODS-2 used on Alpha and Integrity. It supports longer case-sensitive filenames with non-ASCII characters (ISO Latin-1 and Unicode). Page file, swap file, parameter file and other system files are not supported, but ODS-5 volumes can serve as system disks starting with VMS 7.3-1. ODS-5 disks can be mounted by computers running OpenVMS 7.2 or later. ODS-5 also offers more levels of directory structure.
Obtaining information about the file system
To find out what file system is a particular device, use:
- SHOW DEVICE/FULL:
$ show dev dka0 /full Disk SMAN01$DKA0:, device type RZ73, is online, mounted, file-oriented device, shareable, available to cluster, error logging is enabled. Error count 0 Operations completed 3983 Owner process "" Owner UIC [SYSTEM] Owner process ID 00000000 Dev Prot S:RWPL,O:RWPL,G:R,W Reference count 85 Default buffer size 512 Total blocks 3907911 Sectors per track 7 Total cylinders 2621 Tracks per cylinder 213 Logical Volume Size 3907911 Expansion Size Limit 4261348350 Volume label "ALPHASYS" Relative volume number 0 Cluster size 16 Transaction count 214 Free blocks 1874592 Maximum files allowed 16711679 Extend quantity 5 Mount count 1 Mount status System Cache name "_SMAN01$DKA0:XQPCACHE" Extent cache size 64 Max blocks in extent cache 187459 File ID cache size 64 Blocks in extent cache 66496 Quota cache size 0 Maximum buffers in FCP cache 574 Volume owner UIC [1,1] Vol Prot S:RWCD,O:RWCD,G:RWCD,W:RWCD Volume Status: ODS-2, subject to mount verification, protected subsystems enabled, file high-water marking, write-through XFC caching enabled, write-through XQP caching enabled.
Returns TRUE if the volume is ODS-5 and FALSE if it is not (which in reality almost always means that it's ODS-2).
Files-11 are OpenVMS-specific file systems and there are differences between filenames in OpenVMS and other operating systems like Linux, which creates difficulties when accessing files via FTP and network-based file sharing utilities. One of the problems is escaping unusual characters that have special meanings in the file specification or otherwise:
- square brackets
- percent sign
- circumflex (up arrow)
The circumflex is an escape character used to make sure that the system parses the symbols above as part of the filename and not special character in the specification. If you don’t use the circumflex, the system will try its best to determine if the character you used is a delimiter or part of the filename: for instance, if there are several periods, the last one will likely be interpreted as the version number if it is followed by numeric characters and/or minus signs. If you are interested in studying this topic in more detail, refer to the OpenVMS Guide to extended file specifications.
Files-11 systems are organized in the following layers:
- the physical layer
- the file layer
- the RMS layer
The physical layer is the lowest layer of the file system that provides block access to a volume. On the real hardware, the physical layer consists of the VMS disk driver, and associated disk controller, interconnect, port driver, etc. In an emulated environment like FreeAXP it would include the emulated disk controller as well as the drivers and hardware of the host machine (e.g., Windows).
The file layer is built on the physical layer. It turns the blocks of the physical layer into files. The metadata used to manage files includes directories, file headers, the storage map, home blocks, and similar structures. F11BXQP is the primary body of code that implements the file layer for the ODS-2 / ODS-5 file structures; MTAAACP for ANSI magtape, and F11CACP and F11DACP for the High Sierra and ISO-9660 CD-ROM formats. Metadata integrity on this layer can be checked using the ANALYZE/DISK_STRUCTURE command.
The RMS layer implements record structured files with various capabilities from simple sequential files to indexed files with multiple keys. RMS embeds metadata as needed in the file’s data space. Metadata for sequential files is very simple (record lengths, at most), while metadata for indexed files is more complex. The ANALYZE/RMS utility checks RMS indexed file metadata for correctness and consistency.