Stratus VOS

From Wikipedia, the free encyclopedia

VOS is a fault-tolerant operating system used in Stratus computers.

Its design is based on Multics, and it is written in a dialect of PL/I.

It is interesting for being a highly transactional design, in which the entire operating system, including the file system, supports transactions. By contrast, in most computer systems only higher-level components of the system, such as relational databases and application servers (e.g. COM+ or EJB) support transactions, with the base of the operating system and the file system being non-transactional.

VOS is a process based OS and supports a powerful file system. The file system supports several file models for example fixed record length, sequential, stream, server queues and so forth. In addition the file system supports an unusually powerful index management feature that enables any file to have any number of indices.

Indexes are defined by a specification of field lengths, positions, sort criteria etc, and reside with the file on disk.

A process on VOS is the scheduled entity and has amongst its attributes:

  • user name
  • process name
  • home directory
  • current directory
  • priority
  • privilege level

One of the most useful features found in VOS is the powerful approach to command line argument handling. VOS includes a system subroutine that accepts field definition strings as well as the addresses of argument variables. When a program uses this it is able to display an interactive, navigable "form" that displays all field names and restrict input text to conform to field definitions.

The naming convention for pathnames is also somewhat unusual, though arguably an improvement on the syntax seen in modern operating systems.

All fully qualified pathnames ultimately begin with the "system name" which corresponds to a network node on the WAN.

A typical system name might be: %company_uk_hq

Beneath the system are "modules" which refer to specific machines, and are prefixed with a # character. These names correspond to a node on the LAN.

Devices are also named with a # character, including disk drives.

Directories and files are then specified using a > to denote the hierarchy, an example of a fully qualified file name is:

%stratus_uk#m2_d03>Databases>Backups>02-04-1997>TradeFiles>tf_test_02.backup