[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Alternative to VMware?



on Mon, Feb 02, 2004 at 12:54:03PM -0600, Joel Konkle-Parker (jjk3@msstate.edu) wrote:
> I really want to get a copy of VMware, but I don't have $140 for the 
> student version. So I'm looking for alternatives. I just want some kind 
> of sandbox where I can test out new software, distros, etc, without 
> rebooting into a seperate partition.
> 
> What do other people use?

In the late-to-the-party tradition (and I saw you settled on VMWare):


A brief review of various emulation / virtualization / compatibility
options.

VMWare is a hardware virtualization system.   It's specific to x86
hardware, and relies on the underlying hardware as well as the OS.  It's
actually performing much the same functionality as IBM's VM (virtual
machine), and borrows heavily from this, conceptually.  x86 hardware
isn't designed ground-up to be virtualizeable, though it turns out to
support the concept reasonably well.

VMWare doesn't provide a software machine, but uses software to
virtualize the hardware machine.  The performance hit is actually
relatively slight, the primary exception being disk access.  It does
help to have a healthy memory allocation as well.  You're stuck with the
component set that VMWare gives you (all VMWare machines are effectively
identically configured).  With the one possible exception that
something's been skewered to make Microsoft's registration system take
hold -- otherwise you'd be able to clone a single instance of WinXP Pro
across every single VMWare instance in existance.  Some virtual hardware
(sound in particular) is only present if your actual hardware has the
corresponding support.

Though why you'd want to virtually waste a virtually perfectly good
virtual machine is virtually beyond me....



By contrast, bochs / plex86 are hardware *emulations*.  You're getting
hardware-in-software.  Plex86 _may_ offer some level of virtualization,
but it's markedly less than VMWare.  Upside is that you can run an
emulated x86 box on other achitectures, and that you can create a
virtual system with resources beyond those supported by the host -- more
memory, in particular.

The ... downside ... is ... that ... it's ... pathelogically ... slow.

I've tried, several times, to do a simple MS DOS install in Plex86.
After the second or third hour on the first installation disk, the idea
starts to lose its appeal.


Other compatibility systems include 

  - Win4Lin, which offers what I'll inaccurately and blythely call "OS
    emulation" -- you're getting the operating environment emulated in
    the host, it _may_ require an OS instance, and is specific to
    DOS-based 'Doze -- Win95/98/ME.  Win2K, WinXP, and Win2K+3 aren't
    supported.

  - WINE, which offers binary application compatibility -- system calls
    are translated from one OS to another.

  - DOSEMU, which properly isn't an emulator, but a virtual machine (as
    with VMWare), though one restricted to the 386 virtual machine
    capabilities of the x86 CPU.

  - UML, "user mode linux", is an option if you want to run a GNU/Linux
    system wholly contained within another.  This is a higher level of
    seperation than a chroot jail, but offers better performance than
    most of the emulation tools.  UML is kernel-in-software -- you run
    "linux" as a user-space process on the host, it uses a directory,
    filesystem image, or partition as its root partition.  Very useful
    for a number of tricks.

  - On Microsoft systems, if you want a Unix run-alike environment,
    options include Cygwin (highly recommended), the apparently
    faltering UWIN project from AT&T Research, and Microsoft's own Shut
    the F*ck Up, erm, SFU, ("services for Unix").  After failing to sell
    this product, MSFT is now failing to distribute it for free.  Don't
    be suckered.


Other "not quite there", if you'll pardon the expression, solutions
involve remote access tools.  VNC, rdesktop, and a few other clients
allow remote access to a legacy MS Windows desktop or terminal services
server.  Here you're getting legacy MS Windows functionality from a
real legacy MS Windows system, but you don't have to be there for it.


Recommendations are for WINE, VMWare, VNC, or Win4Lin, roughly in that
order.

WINE is cheap (well, free), and works pretty well for a large number of
apps.  You might as well see if it suits your needs.  For older
software, you'll almost certainly have substantial functionality.  You
can also look at Codeweavers, with is WINE wrapped in a bit of
commercial product chrome.  Well reviewed, haven't used it myself.

VMWare is the 600lb gorilla and 99% solution.  Unless you're dealing
with a performance- or hardware- dependent solution, it _really_ works,
_really_ well.  It's slower than real life, but once you're above the
600 MHz system, and have memory to throw at it, it's good.  Not cheap:
you need both VMWare and the OS to install on it.  It's beautifully
suited to helpdesks, support centers, development, and network
simulations.

VNC is good if you have a small number of apps which absolutely require
legacy MS Windows.  You can't share a session, but multiple people can
have nonexclusive access to a box.  rdesktop and related tools offer
similar functionality.  I believe there's a terminal services client for
GNU/Linux, though I haven't looked into this, and the CALs issue is a
fucking nightmare.

Win4Lin was pretty popular a few years back, and apparently worked
pretty well.


bochs/plex86 are largely a development tool for the time being.  I can't
recommend them for general compatibility use.  This situation has
persisted for much of the past 4-5 years or more.


Peace.

-- 
Karsten M. Self <kmself@ix.netcom.com>        http://kmself.home.netcom.com/
 What Part of "Gestalt" don't you understand?
   Rules of Spam:  #1:  Spammers lie.

Attachment: signature.asc
Description: Digital signature


Reply to: