CP / CMS

from Wikipedia, the free encyclopedia
QS IT
This article was due to content flaws on the quality assurance side of the computer science editorial added. This is done in order to bring the quality of the articles from the subject area of ​​computer science to an acceptable level. Help to eliminate the shortcomings in this article and take part in the discussion !  ( + )
CP / CMS
Basic data

developer IBM Cambridge Scientific Center
category operating system
License Open source

CP / CMS ( C ontrol P rogram / C ambridge M onitor S ystem ) was a time-sharing operating system known in the late 1960s and early 1970s, and for its excellent performance and advanced features. It had three different versions:

  • CP-40 / CMS, an important " spin-off " of the research system that established the architecture of the virtual machine in CP / CMS
  • CP-67 / CMS, a new implementation of the CP-40 / CMS for the IBM System / 360-67
  • CP-370 / CMS, a new implementation of the CP-67 / CMS for the System / 370 - never published as such, but became the basis of the IBM VM / 370 operating system in 1972

Each implementation was a major redesign of its predecessor. CP-67 / CMS was the first widely available virtual machine architecture.

In addition to its role as the forerunner of the VM-OS family, CP / CMS played an important role in the development of operating system theory, the design of the IBM System / 370, the time-sharing computer systems, and the creation of a self-sustaining user community today's free software movement.

history

CP / CMS was developed by IBM's Cambridge Scientific Center (CSC), a research and development laboratory with links to MIT , under the direction of Robert Creasy. The aim of the system development was the use of new operating system technologies and other large IBM projects.

It was an open source system and was available free of charge as source code to all IBM customers - as part of the unsupported IBM Type III library. The CP / CMS users support themselves and each other.

construction

CP / CMS consists of two main components:

  1. CP the control program, creates the virtual machine environment. The widely used version, CP-67, ran on the S / 360-67. (The research system CP-40 established the architecture. A third version, CP-370, became VM / 370). Instead of explicitly sharing memory and other resources among users, which had been the traditional approach, CP simulated a stand-alone System / 360 computer for each user.
  2. CMS, the Cambridge Monitor System (and also Console Monitor System or Conversational Monitor System , later renamed VM) was a simple single-user operating system for interactive time-sharing applications. By running many copies of the CMS in virtual machines instead of multiple copies of large, traditional multi-tasking operating systems, the cost per user was reduced. This allowed a large number of concurrent users to share a single S / 360.

Each system was able to use any S / 360 software that was running on that machine, and each user had "their own computer system".

The virtual CP / CMS machine concept was an important step in operating system design.

By isolating users from one another, the reliability and security of CP / CMS systems has greatly improved. By simulating a full, self-contained computer for each user, CP / CMS was able to run any S / 360 software in a time-sharing environment, not just applications specifically designed for time-sharing. Using CMS as the primary user interface of CP / CMS has achieved unprecedented time-sharing performance. In addition, the simplicity of the CMS makes it easier to implement an improved user interface than with conventional operating systems at the time.

IBM implemented CP / CMS in the VM / 370 product line and released it in 1972. VM / 370's successors (like z / VM) were widely used.

CP / CMS was seen as the "other operating system from IBM" for batch-oriented processes. VM retained this role until recently. But CP / CMS overcame the limited resources and was able to preserve the technical legacy of the remaining users. It became the main derivative for the systems previously created in the time-share computer industry, and ultimately one of IBM's most important products in the 21st century.

The CP / CMS architecture was revolutionary for its time. The system consisted of a virtualizing control program (CP) that creates several independent virtual machines (VMs).

The virtualization consisted of two elements of the possible IBM System / 360-67:

  • Separation of privileged "supervisor" instructions from normal "problem state" instructions
  • Address translation hardware

A program can run in "problem state" if the hardware requires an exception with a privileged instruction or an invalid memory address. By catching these conditions, CP was able to simulate the appropriate behavior, e.g. B. Performing an input / output or a page change. A host operating system that would run as a "supervisor" on a bare machine would run in the "problem state" of CP.

In a fully virtualized environment, each virtual machine has its own set of virtual devices, which are mapped by the real hardware environment of the system. A dial-up teleprinter is managed in its VM instance as a virtual console.

Depending on the model, some diagnostic instructions were not virtualized in the CP-67. Ultimately, in later development at IBM, DIAG instructions were used to create a non-virtualized interface called a hypervisor. Client operating systems can use this mechanism to communicate directly with the control program; this opportunity offered dramatic performance improvements.

In fact, any S / 360 operating system could run under CP. But the normal user ran in the Cambridge Monitor System (CMS) as a simple single user operating system. CMS allows users to run programs and manage their virtual devices. CP-67 versions 1 and 2 do not support virtual memory in a virtual machine. This was added in version 3. From that point on, CP could do the testing and development itself by keeping a full copy of CP / CMS in a single virtual machine. Some CP / CMS operating systems work, like CP-370 in the development and testing of MVS, in the hardware and OS simulations.

The CP / CMS design was a departure from other monolithic operating systems from IBM. CP / CMS separates the "large system" complex. All problems such as disposition, hardware management, mass storage can be replaced by "small system" functions for the application of program execution, file I / O, console input / output for a single user. Each component could thus be simplified. Separate users improve the system stability, as if a bug in the software did not crash another user, the CMS of another user or the underlying CP. This architecture reaches its peak in microkernel operating systems.

IBM's decision for virtualization and for virtual storage functions in the subsequent S / 370 design (although still missing in the first S / 370 series) reflects, at least in part, the success of the CP / CMS approach. In turn, the survival and success of the IBM VM family of operating systems and virtualization technology in general is due to the S / 360-67.

In many ways, the IBM CP-67 and the CP / CMS products have greatly influenced virtualization software such as VMware Workstation , Xen and Microsoft Virtual PC .

See also

Web links

Individual evidence