Information Technology Reference
In-Depth Information
surprising that system programmers were among VM's biggest advocates. System
programmers discovered that VM could be used for a lot more than just convert-
ing operating systems, and they began to promote its use for CMS-based time
sharing for application developers and end users.
While it may seem odd from today's perspective, in the 1970s very few people
directly interacted with a computer. Those who did generally used time-shared
multiuser computer systems in the style pioneered on CTSS. VM extended this
concept, and anticipated the emergence of the personal computer by giving each
user a virtual personal computer with a private, lightweight CMS instance.
Although the PC eventually made the time-sharing style of computing largely
disappear, interactive computing in the 1970s and 1980s was dominated by time
sharing on VM, UNIX, and VAX VMS. In fact, time sharing never completely
disappeared: It eventually re-emerged in conjunction with thin-client comput-
ing, such as Sun Ray thin clients and Virtual Desktop Integration (VDI), which
provides the economic advantages of shared infrastructure using modern user
interfaces and application interfaces.
The division of function between the VM hypervisor and the simple CMS guest
was extended in non-time-sharing contexts by inter-user messaging APIs that
presaged TCP/IP sockets. These APIs, which were implemented by a protocol that
let a guest virtual machine request services from the hypervisor, permitted cre-
ation of interacting collections of daemon-style “service virtual machines.” These
applications were often implemented in scripts, which reduced the difficulty asso-
ciated with their creation and let a wider population of developers create services.
Many applications were soon implemented by communicating virtual machines, a
forerunner of later client/server systems with applications implemented by physi-
cal machines.
Service virtual machines also implemented functions typically implemented in
the OS kernel in conventional operating systems: Access control for login and data
access, communications virtual machines for file transmission, and even the SNA
and TCP/IP network stacks were implemented in virtual machines rather than
in the VM hypervisor. While this strategy had some negative performance impli-
cations, the simpler programming model working in “user land” offered several
advantages over adding code to the kernel. In particular, it made it much easier to
develop services, provided kernel insulation from programming errors and secu-
rity attacks, and kept the hypervisor from growing in complexity.
VM systems were sometimes used exclusively for running many time-sharing
users, or for running a limited number of heavy virtual machines that ran a full
multiprogramming OS, such as OS/360 and its descendants. This arrangement
was often called a “guest workload,” even though technically all virtual machines
were guests. VM was also used for mixed workloads that combined both, which
placed additional demands on its resource management.
 
Search WWH ::




Custom Search