# IBM DPPX

Distributed Processing Programming Executive is a discontinued operating system introduced by IBM, pre-installed on the IBM 8100 and later ported to the ES/9370.

## Brief history

* It was first introduced on the IBM 8100 series, which was released in 1978.
* 1987 saw the release of Distributed Processing Programming Executive System Product (DPPX/SP) Release 4.
* In 1986, IBM decided to cease the IBM 8100 architecture to consolidate its hardware and software families.
* In 1988, they released DPPX/370 which ran on the ES/9370 processors (an S/370 model).
* By the end of June 1997, DPPX/370 was officially retired.

## Architecture

DPPX was written in Programming Language for Distributed Systems (PL/DS), a PL/I-derived systems programming language, similar to the PL/S systems programming language used for MVS and VM. Part of the DPPX/370 development process was developing a PL/DS 2 language, which was based on PL/DS, but with changes necessitated by the changed instruction set. (PL/DS, like PL/S, is a high-level language which encourages significant use of inline assembly.)
The user interfaces (e.g., command line) of DPPX were very clean and easy to use, the syntax of the commands, the whole concept and ideas of DPPX looked very straightforward and consistent (command line, online help, etc.), and each and every aspect was documented online and in a rich set of well organized printed manuals. A DPPX system could be operated truly operator-less and remote (hence the Distributed part of the name). One benefit of this clean design was that programs could be written in modern dialects of COBOL, and dialogs could be developed interactively.
DPPX had a native DBMS with simple key-lookup architecture, and ability to move forward through a table after starting from a specific key value by issuing a read-forward command. A limitation of the DPPX DBMS was the lack of read-previous capability, which made it difficult, for example, to code page-back functionality for a screen loaded from a DPPX DBMS table. This limitation was mitigated by an enterprising young programmer (K. Riley of Anchorage, Alaska) who suggested at the application layer creating alternate keys for the DPPX tables that needed read-previous functionality. The alternate keys could then be loaded with the binary 1's complement of the primary key, at which point reading forward on the alternate key was equivalent to reading previous on the primary key.

## Software

In addition to the expected functions of an operating system, DPPX included several functions which allowed for remote administration, such as Distributed Host Command Facility (DHCF), which allowed a Host Command Facility (HCF) user on a mainframe to log on in either full-screen mode or line mode to execute commands as though logged on locally, and Distributed Systems Network (or Node) Executive (DSNX), which allowed a Distributed Systems Executive (DSX) (later NetView/DM) job to manage files.
Separate additional products were also available, including COBOL and Fortran compilers, the Distributed Transaction Management System (DTMS), Command Facilities Extensions (CFE), which provided easy support for full-screen applications, Data Stream Capability (DSC) to allow DPPX users to log on to applications on the mainframe, and Performance Tool (PT).