Like CP-67, CP-40 and the first version of CMS were developed by IBM's Cambridge Scientific Center (CSC) staff, working closely with MIT researchers at Project MAC and Lincoln Laboratory.
Its declared goals were: However, there was also an important unofficial mission: To demonstrate IBM's commitment to and capability for supporting time-sharing users like MIT.
CP-40 (and its successor) achieved its goals from technical and social standpoints – they helped to prove the viability of virtual machines, to establish a culture of time-sharing users, and to launch a remote computer services industry.
Ultimately the virtualization concepts developed in the CP-40 project bore fruit in diverse areas, and remain important today.
Each virtual machine ran in "problem state" – privileged instructions such as I/O operations caused exceptions, which were then caught by the control program and simulated.
The basic architecture and user interface of CP-40 were carried forward into CP-67/CMS, which evolved to become IBM's current VM product line.
Pugh et al.[3] cite an IEEE paper[4] about the CP-40 virtual memory hardware, and states that it was "unique in that it included a parallel-search register bank to speed dynamic address translation.
The fact that virtualization capabilities were ultimately implemented in the -67, and thus enabled the success of CP-67/CMS, speaks to the tenacity and persuasiveness of the CSC team.
By September 1965, many important CMS design decisions had already been made: These were radical departures from the difficult file naming, job control (via JCL), and other requirements of IBM's "real" operating systems.