# VPS/VM

VPS/VM (Virtual Processing System/Virtual Machine) was an operating system that ran on IBM System/370 – IBM 3090 computers at Boston University in general use from 1977 to around 1990, and in limited use until at least 1993. During the 1980s, VPS/VM was the main operating system of Boston University and often ran up to 250 users at a time when rival VM/CMS computing systems could only run 120 or so users.
Each user ran in a Virtual Machine under VM, an IBM hypervisor operating system. VM provided the virtual IBM 370 machine which the VPS operating system ran under. The VM code was modified to allow all the VPS virtual machines to share pages of storage with read and write access. VPS utilized a shared nucleus, as well as pages used to facilitate passing data from one VPS virtual machine to another. This organization is very similar to that of MVS; substituting Address Spaces for Virtual Machines.

## Origins

According to Craig Estey, who worked at the Boston University Academic Computing Center between 1974 and 1977:
   VPS's original name was RACS (remote access computing system), originally developed at McGill University in Montreal from 1966 onward. The name got shortened to RAX. It was up and running from [at least] 1973 at BU [probably earlier]. Although there was a period of joint development, by 1972, McGill and BU started to diverge and McGill rebranded their version of RAX as MUSIC/SP at that time. MUSIC/SP has its own wiki entry with a few more details, a fair amount is applicable to BU/RAX...
   VPS development was evolutionary, rather than revolutionary. The changes necessary were phased in over time while the system was called RAX. It was rebranded VPS, mostly because the resulting system was good enough that there was an effort afoot to monetize it commercially...
   MUSIC/SP remained a standalone OS. But, BU had an IBM 370/145 and they ran IBM's VM/370 virtual machine hypervisor and RAX became a client OS. Originally, it used only one VM for all users. But, RAX became more and more "hypervisor aware". Eventually, it gave each RAX user their own VM (under the parent OS VM/370, but invisible to the RAX user), so eventually, RAX control resembled a multicore/distributed architecture of many [virtual] machines, with a single shared memory copy of the RAX client. When that work was completed, that's when it was renamed VPS.

## Description

An IBM-based operating system, and quite like some DOS/VSE time sharing options, VPS/VM provided the user an IBM 3270 full screen terminal (a green screen) and a user interface that was like VM/CMS. Each user had an 11 megabyte virtual machine (with a strange 3 megabyte memory gap in the middle) and, from 1984 onwards, could run several programs at a time.
The operating system was sparsely documented but was written first by Charles Brown, a BU doctoral student, and John H. Porter, a physics PHD, who later became the head of the VPS project (and eventually Boston University's vice president for information systems and technology). Marian Moore wrote much of the later VM code necessary to run the VPS system. Josie Bondoc wrote some of the later VPS additions, like UNIX piping.
Many MVS/VM programs ran on VPS/VM, such as XEDIT, and compilers for Pascal, PL/1, C and Cobol. These MVS/VM programs ran under an OS simulation program that simulated the OS/VM supervisor calls (SVCs). Margorie Orr supervised the OS simulation program development and maintenance. Some of the programmers who wrote parts of the OS simulation package, or maintained it were Margorie Orr, Timothy Greiser, Daniel Levbre, John Coldwell Lotz, and Paul Cheffers.
Michael Krugman wrote some of the early main utilities such as IFMSG, the JCL language for VPS, and also MAIL, the early email program. SENDMAIL, written by Francis Costanzo, implemented email, under the BITNET system.
Some pre SQL databases installed on VPS were FOCUS and NOMAD2.
Michael Gettes wrote an early and quick HELP system.
The file system was not hierarchical and originally each file had to have a unique 8 character filename. This eventually grew onerous and each user was given their own private directory.
Tapes and IBM disk files were supported as well as native VPS text files.
There was a very simple shell and no patterns were supported except for the PAW computer program, written by Paul Cheffers.
The graphics department, under Glenn Bresnahan, essentially, ported over most of the UNIX utilities in the mid 1980s.
William Marshall did much of the early system documentation, as well as providing PL/1 support. Joe Dempty was the User Services director. Diana Robanske was a statistics consultant and ran student assistance services from 1980-1985. John Houlihan was also a User Services statistics consultant.
VPS/VM was a working pre-GUI IBM operating system, and could often run more users than other IBM TSO-based systems. When most University-based systems only provided editors and compilers, VPS provided these services to a 10,000 BU university community for over 10 years.
VPS/VM policy was for the operating system and main utilities to be written in IBM 370 assembler language. This decision restricted the development of the system and it ultimately could not compete with the UNIX-based systems which eventually replaced it. However, VPS eventually modeled many of the features of then-current operating systems around the world and was a keen trainer for many companies that needed IBM370 assembler programmers in the 1980s.