Files-11

From VSI OpenVMS Wiki
Revision as of 06:43, 23 August 2018 by Maxim Megalinskiy (talk | contribs) (ODS-3)
Jump to: navigation, search

Files-11 or the On-Disk Structure was developed by the Digital Equipment Corporation for RSX-11 and later for OpenVMS. This family consists of the following file systems:

  • ODS-1
  • ODS-2
  • ODS-3
  • ODS-4
  • ODS-5

ODS-1

ODS-1 is the oldest one that is supported by OpenVMS only for RSX compatibility

ODS-2

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

ODS-3 is designed to support ISO 9660.

ODS-4

ODS-4 is designed to support the High Sierra file system

ODS-5

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.

Looking up 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.
  • f$getdvi("dka0","ODS5")

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).

LInux interaction

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:

  • period
  • comma
  • colon
  • semicolon
  • square brackets
  • percent sign
  • circumflex (up arrow)
  • ampersand

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.