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.

Description of the libraries
 QGPL – general purpose library
 QSYS – system library
 QSPL – spooling library
 QTEMP – temporary library
 QSRV – system service library
 QRECOVERY – system recovery library

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.

References

External links
Control Program Facility Concepts Manual (PDF file)
Control Program Facility Programmer's Guide (PDF file)

IBM operating systems
Computer-related introductions in 1978