Virtual Machines

Sort By:

Samba Does Windows-to-Linux Dance

Mounting remote Linux drives under Windows is easier than you think.

by Alex Wolfe | August 31, 2004


The Reincarnation of Virtual Machines

The term "virtual machine" initially described a 1960s operating system concept: a software abstraction with the looks of a computer system's hardware (real machine). Forty years later, the term encompasses a large range of abstractions - for example, Java virtual machines that don't match an existing real machine. Despite the variations, in all definitions the virtual machine is a target for a programmer or compilation system. In other words, software is written to run on the virtual machine.

by Mendel Rosenblum | August 31, 2004


Virtual Machines of the Past (and Future)

Simulators are a form of "virtual machine" intended to address a simple problem: the absence of real hardware. Simulators for past systems address the loss of real hardware and preserve the usability of software after real hardware has vanished. Simulators for future systems address the variability of future hardware designs and facilitate the development of software before real hardware exists.

by Bob Supnik | August 31, 2004


Returning Control to the Programmer:
SIMD Intrinsics for Virtual Machines

Exposing SIMD units within interpreted languages could simplify programs and unleash floods of untapped processor power.

by Jonathan Parri, Daniel Shapiro, Miodrag Bolic, Voicu Groza | February 24, 2011

CACM This article appears in print in Communications of the ACM, Volume 54 Issue 4


Building Systems to Be Shared, Securely

The history of computing has been characterized by continuous transformation resulting from the dramatic increases in performance and drops in price described by Moore's law. Computing "power" has migrated from centralized mainframes/servers to distributed systems and the commodity desktop. Despite these changes, system sharing remains an important tool for computing. From the multitasking, file-sharing, and virtual machines of the desktop environment to the large-scale sharing of server-class ISP hardware in collocation centers, safely sharing hardware between mutually untrusting parties requires addressing critical concerns of accidental and malicious damage.

by Poul-Henning Kamp, Robert Watson | August 31, 2004


A Conversation with James Gosling

As a teenager, James Gosling came up with an idea for a little interpreter to solve a problem in a data analysis project he was working on at the time. Through the years, as a grad student and at Sun as creator of Java and the Java Virtual Machine, he has used several variations on that solution. "I came up with one answer once, and I have just been repeating it over and over again for a frightening number of years," he says.

by Eric Allman | August 31, 2004