Files-11
   HOME

TheInfoList



OR:

Files-11 is the file system used by
Digital Equipment Corporation Digital Equipment Corporation (DEC ), using the trademark Digital, was a major American company in the computer industry from the 1960s to the 1990s. The company was co-founded by Ken Olsen and Harlan Anderson in 1957. Olsen was president un ...
OpenVMS
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also i ...
, and also (in a simpler form) by the older
RSX-11 RSX-11 is a discontinued family of multi-user real-time operating systems for PDP-11 computers created by Digital Equipment Corporation. In widespread use through the late 1970s and early 1980s, RSX-11 was influential in the development of later ...
. It is a hierarchical file system, with support for
access control list In computer security, an access-control list (ACL) is a list of permissions associated with a system resource (object). An ACL specifies which users or system processes are granted access to objects, as well as what operations are allowed on gi ...
s, record-oriented I/O, remote network access, and file versioning. Files-11 is similar to, but significantly more advanced than, the file systems used in previous
Digital Equipment Corporation Digital Equipment Corporation (DEC ), using the trademark Digital, was a major American company in the computer industry from the 1960s to the 1990s. The company was co-founded by Ken Olsen and Harlan Anderson in 1957. Olsen was president un ...
operating systems such as
TOPS-20 The TOPS-20 operating system by Digital Equipment Corporation (DEC) is a proprietary OS used on some of DEC's 36-bit mainframe computers. The Hardware Reference Manual was described as for "DECsystem-10/DECSYSTEM-20 Processor" (meaning the DEC PDP- ...
and
RSTS/E RSTS () is a multi-user time-sharing operating system developed by Digital Equipment Corporation (DEC, now part of Hewlett-Packard) for the PDP-11 series of 16-bit minicomputers. The first version of RSTS (RSTS-11, Version 1) was implemented in 1 ...
.


History

The native OpenVMS file system is descended from older DEC operating systems and is similar in many ways, both having been designed by
Dave Cutler David Neil Cutler Sr. (born March 13, 1942) is an American software engineer. He developed several computer operating systems, namely Microsoft's Windows NT, and Digital Equipment Corporation's RSX-11M, VAXELN, and VMS. Personal history Cu ...
. A major difference is the layout of directories. These file systems all provided some form of rudimentary non-hierarchical directory structure, typically based on assigning one directory per user account. Under RSTS/E, each user account was represented by two numbers, a 'project'',''programmer''/code> pair, and had one associated directory. Special system files, such as program executables and the OS itself, were stored in the directory of a reserved system account. While this was suitable for PDP-11 systems, which possessed limited permanent storage capacity, VAX systems with much larger
hard drive A hard disk drive (HDD), hard disk, hard drive, or fixed disk is an electro-mechanical data storage device that stores and retrieves digital data using magnetic storage with one or more rigid rapidly rotating platters coated with magne ...
s required a more flexible method of file storage: hierarchical directory layout in particular, the most notable improvement in ODS-2.


Overview

"Files-11" is the general term for five separate file systems, known as on-disk structure (ODS) levels 1 through 5. ODS-1 is the
flat file system In computing, file system or filesystem (often abbreviated to fs) is a method and data structure that the operating system uses to control how data is stored and retrieved. Without a file system, data placed in a storage medium would be one larg ...
used by the RSX-11 OS, supported by older VMS systems for RSX compatibility, but never used to support VMS itself; it has been largely superseded by ODS-2 and ODS-5. ODS-2 is the standard VMS file system, and remains the most common file system for system disks (the disk on which the operating system is installed). Although seldom referred to by their ODS level designations, ODS-3 and ODS-4 are the Files-11 support for the CD-ROM
ISO 9660 ISO 9660 (also known as ECMA-119) is a file system for optical disc media. Being sold by the International Organization for Standardization (ISO) the file system is considered an international technical standard. Since the specification is ...
and
High Sierra Format ISO 9660 (also known as Ecma International, ECMA-119) is a file system for CD-ROM, optical disc media. Being sold by the International Organization for Standardization (ISO) the file system is considered an International standard, international ...
file systems, respectively. ODS-5 is an extended version of ODS-2 available on Alpha and
IA-64 IA-64 (Intel Itanium architecture) is the instruction set architecture (ISA) of the Itanium family of 64-bit Intel microprocessors. The basic ISA specification originated at Hewlett-Packard (HP), and was subsequently implemented by Intel in col ...
platforms which adds support for
case-preserving When a computer file system stores file names, the computer may keep or discard case information. When the case is stored, it is called case preservation. A system that is not case-preserving is necessarily case-insensitive, but it is possible ...
filenames with non-
ASCII ASCII ( ), abbreviated from American Standard Code for Information Interchange, is a character encoding standard for electronic communication. ASCII codes represent text in computers, telecommunications equipment, and other devices. Because ...
characters and improvements to the hierarchical directory support. It was originally intended for file serving to Microsoft Windows or other non-VMS systems as part of the NT affinity project, but is also used on user disks and
Internet The Internet (or internet) is the global system of interconnected computer networks that uses the Internet protocol suite (TCP/IP) to communicate between networks and devices. It is a '' network of networks'' that consists of private, pub ...
servers.


Directory layout

All files and directories in a Files-11 file system are contained inside one or more ''parent directories'', and eventually under the root directory, the ''master file directory'' (see below). The file system is therefore organised in a directed acyclic graph ( DAG) structure. In this example (''see right''), File 2 has a directory entry under both Dir 2 and Dir 3; it is "in" both directories simultaneously. Even if removed from one, it would still exist in the other directory until removed from there also. This is similar to the concept of
hard links In computing, a hard link is a directory entry (in a directory-based file system) that associates a name with a file. Thus, each file must have at least one hard link. Creating additional hard links for a file makes the contents of that file acc ...
in
UNIX Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, an ...
, although care must be taken that the file is not actually deleted on disks that are not set up for hard links (only available on ODS-5 disks, and then only if the disk has hard links enabled).


Disk organization and naming

An operational VMS system has access to one or more online disks, each of which contains a complete, independent file system. These are either local storage or, in the case of a cluster, storage shared with remote systems. In an OpenVMS cluster configuration, non-private disks are shared between all nodes in the cluster ''(see figure 1)''. In this configuration, the two system disks are accessible to both nodes via the network, but the private disk is not shared: it is mounted for use only by a particular user or process on that machine. Access to files across a cluster is managed by the OpenVMS Distributed Lock Manager, an integral part of the file system. Multiple disks can be combined to form a single large logical disk, or ''volume set''. Disks can also be automatically replicated into ''shadow sets'' for data security or faster read performance. A disk is identified by either its physical name or (more often) by a user-defined logical name. For example, the boot device (system disk) may have the physical name $3$DKA100, but it is generally referred to by the logical name SYS$SYSDEVICE. File systems on each disk (with the exception of ODS-1) are hierarchical. A fully specified filename consists of a nodename, a username and password, a device name, directory, filename, file type, and a version number, in the format: NODE"accountname password"::device: irectory.subdirectoryilename.type;ver For example, IR1.DIR2.DIR3ILE.EXT refers to the latest version of FILE.EXT, on the current default disk, in directory IR1.DIR2.DIR3/kbd>. DIR1 is a subdirectory of the master file directory (MFD), or ''root directory'', and DIR2 is a subdirectory of DIR1. A disk's MFD is identified by 00000/kbd>. Most parts of the filename can be omitted, in which case they are taken from the current ''default file specification''. The default file specification replaces the concept of "current directory" in other operating systems by providing a set of defaults for node, device name and directory. All processes have a default file specification which includes disk name and directory, and most VMS file system routines accept a default file specification which can also include the file type; the TYPE command, for example, defaults to ".LIS" as the file type, so the command TYPE F, with no extension, attempts to open the file F.LIS. Every file has a version number, which defaults to 1 if no other versions of the same filename are present (otherwise one higher than the greatest version). Every time a file is saved, rather than overwriting the existing version, a new file with the same name but an incremented version number is created. Old versions can be deleted explicitly, with the DELETE or the PURGE command, or optionally, older versions of a file can be deleted automatically when the file's ''version limit'' is reached (set by SET FILE/VERSION_LIMIT). Old versions are thus not overwritten, but are kept on disk and may be retrieved at any time. The architectural limit on version numbers is 32767. The versioning behavior is easily overridden if it is unwanted. In particular, files which are directly updated, such as databases, do not create new versions unless explicitly programmed. ODS-2 is limited to eight levels of subdirectories, and only uppercase, alphanumeric names (plus the underscore, dash, and dollar sign) up to 39.39 characters (39 for the filename and another 39 for the extension). ODS-5 expands the character set to lowercase letters and most other printable ASCII characters, as well as
ISO ISO is the most common abbreviation for the International Organization for Standardization. ISO or Iso may also refer to: Business and finance * Iso (supermarket), a chain of Danish supermarkets incorporated into the SuperBest chain in 2007 * Iso ...
Latin-1 ISO/IEC 8859-1:1998, ''Information technology — 8-bit single-byte coded graphic character sets — Part 1: Latin alphabet No. 1'', is part of the ISO/IEC 8859 series of ASCII-based standard character encodings, first edition published in 1 ...
and
Unicode Unicode, formally The Unicode Standard,The formal version reference is is an information technology standard for the consistent encoding, representation, and handling of text expressed in most of the world's writing systems. The standard, wh ...
characters, increases the maximum filename length and allows unlimited levels of subdirectories. When constructing a pathname for an ODS-5 file which uses characters not allowed under ODS-2, a special "^" syntax is used to preserve backwards compatibility; the file "file.tar.gz;1" on an ODS-5 disk, for example, would be referred to as "file^.tar.gz"—the file's name is "file.tar", and the extension is ".gz".


File security: protection and ACLs

VMS file security is defined by two mechanisms, UIC-based access control and ACL-based access control. UIC access control is based on the owner of the file and the UIC, or user, accessing the file. Access is determined by four groups of permissions: *System *Owner *Group *World And four permission bits: *Read *Write *Execute *Delete The "system" access applies to any user whose UIC group code is less than or equal to the SYSGEN parameter MAXSYSGROUP (typically 8, or 10
octal The octal numeral system, or oct for short, is the base-8 number system, and uses the digits 0 to 7. This is to say that 10octal represents eight and 100octal represents sixty-four. However, English, like most languages, uses a base-10 number ...
) (for example the SYSTEM user); "owner" and "group" apply to the owner of the file and that user's user group, and "world" applies to any other user. There is also a fifth permission bit, "Control", which is used to determine access to change file metadata such as protection. This group cannot be set explicitly; it is always set for System and Owner, and never for Group or World. UIC-based access control is also affected by four system privileges, which allow users holding them to override access controls: *BYPASS: user implicitly has RWED access to all files, regardless of file protection; *READALL: user implicitly has R access to all files; *SYSPRV: user may access files based on System protection; *GRPPRV: user may access files based on System protection if their UIC group matches the file's group. ACLs allow additional privileges to be assigned on a user– or group–specific basis; for example, a web server's UIC could be granted read access to all files in a particular directory. ACLs can be marked as ''inherited'', where a directory file's ACL applies to all files underneath it. ACLs are modified using the EDIT/ACL command, and take the form of identifier/access pairs. For example, the ACL entry (IDENTIFIER=HTTP$SERVER,ACCESS=READ+EXECUTE) would allow the user HTTP$SERVER to read and execute the file.


Logical names

A logical name is a system variable which may reference a disk, directory or file, or contain other program-specific information. For example, the logical SYS$SYSDEVICE contains the system's boot device. A logical name normally refers to a single directory or disk, ''e.g.'' SYS$LOGIN: which is the user's login (home) directory (or directories); these logicals cannot be used as true disk names—SYS$LOGIN: IRILE is not a valid file specification. However, ''concealed'' logical names, defined by DEFINE/TRANSLATION=CONCEALED, can be used in that way; these ''rooted'' directories are defined with a trailing "." on the directory specification, hence $ DEFINE/TRANS=CONCEAL HOME DISK$USERS: 'username''. would allow HOME: IRILE to be used. More common are simple logicals which point to specific directories associated with some application software which may be located in on any disk or any directory. Hence logical ABC_EXE may point to a directory of executable programs for application ABC and ABC_TEMP may point to a directory of temporary files for that same application and this directory may be on the same disk and in the same directory tree as ABC_EXE or could be somewhere on another disk (and in a different directory tree). In a manner similar to Unix, VMS defines several standard input and output channels which are accessed through the logical names SYS$INPUT, SYS$OUTPUT, SYS$ERROR and SYS$COMMAND. Logical names do not have a close equivalent in POSIX operating systems. They resemble Unix
environment variable An environment variable is a dynamic-named value that can affect the way running processes will behave on a computer. They are part of the environment in which a process runs. For example, a running process can query the value of the TEMP envi ...
s, except they are expanded by the file system, instead of the command shell or application program. They must be defined before use, so it is common for many logical names to be defined in the system startup command file, as well as user login command files. In VMS, logical names may reference other logical names (up to a predefined nesting limit of 10), and may contain lists of names to search for an existing filename. Some frequently referenced logical names are: The closest non-DEC operating system to support the concept of logical names is
AmigaOS AmigaOS is a family of proprietary native operating systems of the Amiga and AmigaOne personal computers. It was developed first by Commodore International and introduced with the launch of the first Amiga, the Amiga 1000, in 1985. Early version ...
, through the ASSIGN command. AmigaOS's disk operating system,
AmigaDOS AmigaDOS is the disk operating system of the AmigaOS, which includes file systems, file and directory manipulation, the command-line interface, and file Redirection (computing), redirection. In AmigaOS 1.x, AmigaDOS is based on a TRIPOS port by ...
, which is a port of
TRIPOS At the University of Cambridge, a Tripos (, plural 'Triposes') is any of the examinations that qualify an undergraduate for a bachelor's degree or the courses taken by a student to prepare for these. For example, an undergraduate studying mathe ...
, bears some resemblance to DEC operating systems. For example, physical device names follow a pattern like DF0: for the first floppy disk, CDROM2: for the 3rd CD-ROM drive, etc. However, since the system can boot from any attached drive, the operating system creates the SYS: assignment to automatically reference the boot device used. Other assignments, LIBS:, PREFS:, C:, S:, et al. are also made, themselves referenced off SYS:. Users are, of course, allowed to create and destroy their own assignments too.


Record-oriented I/O: Record Management Services

Record Management Services Record Management Services (RMS) are procedures in the VMS, RSTS/E, RT-11 and RSX-11M operating systems that programs may call to process files and records within files. Its file formats and procedures are similar to of those in some IBM acces ...
is the structured I/O layer of the VMS operating system. RMS provides comprehensive program support for managing ''structured''
file File or filing may refer to: Mechanical tools and processes * File (tool), a tool used to ''remove'' fine amounts of material from a workpiece **Filing (metalworking), a material removal process in manufacturing ** Nail file, a tool used to gent ...
s, such as record-based and indexed
database In computing, a database is an organized collection of data stored and accessed electronically. Small databases can be stored on a file system, while large databases are hosted on computer clusters or cloud storage. The design of databases sp ...
files. The VMS file system, in conjunction with RMS, extends files access past simple
byte The byte is a unit of digital information that most commonly consists of eight bits. Historically, the byte was the number of bits used to encode a single character of text in a computer and for this reason it is the smallest addressable unit ...
-streams and allows OS-level support for a variety of rich files types. Each file in the VMS file system may be thought of as a
database In computing, a database is an organized collection of data stored and accessed electronically. Small databases can be stored on a file system, while large databases are hosted on computer clusters or cloud storage. The design of databases sp ...
, containing a series of
records A record, recording or records may refer to: An item or collection of data Computing * Record (computer science), a data structure ** Record, or row (database), a set of fields in a database related to one entity ** Boot sector or boot record, ...
, each of which has one of more individual
fields Fields may refer to: Music * Fields (band), an indie rock band formed in 2006 * Fields (progressive rock band), a progressive rock band formed in 1971 * ''Fields'' (album), an LP by Swedish-based indie rock band Junip (2010) * "Fields", a song b ...
. A text file, for example, is a list of records (lines) separated by a newline character. RMS is an example of a
record-oriented filesystem In computer science, a record-oriented filesystem is a file system where data is stored as collections of records. This is in contrast to a byte-oriented filesystem, where the data is treated as an unformatted stream of bytes. There are severa ...
. There are four record formats defined by RMS: * Fixed length - all records in the file have the same length. * Variable length - records vary in length, and every record is prefixed by a count byte giving its length. * Variable record length with fixed-length control - records vary in length, but are preceded by a fixed-length control block. * Stream - record vary in length, and every record is separated from the next one by a termination character. A text file is an example of a stream-format file using
line feed Newline (frequently called line ending, end of line (EOL), next line (NEL) or line break) is a control character or sequence of control characters in character encoding specifications such as ASCII, EBCDIC, Unicode, etc. This character, or a ...
or
carriage return A carriage return, sometimes known as a cartridge return and often shortened to CR, or return, is a control character or mechanism used to reset a device's position to the beginning of a line of text. It is closely associated with the line feed a ...
to separate records. There are four record access methods, or methods to retrieve extant records from files: * Sequential Access - starting with a particular records, subsequent records are retrieved in order until the end of the file. * Relative Record Number Access - records are retrieved via a record ''number'' relative to the beginning of the file. * Record File Address Access - records are retrieved directly by their location in the file (RFA, or Record File Address). * Indexed Access - records are retrieved via a key, in a form of key-value mapping.


Physical layout: the On-Disk Structure

At the disk level, ODS represents the file system as an array of ''blocks'', a block being 512 contiguous bytes on one physical disk (''volume''). Disk blocks are assigned in ''clusters'' (originally 3 contiguous blocks but later increased with larger disk sizes). A file on the disk will ideally be entirely contiguous, i.e. the blocks which contain the file will be sequential, but disk fragmentation will sometimes require the file to be located in discontiguous clusters in which case the fragments are called
extents In computing, an extent is a contiguous area of storage reserved for a file in a file system, represented as a range of block numbers, or tracks on count key data devices. A file can consist of zero or more extents; one file fragment requires on ...
. Disks may be combined with other disks to form a ''volume set'' and files stored anywhere across that set of disks, but larger disk sizes have reduced the use of volume sets because management of a single physical disk is simpler. Every file on a Files-11 disk (or volume set) has a unique ''file identification'' (FID), composed of three numbers: the ''file number'' (NUM), the ''file sequence number'' (SEQ), and the ''relative volume number'' (RVN). The NUM indicates where in the INDEXF.SYS file (see below) the metadata for the file is located; the SEQ is a generation number which incremented when the file is deleted and another file is created reusing the same INDEXF.SYS entry (so any dangling references to the old file do not accidentally point to the new one); and the RVN indicates the volume number on which the file is stored when using a volume set.


Directories

The structural support of an ODS volume is provided by a ''directory file''—a special file containing a list of file names, file version numbers and their associated FIDs, similar to VSAM catalogs on
MVS Multiple Virtual Storage, more commonly called MVS, was the most commonly used operating system on the System/370 and System/390 IBM mainframe computers. IBM developed MVS, along with OS/VS1 and SVS, as a successor to OS/360. It is unrelated ...
. At the root of the directory structure is the ''master file directory'' (MFD), the root directory which contains (directly or indirectly) every file on the volume.

''This diagram shows an example directory containing 3 files, and the way each filename is mapped to the INDEXF.SYS entry (each INDEXF entry contains more information; only the first few items are shown here).''


The Master File Directory

At the top level of an ODS file system is the ''master file directory'' (MFD), which contains all top-level directory files (including itself), and several system files used to store file system information. On ODS-1 volumes, a two-level directory structure is used: each '' user identification code'' (UIC) has an associated ''user file directory'' (UFD), of the form ROUP.USER/kbd>. On ODS-2 and later volumes, the layout of directories under the MFD is free-form, subject to a limit on the nesting of directories (8 levels on ODS-2 and unlimited on ODS-5). On multi-volume sets, the MFD is always stored on the first volume, and contains the subdirectories of all volumes. The following system files are present in the ODS MFD: *INDEXF.SYS;1—Index file *BITMAP.SYS;1—Storage bitmap file *BADBLK.SYS;1—Bad block file *000000.DIR;1—The MFD directory file itself *CORIMG.SYS;1—Core image file *VOLSET.SYS;1—Volume set list file (ODS-2/5 only) *CONTIN.SYS;1—Continuation file (ODS-2/5 only) *BACKUP.SYS;1—Backup log file (ODS-2/5 only) *BADLOG.SYS;1—Pending bad block (ODS-2/5 only) *SECURITY.SYS;1—Volume security profile (ODS-2/5 only) *QUOTA.SYS;1—Quota file (optional and available under ODS-2/5 only) *GPT.SYS;1—GUID Partitioning Table (GPT) (OpenVMS I64 EFI boot structures, optional on OpenVMS Alpha) Note that the file system implementation itself does not refer to these files by name, but by their file IDs, which always have the same values. Thus, INDEXF.SYS is always the file with NUM = 1 and SEQ = 1.


Index file: INDEXF.SYS

The index file contains the most basic information about a Files-11 volume set. There are two organizations of INDEXF.SYS, the traditional organization and the organization used on disks with GPT.SYS; with the GUID Partition Table (GPT) structures. With the traditional organization, block 1 is the ''boot block'', which contains the location of the ''primary bootstrap image'', used to load the VMS operating system. This is always located at logical block 0 on the disk, so that the hardware firmware can read it. This block is always present, even on non-system (non-bootable) volumes. After the boot block is the ''primary home block''. This contains the ''volume name'', the location of the extents comprising the remainder of the index file, the volume owner's UIC, and the ''volume protection'' information. There are normally several additional copies of the home block, known as the ''secondary home blocks'', to allow recovery of the volume if it is lost or damaged. On disks with GPT.SYS, GPT.SYS contains the equivalent of the boot block (known as the Master Boot Record (MBR)), and there is no primary home block. All home blocks present on a GPT-based disk are alternate home blocks. These structures are not included in INDEXF.SYS, and the blocks of the INDEXF.SYS file are unused. The rest of the index file is composed of ''file headers'', which describe the extents allocated to the files residing on the volume, and file metadata such as the owner UIC, ACLs and protection information. Each file is described by one or more file headers—more than one can be required when a file has a large number of extents. The file header is a fixed-length block, but contains both fixed– and variable–length sections: * The ''header'' contains the NUM and SEQ, the protection (security) information, and the location of the rest of the file header. * The ''ident'' section contains the accounting metadata: the filename, creation and modification times, and the time of the last backup. * The ''map'' describes which physical disk blocks (extents) map to each virtual block of the file. * The ''access control list'' contains the ACL information for the file. * The ''reserved area'' is space at the end of the file header which is not used by the operating system. This can be used by for customer- or vendor-specific information. * The last two bytes of the header are a
checksum A checksum is a small-sized block of data derived from another block of digital data for the purpose of detecting errors that may have been introduced during its transmission or storage. By themselves, checksums are often used to verify data ...
of the previous 255 words, to verify the validity of the header. If possible, the map and ACL sections of the header are contained completely in the ''primary header''. However, if the ACL is too long, or the file contains too many extents, there will not be enough space in the primary header to store them. In this case, an ''extension header'' is allocated to store the overflow information.

''Layout of the INDEXF.SYS header.''
The file header begins with 4 offsets (IDOFFSET, MPOFFSET, ACOFFSET and ROFFSET). Since the size of the areas after the fixed-length header may vary (such as the map and ACL areas), the offsets are required to locate these additional areas. Each offset is the number of 16-bit words from the beginning of the file header to the beginning of that area. If the file requires multiple headers, the ''extension segment number'' (SEGNUM) contains the sequence number of this header, beginning at 0 in the first entry in INDEXF.SYS. STRUCLEV contains the current structure level (in the high byte) and version (in the low byte) of the file system; ODS-2 being structure level 2. An increase in the version number indicates a backwards-compatible change that older software may ignore; changes in the structure level itself are incompatible. W_FID (containing three values: FID_NUM, FID_SEQ and FID_RVN, corresponding to the file, sequence, and relative volume number) contains the ID of this file; EXT_FID (again composed of three values) holds the location of the next extension header, if any. In both of these values, the RVN is specified as 0 to represent the "current" volume (0 is not normally a valid RVN). FILECHAR contains several flags which affect how the file is handled or organised: *NOBACKUP causes this file to be ignored when a
backup In information technology, a backup, or data backup is a copy of computer data taken and stored elsewhere so that it may be used to restore the original after a data loss event. The verb form, referring to the process of doing so, is "back up", w ...
is run. *WRITEBACK enables cached (delayed) writes to the file. *READCHECK causes all reads of the file to be done twice, and compared to ensure data integrity. *WRITCHECK results in all writes being verified by a subsequent read and compare. *CONTIGB causes the OS to attempt to allocate storage for the file in as contiguous a manner as possible. *LOCKED is set if the file is deaccess-locked. If set, this indicates that the file was not properly closed after its last use, and the contents may be inconsistent. *CONTIG indicates that the file is stored contiguously on disk; that is, each virtual block i is mapped to the logical (physical) block i+k, for some constant k. *BADACL is set if the file has an invalid access control list. *SPOOL is set if the file is a spool file, such as an intermediate file used during printing. *DIRECTORY is set if the file is a directory. *BADBLOCK is set if the file contains bad blocks. *MARKDEL is set if the file has been marked for deletion, but is still in use; it will be deleted once closed by the last user. *NOCHARGE, if set, causes space used by the file to not be taken from the owner's storage quota. *ERASE causes the file's contents to be overwritten when it is deleted. ACCMODE describes the ''privilege level'' at which a process must be running in order to access the file. VMS defines four privilege levels: user, supervisor, exec, and kernel. Each type of access - read, write, execute and delete - is encoded as a 2-bit integer. FILEPROT contains the
discretionary access control In computer security, discretionary access control (DAC) is a type of access control defined by the Trusted Computer System Evaluation Criteria (TCSEC) as a means of restricting access to objects based on the identity of subjects and/or groups to w ...
information for the file. It is divided into 4 groups of 4 bits each: system, owner, group and world. Bit 0 corresponds to read access, 1 to write, 2 to execute and 3 to delete. Setting a bit denies a particular access to a group; clearing it allows it. If the file header is an extension header, BACKLINK contains the file ID of the primary header; otherwise, it contains the file ID of the directory file containing the primary entry for the file.


Other files

*Storage bitmap file: BITMAP.SYS :The bitmap file is responsible for storing information regarding used and available space on a volume. It contains the ''storage control block'' (SCB), which includes summary information detailing ???, and the bitmap, an array of bits to indicate if a cluster of blocks on the disk is free or allocated. In early versions of VMS the cluster comprised 3 blocks but as disk sizes have increased, so has the cluster size. *Bad block file: BADBLK.SYS :The bad block file contains all of the known bad blocks on the physical volume. The purpose is to prevent the system from allocating them to files. This file was used more in the early days when disks were typically manufactured with more bad patches on the surface. *Volume set list file: VOLSET.SYS :The volume set list is located on volume 1 of a volume set, and contains a list of labels of all volumes in the set, and the set's volume name. *Continuation file: CONTIN.SYS :When a file on a multi-volume set crosses the boundary of two constituent volumes, the continuation file is used as its extension header and describes the volume where the rest of the file can be found. *Quota file: QUOTA.SYS :The quota file contains information of each UIC's disk space usage on a volume. It contains a record for each UIC with space allocated to it on a volume, along with information on how much space is being used by that UIC. ''NOTE: The DISK QUOTA feature is optional and the file will only exist if the feature was ever enabled.'' *Volume security profile: SECURITY.SYS :The volume security profile contains the volume's owner UIC, the volume protection mask, and its access control list. *GUID Partitioning Table: GPT.SYS :This file overlays and protects the MBR (Master Boot Record) and GPT (GUID Partitioning Table) disk structures utilized for and by the
Extensible Firmware Interface UEFI (Unified Extensible Firmware Interface) is a set of specifications written by the UEFI Forum. They define the architecture of the platform firmware used for booting and its interface for interaction with the operating system. Examples of f ...
-compliant firmware. This file is created by default during OpenVMS I64 disk initialization, and is optionally created (with INITIALIZE/GPT) on OpenVMS Alpha.


See also

*
Comparison of file systems The following tables compare general and technical information for a number of file systems. General information Limits Metadata Features File capabilities Block capabilities Note that in addition to the below table, blo ...
*
NTFS New Technology File System (NTFS) is a proprietary journaling file system developed by Microsoft. Starting with Windows NT 3.1, it is the default file system of the Windows NT family. It superseded File Allocation Table (FAT) as the preferred fil ...
- Has many structural and metadata similarities with Files-11 and is almost certainly conceptually derived from it.


References


Further reading

* * *


External links


Guide to OpenVMS File Applications

VMS2Linux
{{File systems Disk file systems Network file systems OpenVMS PDP-11