Control Program Facility
Control Program Facility (CPF) was the operating system for the IBM System/38. 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. Data storage. 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). 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. Capability-based addressing. 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. Capability-based addressing was removed in the follow-on OS/400 operating system. Distributed Data Management. 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. Programming languages. Languages supported on the System/38 included RPG III, COBOL, BASIC, and PL/I. CPF also implements the Control Language for System/38.