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}}
External links
- [http://www.bitsavers.org/pdf/ibm/system38/GC21-7729-0_System_38_Control_Program_Facility_Concepts_Manual_Oct78.pdf Control Program Facility Concepts Manual] (PDF file)
- [http://www.bitsavers.org/pdf/ibm/system38/SC21-7730-0_System_38_Control_Program_Facility_Programmers_Guide_Jan79.pdf Control Program Facility Programmer's Guide] (PDF file)
{{IBM operating systems}}