Control Program Facility (CPF) | |
Developer: | IBM |
Working State: | Discontinued |
Source Model: | Closed Source |
Latest Release Version: | Release 8 |
Latest Release Date: | [1] |
Programmed In: | PL/MI[2] |
Supported Platforms: | IBM System/38 |
Ui: | Command-line interface |
License: | Proprietary |
Succeeded By: | OS/400 |
Control Program Facility (CPF) is the operating system of the IBM System/38.[3] CPF represented an independendent line of development at IBM Rochester, and was unrelated to the earlier and more widely used System Support Program operating system. CPF evolved into the OS/400 operating system, which was originally known as XPF (Extended CPF).
While CPF is considered to be the operating system of the System/38, much of the hardware and resource management of the platform is implemented in the System/38's Horizontal and Vertical Microcode.[4]
In most computers prior to the System/38, and most modern ones, data stored on disk was stored in separate logical files. When data was added to a file it was written in the sector dedicated to this, or if the sector was full, on a new sector somewhere else.
The System/38 adopted the single-level store architecture, where main storage and disk storage are organized as one, from the abandoned IBM Future Systems project (FS).[5] Every piece of data was stored separately and could be put anywhere on the system. There was no such thing as a physically contiguous file on disk, and the operating system managed the storage and recall of all data elements.
CPF was an example of a commercially-available Capability-based operating system. System/38 was one of the few commercial computers with capability-based addressing.[6] Capability-based addressing was removed in the follow-on OS/400 operating system.[7]
In 1986, System/38 announced support for Distributed Data Management Architecture (DDM). Such a middleware in the context of a distributed system is the software layer that lies between the operating system and applications. Distributed Data Management Architecture defines an environment for sharing data. This enables System/38 programs to create, manage, and access record-oriented files on remote System/36, System/38, and IBM mainframe systems running CICS. It also allows programs on remote System/36 and System/38 computers to create, manage, and access files of a System/38.
Languages supported on the System/38 included RPG III, COBOL, BASIC, and PL/I. CPF also implements the Control Language for System/38.[8]