| Control Program Facility (CPF) | |
|---|---|
| Developer | IBM |
| Written in | PL/MI[1] |
| Working state | Discontinued |
| Source model | Closed Source |
| Initial release | 1978; 48 years ago (1978) |
| Latest release | Release 8 / 14 November 1986; 39 years ago (1986-11-14)[2] |
| Supported platforms | IBM System/38 |
| Default user interface | Command-line interface |
| License | Proprietary |
| Succeeded by | OS/400 |
Control Program Facility (CPF) is theoperating system of theIBM System/38.[3] CPF represented an independent line of development atIBM Rochester, and was unrelated to the earlier and more widely usedSystem Support Program operating system. CPF evolved into theOS/400 operating system, which was originally known asXPF (Extended CPF).[1]
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'sHorizontal and Vertical Microcode.[1][4]
In most computers prior to the System/38, and most modern ones, data stored on disk was stored in separate logicalfiles. 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 thesingle-level store architecture, where main storage and disk storage are organized as one, from the abandonedIBM 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 availablecapability-based operating system. System/38 was one of the few commercial computers withcapability-based addressing.[6] Capability-based addressing was removed in the follow-onOS/400 operating system.[7]
In 1986, System/38 announced support forDistributed Data Management Architecture (DDM). Such amiddleware 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 includedRPG III,COBOL,BASIC, andPL/I. CPF also implements theControl Language for System/38.[8]