CP-67

CP-67 is a hypervisor, or Virtual Machine Monitor, from IBM for its System/360 Model 67 computer.

CP-67 is the control program portion of CP/CMS, a virtual machine operating system developed by IBM's Cambridge Scientific Center in Cambridge, Massachusetts. It was a reimplementation of their earlier research system CP-40, which ran on a one-off customized S/360-40. CP-67 was later reimplemented (again) as CP-370, which IBM released as VM/370 in 1972, when virtual memory was added to the System/370 series.

CP and CMS are usually grouped together as a unit, but the "components are independent of each other. CP-67 can be used on an appropriate configuration without CMS, and CMS can be run on a properly configured System/360 as a single-user system without CP-67."

Minimum hardware configuration
The minimum configuation for CP-67 is:
 * 2067 CPU, model 1 or 2
 * 2365 Processor Storage model 1—262,144 bytes of magnetic core memory with an access time of 750 ns (nanoseconds) per eight bytes.
 * IBM 1052 printer/keyboard
 * IBM 1403 printer
 * IBM 2540 card read/punch
 * Three IBM 2311 disk storage units, 7.5 MB each, 22.5 MB total
 * IBM 2400 magnetic tape data storage unit
 * IBM 270x Transmission Control unit

Installation
Disks to be used by CP have to be formatted by a standalone utility called FORMAT, loaded from tape or punched cards. CP disks are formatted with fixed-length 829 byte records.

Following formatting, a second stand-alone utility, DIRECT, partitions the disk space between permanent (system and user files) and temporary (paging and spooling) space. DIRECT also creates the user directory identifying the virtual machines (users) available in the system. For each user the directory contains identifying information, id and password, and lists the resources (core, devices, etc) that this user can access, Although a user may be allowed access to physical devices it is more common to specify virtual devices, such as a spooled card reader, card punch, and printer. A user can be allocated one or more virtual disk units, "mini disks" [sic.], which resemble a real disk of the same device type, except that they occupy a subset of the space on the real device.