Stratus VOS (Virtual Operating System, now renamed as OpenVOS) is a proprietary operating system running on Stratus Technologies fault-tolerant computer systems. VOS is available on Stratus's ftServer and Continuum platforms. VOS customers use it to support high-volume transaction processing applications which require continuous availability. VOS is notable for being one of the few operating systems which run on fully lockstepped hardware. During the 1980s, an IBM-branded version of Stratus VOS existed and was called the System/88 Operating System.
History VOS was designed from its inception as a high-security transaction-processing environment tailored to fault-tolerant hardware. It incorporates much of the design experience that came out of the MIT/Bell-Laboratories/General-Electric (later Honeywell) Multics project. In 1984, Stratus added a UNIX System V implementation called Unix System Facilities (USF) to VOS, integrating Unix and VOS at the kernel level. In recent years, Stratus has added POSIX-compliance, and many open source packages can run on VOS. Like competing proprietary operating systems, VOS has seen its market share shrink steadily in the 1990s, and early 2000s.
Development
Programming for VOS VOS provides compilers for PL/I, COBOL, Pascal, FORTRAN, C (with the VOS C and GCC compilers), and C++ (also GCC). Each of these programming languages can make VOS system calls (e.g. s$seq_read to read a record from a file), and has extensions to support varying-length strings in PL/I style. Developers typically code in their favourite VOS text editor, or offline, before compiling on the system; there are no VOS IDE applications. In its history, Stratus has offered hardware platforms based on the Motorola 68000 microprocessor family ("FT" and "XA" series), the Intel i860 microprocessor family ("XA/R" series), the HP PA-RISC processor family ("Continuum" series), and the Intel Xeon x86 processor family ("V Series"). All versions of VOS offer compilers targeted at the native instruction set, and some versions of VOS offer cross-compilers. Stratus added support for the POSIX API in VOS Release 14.3 (on Continuum), and added support for the GNU C/C++ compiler, GNU gdb debugger, and many POSIX commands in VOS Release 14.4. Each additional release of VOS has added more POSIX.1 capabilities, to the point where many user-mode open-source packages can now be successfully built. For this reason, beginning with Release 17.0, Stratus renamed VOS to OpenVOS. Stratus offers supported ports of Samba, OpenSSL, OpenSSH, GNU Privacy Guard, OpenLDAP, Berkeley DB, MySQL Community Server, Apache, IBM WebSphere MQ, and many others. Numeric values in VOS are always big endian, regardless of the endianness of the underlying hardware platform. On little endian servers with x86 processors, the compilers do a byte swap before reading or writing values to memory to transform the data to or from the native little endian format.
Command Macro Language VOS has a fairly complete command macro language which can be used to create menu systems, automate tasks etc. VOS command macros accept arguments on the command-line or via a user interface "form". Arguments are defined at the beginning of the command macro in a "parameters" section. The language supports a range of statements, including if/then/else, Boolean operations, "while" loops, "goto" and excellent error reporting. The command macro language can be executed in interactive and non-interactive (batch or started process) modes. It can be used to automate programs, capturing prompts and sending appropriate responses. This has led Stratus to limit the capabilities of the command macro language. The macro language lacks support for user-defined functions and does not easily support include files. The string handling is prone to errors, especially with embedded control characters. A Visual Studio Code Syntax Highlighting extension for VOS Command Macro can be found on the Visual Studio Marketplace.
Overview VOS was coded mainly in PL/I with a small amount of assembly language before it was migrated to ftServer series. As of 1991, the system was written in PL/I and C, with only 3% in assembly. Its overall structure has much in common with Multics, and many of the system's features can be traced back to Multics to varying degrees. The system exposes a number of fundamental abstractions to the software designer or programmer, most notable being
Processes Devices Hard Disks Various IPC mechanisms Tasks A process is the scheduled entity in VOS, and each process has a set of attributes that govern how it is manipulated by the system. For example, processes have a user name and process name. The former is used by VOS to determine the process's access rights to external devices, and items with the file system. Of fundamental significance is a process's privileged flag, which is a binary attribute. Privileged processes may perform privileged operations. This mechanism is used to restrict certain potentially powerful operations that can have system wide consequences (e.g. shutting down the system, dismounting a hard disk etc.).
Distribution VOS is distributed only by Stratus Technologies. The distribution media is a 3.5 mm DAT tape for Continuum, and an SDLT tape for early V Series platforms. As of OpenVOS Release 17.0, Stratus offers support for distributing OpenVOS on a DVD or by downloading a release file. Software installations may be done by the Stratus Field Engineer or by the customer's system administrator.
… excerpt ends here. Continue reading the full article.
