Information Technology Reference
In-Depth Information
an expensive operation, and so it typically was scheduled for the dead of the
night.
Virtual machines were developed to address this limitation (see Figure 1.4).
Instead of running a test operating system directly on the hardware, with virtual
machines an operating system can be run just like any another application. The
true operating system, called a virtual machine monitor , exports an abstract
Definition: virtual
machine monitor
machine interface (AMI) that is identical to the underlying hardware. The test
operating system running on top of the virtual machine does not need to know
that it is running in a virtual environment | it executes instructions, accesses
hardware devices, restores application state after an interrupt just as it would
running on real hardware.
Virtual machines have become widely used for operating system develop-
ment, backward compatibility, and cross-platform support. Old application
software that runs only on an old version of an operating system can share
hardware with entirely new applications. The virtual machine monitor runs
two virtual machines | one for the new operating system for up to date ap-
plications and a separate one for any legacy applications. As another example,
MacOS users wanting to run Windows applications can do so by running them
inside a virtual machine.
1.3.4
Time-sharing operating systems
Eventually, the cumulative eect of Moore's Law meant that the cost of com-
puting dropped to where we could start designing systems optimized for users,
rather than optimized for ecient use of the processor. UNIX, for example,
was developed in the early 70's on a spare computer that no one was using at
the time. UNIX became the basis of Apple's MacOS X, Linux, widely used for
servers at Google and Facebook, VMware, a widely used virtual machine moni-
tor, and Google Android, a smartphone operating system. Figure 1.11 provides
a sketch of the history of some of today's commercial operating systems.
A time-sharing operating system, such as Windows, MacOS, and Linux, is
Definition: time-sharing
one designed to support interactive use of the computer, rather than the batch
mode processing of earlier systems. With time-sharing, the user types input
on a keyboard or other input device directly connected to the computer. Each
keystroke or mouse action causes an interrupt to the processor signalling the
event; the interrupt handler reads the event from the device and queues it in-
side the operating system. When the user's word processor, game, or other
application resumes, it fetches the event from the operating system, processes
the event, and alters the display appropriately, before fetching the next event.
Hundreds or even thousands of such events can be processed per second, requir-
ing both the operating system and the application to be designed for frequent,
very short bursts of activity, rather than the sustained execution model of batch
processing.
 
Search WWH ::




Custom Search