Control Program Facility

{{Short description|Operating system of the IBM System/38}}

{{Infobox OS

| name = Control Program Facility (CPF)

| logo =

| logo caption =

| logo size =

| logo alt =

| screenshot =

| caption =

| screenshot_size =

| screenshot_alt =

| collapsible =

| version of =

| developer = IBM

| family =

| working state = Discontinued

| source model = Closed Source

| released = {{Start date and age|1978}}

| discontinued =

| RTM date =

| GA date =

| latest release version = Release 8

| latest release date = {{Start date and age|1986|11|14|df=yes}}{{cite web|url=https://www-01.ibm.com/common/ssi/cgi-bin/ssialias?appname=skmwww&htmlfid=897%2FENUS286-462&infotype=AN&subtype=CA|date=1986-10-07|title=IBM SYSTEM/38 CONTROL PROGRAM FACILITY RELEASE 8 AVAILABLE WITH ENHANCEMENTS|publisher=IBM|access-date=2021-04-07}}

| latest preview version =

| latest preview date =

| marketing target =

| programmed in = PL/MI{{cite book|title=Inside the AS/400, Second Edition|url=https://books.google.com/books?id=5DoPAAAACAAJ|isbn=978-1882419661|author=Frank G. Soltis|year=1997|publisher=Duke Press}}

| language =

| update model =

| package manager =

| supported platforms = IBM System/38

| kernel type =

| userland =

| ui = Command-line interface

| license = Proprietary

| preceded by =

| succeeded by = OS/400

| website =

| support status =

| other articles =

| prog_language =

}}

Control Program Facility (CPF) is the operating system of the IBM System/38.{{cite book | url = http://bitsavers.org/pdf/ibm/system38/IBM_System_38_Technical_Developments_Dec1978.pdf | title = IBM System/38 Technical Developments | publisher = IBM Product Design and Development, General Systems Division | orig-year = 1978 | year = 1980 | isbn = 0-933186-03-7 | id = G580-0237-1}} 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.{{cite journal|url=https://www.computer.org/csdl/magazine/co/1981/09/01667517/13rRUwciPii|title=Design of a Small Business Data Processing System|first=Frank|last=Soltis|journal=IEEE Computer|date=September 1981|volume=14|pages=77–93|doi=10.1109/C-M.1981.220610|s2cid=398484|url-access=subscription}}

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).{{cite web|url=https://people.cs.clemson.edu/~mark/fs.html|title=IBM Future System (FS) - 1970s|author=Mark Smotherman|accessdate=October 11, 2017}} 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.{{cite book | chapter-url = http://www.cs.washington.edu/homes/levy/capabook/Chapter8.pdf | title = Capability-Based Computer Systems | chapter = The IBM System/38 | first = Henry M. | last = Levy | publisher = Digital Press | year = 1984 | isbn = 0-932376-22-3}} Capability-based addressing was removed in the follow-on OS/400 operating system.{{cite book | first1 = Frank G. | last1 = Soltis | url = https://books.google.com/books?id=ypJmzqt7JdUC | title = Fortress Rochester: The Inside Story of the IBM ISeries | page = 119 | publisher = 29th Street Press | date = July 2001 | isbn = 978-1-58304-083-6}}.

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.{{cite web|url=http://bitsavers.org/pdf/ibm/system38/SC21-7731-5_System_38_Control_Language_Reference_Manual_to_pg_4-708_198209.pdf|title=IBM System/38 Control Language Reference Manual|date=1982-09-10|publisher=IBM|access-date=2021-03-24}}{{Dead link|date=December 2023 |bot=InternetArchiveBot |fix-attempted=yes }}

References

{{Reflist}}