ArticleslgStudy

computer science

VP/CSS

VP/CSS is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand VP/CSS rather than just read about it. In short: 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.

Key takeaways

  • VP/CSS belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect VP/CSS to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of VP/CSS from memory before moving on to harder problems.

Reference excerpt

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. 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.

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.

… excerpt ends here. Continue reading the full article.

Worked examples

Example 1 — a first encounter with VP/CSS

Start with the simplest possible case. Write down what VP/CSS claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to VP/CSS before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about VP/CSS ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of VP/CSS

In research
VP/CSS appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses VP/CSS in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
VP/CSS is common in secondary-school and first-year university syllabi. It links to neighbouring topics 1968 software, Custom software projects, History of software, so understanding it makes those chapters shorter.
In everyday life
Look for VP/CSS outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study VP/CSS in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what VP/CSS means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain VP/CSS out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is VP/CSS in simple terms?

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.

Why does VP/CSS matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study VP/CSS?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on VP/CSS.

Tags

  • 1968 software
  • Custom software projects
  • History of software
  • Mainframe computer software
  • Time-sharing operating systems

Keep exploring