IBM M44/44X

Last updated

The IBM M44/44X was an experimental computer system from the mid-1960s, designed and operated at IBM's Thomas J. Watson Research Center at Yorktown Heights, New York. It was based on a modified IBM 7044 (the 'M44'), and simulated multiple 7044 virtual machines (the '44X'), using both hardware and software. Key team members were Dave Sayre and Rob Nelson. This was a groundbreaking machine, used to explore paging, the virtual machine concept, and computer performance measurement. It was purely a research system, and was cited in 1981 by Peter Denning as an outstanding example of experimental computer science. [1]

The term virtual machine probably originated with the M44/44X project, from which it was later appropriated by the CP-40 team to replace their earlier term pseudo machine.

Unlike CP-40 and later CP/CMS control programs, M44/44X did not implement a complete simulation of the underlying hardware (i.e. full virtualization). CP-40 project leader Robert Creasy observed:

The M44/44X "was about as much of a virtual machine system as CTSS which is to say that it was close enough to a virtual machine system to show that 'close enough' did not count. I never heard a more eloquent argument for virtual machines than from Dave Sayre." [2]

M44/44X "implanted the idea that the virtual machine concept is not necessarily less efficient than more conventional approaches" a core assumption in the CP/CMS architecture, and one that ultimately proved very successful. [3]

Related Research Articles

<span class="mw-page-title-main">Time-sharing</span> Computing resource shared by concurrent users

In computing, time-sharing is the sharing of a computing resource among many users at the same time by means of multiprogramming and multi-tasking.

In computing, a virtual machine (VM) is the virtualization/emulation of a computer system. Virtual machines are based on computer architectures and provide functionality of a physical computer. Their implementations may involve specialized hardware, software, or a combination. Virtual machines differ and are organized by their function, shown here:

<span class="mw-page-title-main">Conversational Monitor System</span>

The Conversational Monitor System is a simple interactive single-user operating system. CMS was originally developed as part of IBM's CP/CMS operating system, which went into production use in 1967. CMS is part of IBM's VM family, which runs on IBM mainframe computers. VM was first announced in 1972, and is still in use today as z/VM.

This article presents a timeline of events in the history of computer operating systems from 1951 to the current day. For a narrative explaining the overall developments, see the History of operating systems.

<span class="mw-page-title-main">VM (operating system)</span> Family of IBM operating systems

VM is a family of IBM virtual machine operating systems used on IBM mainframes System/370, System/390, zSeries, System z and compatible systems, including the Hercules emulator for personal computers.

<span class="mw-page-title-main">CP/CMS</span> IBM operating system specializing in virtualization

CP/CMS is a discontinued time-sharing operating system of the late 1960s and early 1970s, known for its excellent performance and advanced features. It had three distinct versions:

z/VM

z/VM is the current version in IBM's VM family of virtual machine operating systems. z/VM was first released in October 2000 and remains in active use and development as of 2022. It is directly based on technology and concepts dating back to the 1960s, with IBM's CP/CMS on the IBM System/360-67. z/VM runs on IBM's IBM Z family of computers. It can be used to support large numbers (thousands) of Linux virtual machines.

A hypervisor is a type of computer software, firmware or hardware that creates and runs virtual machines. A computer on which a hypervisor runs one or more virtual machines is called a host machine, and each virtual machine is called a guest machine. The hypervisor presents the guest operating systems with a virtual operating platform and manages the execution of the guest operating systems. Unlike an emulator, the guest executes most instructions on the native hardware. Multiple instances of a variety of operating systems may share the virtualized hardware resources: for example, Linux, Windows, and macOS instances can all run on a single physical x86 machine. This contrasts with operating-system–level virtualization, where all instances must share a single kernel, though the guest operating systems can differ in user space, such as different Linux distributions with the same kernel.

László "Les" Bélády was a Hungarian computer scientist notable for devising the Bélády's Min theoretical memory caching algorithm in 1966 while working at IBM Research. He also demonstrated the existence of a Bélády's anomaly. During the 1980s, he was the editor-in-chief of the IEEE Transactions on Software Engineering.

VP/CSS was a time-sharing operating system developed by National CSS. It began life in 1968 as a copy of IBM's CP/CMS, which at the time was distributed to IBM customers at no charge, in source code form, without support, as part of the IBM Type-III Library. Through extensive in-house development, in what today would be termed a software fork, National CSS took VP/CSS in a different direction from CP/CMS. Although the two systems would eventually share many capabilities, their technical implementations diverged in substantive ways.

The IBM Cambridge Scientific Center was a company research laboratory established in February 1964 in Cambridge, Massachusetts. Situated at 545 Technology Square, in the same building as MIT's Project MAC, it was later renamed the IBM Scientific Center. It is most notable for creating the CP-40 and the control program portions of CP/CMS, a virtual machine operating system developed for the IBM System/360-67.

<span class="mw-page-title-main">IBM CP-40</span>

CP-40 was a research precursor to CP-67, which in turn was part of IBM's then-revolutionary CP[-67]/CMS – a virtual machine/virtual memory time-sharing operating system for the IBM System/360 Model 67, and the parent of IBM's VM family. CP-40 ran multiple instances of client operating systems – particularly CMS, the Cambridge Monitor System, built as part of the same effort. 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. CP-40/CMS production use began in January 1967. CP-40 ran on a unique, specially modified IBM System/360 Model 40.

<span class="mw-page-title-main">IBM System/360 Model 67</span> 1967 IBM mainframe model with virtual memory and 32-bit addressing

The IBM System/360 Model 67 (S/360-67) was an important IBM mainframe model in the late 1960s. Unlike the rest of the S/360 series, it included features to facilitate time-sharing applications, notably a Dynamic Address Translation unit, the "DAT box", to support virtual memory, 32-bit addressing and the 2846 Channel Controller to allow sharing channels between processors. The S/360-67 was otherwise compatible with the rest of the S/360 series.

This article covers the History of CP/CMS — the historical context in which the IBM time-sharing virtual machine operating system was built.

<span class="mw-page-title-main">Full virtualization</span> Computing technique involving instances of an environment

In computer science, full virtualization (fv) employs techniques used to create instances of an environment, as opposed to simulation, which models the environment; or emulation, which replicates the target environment such as certain kinds of virtual machine environments. Full virtualization requires that every salient feature of the hardware be reflected into one of several virtual machines – including the full instruction set, input/output operations, interrupts, memory access, and whatever other elements are used by the software that runs on the bare machine, and that is intended to run in a virtual machine. In such an environment, any software capable of execution on the raw hardware can be run in the virtual machine and, in particular, any operating systems. The obvious test of full virtualization is whether an operating system intended for stand-alone use can successfully run inside a virtual machine. This is a modern technique developed in late 1990s and is different from simulation and emulation.

Hardware virtualization is the virtualization of computers as complete hardware platforms, certain logical abstractions of their componentry, or only the functionality required to run various operating systems. Virtualization hides the physical characteristics of a computing platform from the users, presenting instead an abstract computing platform. At its origins, the software that controlled virtualization was called a "control program", but the terms "hypervisor" or "virtual machine monitor" became preferred over time.

The history of IBM mainframe operating systems is significant within the history of mainframe operating systems, because of IBM's long-standing position as the world's largest hardware supplier of mainframe computers. IBM mainframes run operating systems supplied by IBM and by third parties.

Robert Jay Creasy was the project leader of the first full virtualization hypervisor, the IBM CP-40, which later developed into IBM's highly successful line of mainframe VM operating systems.

Remote Spooling Communications Subsystem or RSCS is a subsystem of IBM's VM/370 operating system which accepts files transmitted to it from local or remote system and users and transmits them to destination local or remote users and systems. RSCS also transmits commands and messages among users and systems.

In computing, a system virtual machine is a virtual machine that provides a complete system platform and supports the execution of a complete operating system (OS). These usually emulate an existing architecture, and are built with the purpose of either providing a platform to run programs where the real hardware is not available for use, or of having multiple instances of virtual machines leading to more efficient use of computing resources, both in terms of energy consumption and cost effectiveness, or both. A VM was originally defined by Popek and Goldberg as "an efficient, isolated duplicate of a real machine".

References

  • L. Belady, "A study of replacement algorithms for virtual storage computers," IBM Systems Journal Vol. 5, No. 2 (1966), pp. 78-101
  • L. Belady and C. J. Kuehner, "Dynamic space sharing in computer systems," Communications of ACM Vol. 12 No. 5 (May 1969), pp. 282-288
  • L. Belady, R. A. Nelson, and G. S. Shedler, "An anomaly in the space-time characteristics of certain programs running in paging machines," Communications of the ACM Vol. 12, No. 6 (June 1969), pp. 349-353

Citations

  1. Denning, op. cit.
  2. Creasy, op. cit. relationship between M44/44X and CP-40
  3. L. Talkington, "A Good Idea and Still Growing", White Plains Development Center Newsletter, Vol. 2, No. 3 (March 1969) [quoted in Varian, op. cit., p. 10, Note 26]
 derivation     >> strong influence     > some influence/precedence
  CTSS  
> IBM M44/44X
>> CP-40/CMS CP[-67]/CMS  VM/370 → VM/SE versions → VM/SP versions → VM/XA versions → VM/ESAz/VM
VP/CSS
> TSS/360
> TSO for MVT → for OS/VS2 → for MVS → ... → for z/OS
>> MULTICS and most other time-sharing platforms