VP/CSS

Last updated
VP/CSS
Developer IBM / National CSS
Working stateHistoric
Initial release1968;54 years ago (1968)
Platforms IBM System/360-67, System/370
Preceded by CP/CMS

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.

Contents

VP/CSS ran on IBM and IBM plug compatible hardware owned by NCSS (and by a few customers with site licenses, including Bank of America and Standard Oil of California). After an initial period running on the IBM System/360-67 platform used by CP/CMS, VP/CSS was ported to the System/370 series, made possible when IBM added virtual memory capabilities to the S/370 series in 1972.

VP/CSS was notable for supporting very large numbers of interactive users per machine, when compared with other IBM mainframe operating systems. Technical, operations, and commercial factors all played a role in making National CSS a commercially viable service business.

Architecture

VP/CSS shared the basic architecture and concepts of CP/CMS, which were revolutionary for their time. A control program (called CP in CP/CMS, VP in VP/CSS) created multiple independent virtual machines (VMs), implementing a full virtualization of the underlying hardware – meaning that each time-sharing user was provided with a private virtual machine. Each appeared to be an entire, stand-alone computer, capable of running any software that could run on the bare machine, including other operating systems. (This concept was pioneered with IBM's research system CP-40 in the first version of CP/CMS.)

This design was a departure from IBM's other monolithic operating systems. Isolating users from each other improved system stability: a bug in one user's software could not crash another user's virtual machine, nor the underlying control program. This approach made CP/CMS a superior choice for commercial time-sharing, and thus a strong foundation for National CSS as it broke new ground in what would become an important new industry.

Each VM created by VP ran a simple, single-user operating system called CSS, derived from IBM's Cambridge Monitor System. CSS allowed users to run programs, manipulate a file system, and manage virtual devices.

Since VP and CSS began life as CP and CMS, respectively, they closely resembled these systems, particularly in their early days. Continuous development and introduction of new features in both VP/CSS and IBM's VM led to significant differences over time; but the systems retained an obvious family resemblance.

IBM's decision to add virtualization and virtual memory features to the S/370 reflects the success of the virtual machine approach to time-sharing. Some credit for this belated decision has been attributed to IBM's awareness of the commercial success of National CSS. [1]

NCSS enhancements

In 1968, the founders of National CSS saw that the CP/CMS operating system would be a good foundation for a time-sharing business – because of the system's technical merits, its ability to share mainframe resources among many interactive users, and its availability in source code form at no cost. Another firm, Interactive Data Corporation, reached the same conclusion. Each firm lured away key CP/CMS technical personnel from CSC, MIT, and Union Carbide.

National CSS quickly discovered, however, that CP/CMS initial performance was not adequate to sustain profitable operations – that, literally, selling every available minute of interactive time would only pay for the $50K/month equipment lease. A crash technical project began to improve performance; this led to a number of fundamental enhancements, and soon allowed the business to make money. Thus began a lengthy reimplementation effort that would occupy a large development team over the course of some fifteen years. At the end of its lifespan, VP/CSS had diverged a long way from its CP/CMS roots, and boasted a surprising array of features, some of which would be considered quite modern even today.

Key enhancements to the original CP/CMS system included changes in the dispatching algorithm and the paging system. Virtual memory was of course a new concept at the time, and the IBM System/360-67 address translation technology enabled various technical approaches. Ultimately, the VP/CSS page migration algorithm and three-queue dispatcher became well-known, and some NCSS personnel eventually joined IBM's Thomas J. Watson Research Center to work on VM technologies.

Another area for throughput improvement was in the performance of the CSS single-user operating system. One important change was replacing Channel Command Words (CCWs) and other expensive simulated instructions with something like what today are termed BIOS calls. Simulating the complex S/360 I/O architecture through virtualization was an amazing feat – done in CP's complex innermost core, in a routine called "CCWTRANS," as I/O operations were trapped within each virtual machine. However, it proved enormously cheaper to make direct hypervisor calls for targeted functions, rather than simulating the operation of low-level I/O commands. In VP/CSS, this was done using paravirtualization via the non-virtualized DIAG (diagnose) instruction. The same technique was used by IBM in CP/CMS release 3.1, and carried forward into VM/370. (It is unclear which implementation came first – or whether they were invented independently.)

Early National CSS technical efforts quickly established VP/CSS as a commercially viable version of CP/CMS. VP/CSS was reputed to have much better performance than IBM's reimplementation of CP/CMS, VM/370 – which in turn was reputed to have a substantial performance advantage over IBM's "preferred" timesharing solution, TSO. Unfortunately, documented period performance statistics are hard to find today. However, there are several data points that support such claims.

  1. Numerous VM documents, such as Varian's famous paper, cite "CP's performance advantages over TSO". [2]
  2. From structural arguments, it is reasonable that CMS under VM should consistently outperform TSO under OS. VM was designed as a time-sharing system, and had a substantial technical edge in running interactive applications.
  3. OS/VS had well known performance problems in this period. (The MVS performance group famously adopted the turkey as the operating system's mascot.)
  4. CP/CMS started with good relative performance; and then a broad range of performance improvements followed.
  1. NCSS had a strong commercial incentive to run as many users as possible, a pressure not present at IBM.
  2. NCSS succeeded in selling large VP/CSS site license installations to the likes of Bank of America and Standard Oil of California for time-sharing use – in spite of the manifest problems that such large IBM customers would face by going against the IBM mainstream.

The following relative performance is believed to be accurate, although documented sources remain to be located:

As described in History of CP/CMS, IBM's primary emphasis on MVS and its successors as its core mainframe operating system led IBM to waste the substantial technical advantage represented by VM/370. This made it possible for an independent vendor like NCSS to strike into new territory. (Industry observers have pointed out that a hardware vendor has a natural preference for selling more hardware than for increasing the number of users per machine.) NCSS gained technical advantages, and ultimately became very successful commercially, despite the fact that the optimization techniques it used to enhance VP and CSS performance were well understood, and well-documented in the literature of the day. [4]

Ultimately, after Amdahl Corporation publicized its sales wins at several large VP/CSS data centers, IBM began to pay more public attention to NCSS and its technical innovations. Not long thereafter, as the time-sharing industry began to feel pressure from the personal computer revolution, the need for a super-optimized multiuser mainframe operating system waned.

Fate

NCSS moved away from VP/CSS in the mid 80s, retargeting Nomad for VM and other platforms. It is unknown how long any NCSS site-license customers continued to use VP/CSS on their own equipment (though it seems unlikely any could continue for long without ongoing NCSS operating system support).

See also

Related Research Articles

IBM mainframes are large computer systems produced by IBM since 1952. During the 1960s and 1970s, IBM dominated the large computer market. Current mainframe computers in IBM's line of business computers are developments of the basic design of the IBM System/360.

Time-sharing Method of sharing a computing resource among multiple 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.

Conversational Monitor System

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.

MUSIC/SP defunct time-sharing system software

MUSIC/SP was developed at McGill University in the 1970s from an early IBM time-sharing system called RAX.

VM (operating system) 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.

CP/CMS IBM operating system specializing in virtualization

CP/CMS is a discontinued time-sharing operating system of the late 60s and early 70s, 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 2020. 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 similar to an emulator; it is 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. 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.

NOMAD is a relational database and fourth-generation language (4GL), originally developed in the 1970s by time-sharing vendor National CSS. While it is still in use today, its widest use was in the 1970s and 1980s. NOMAD supports both the relational and hierarchical database models.

National CSS, Inc. (NCSS) was a time-sharing firm in the 1960–80s, until its acquisition by Dun & Bradstreet in 1979. NCSS was originally headquartered in Norwalk, Connecticut, but relocated to Wilton in 1978. Sales offices, data centers, and development facilities were located at various sites throughout the U.S. Some additional sales offices were active in the UK and elsewhere.

The following is a timeline of virtualization development. In computing, virtualization is the use of a computer to simulate another computer. Through virtualization, a host simulates a guest by exposing virtual hardware devices, which may be done through software or by allowing access to a physical device connected to the machine.

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.

IBM CP-40

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.

IBM System/360 Model 67 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.

OS/VS1

Operating System/Virtual Storage 1, or OS/VS1, is a discontinued IBM mainframe computer operating system designed to be run on IBM System/370 hardware. It was the successor to the Multiprogramming with a Fixed number of Tasks (MFT) option of System/360's operating system OS/360. OS/VS1, in comparison to its predecessor, supported virtual memory. OS/VS1 was generally available during the 1970s and 1980s, and it is no longer supported by IBM.

The history of operating systems running on IBM mainframes is a notable chapter of history of mainframe operating systems, because of IBM's long-standing position as the world's largest hardware supplier of mainframe computers.

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.

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

  1. See the CP/CMS article; Varian's paper discusses these events and the possible role of NCSS success in IBM's decision
  2. See CP/CMS, Varian, p. 25, note 84 – CP's performance advantage over TSO
  3. Feinleib, op. cit., p. 5 – 15 users on CP-67 at Lincoln Labs; also describes early technical steps to improve performance
  4. See references to CP-40 and CP/CMS articles, which address many of the technical issues

Further reading

 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