On Tue, Aug 30, 2011 at 2:19 PM, Phil Hagelberg <p...@hagelb.org> wrote:
> On Tue, Aug 30, 2011 at 10:10 AM, Ken Wesson <kwess...@gmail.com> wrote:
>>> VirtualBox is free:  http://www.virtualbox.org/
>>
>> Emulators? I hadn't considered those [...]
>>
>> I'd think it especially likely that if there's a free one, there're a
>> lot of software that won't quite work the same as on a separate PC,
>> and will be outright broken in some cases.
>
> Virtualbox is not an emulator; it's a virtualization tool.

Same difference. Just because the processor hardware doesn't need to
be emulated doesn't make it not an emulator.

> On modern hardware (core 2+) it's capable of running at full CPU
> speed with a minor I/O perf penalty. On our team we develop almost
> exclusively in it; there are no emulation quirks.

There will be filesystem emulation quirks, though probably not as bad
as the Cygwin/Windows impedance mismatch another thread here recently
discussed. This might extend into other hardware-I/O-intensive areas
of program operation too. Have you ever tried to run a complex Windows
program, especially a recent game, in Wine? Well, Cygwin is like doing
that with the Linux/Windows roles reversed. VirtualBox will make the
interface point closer to the metal than Cygwin, with some big volume
image file in the host FS emulating a hard drive rather than just
using the host FS as the Linux FS. Anything that depends on low-level
behavior of a real disk drive will have problems, and that likely
includes fsck, which may run at bootup under some circumstances (such
as if the hosted Linux "thinks" it wasn't shut down normally last
session -- and if VirtualBox crashes, which, being Windows software,
eventually it will, that's likely to happen; also if there's a garden
variety power outage). Database software (for heavyweight enough DBs)
also tends to play with disk drives at a low level, for instance by
implementing a B-tree right on the platters in a separate partition in
lieu of using a file or files in the operating system's FS. The latter
could be worked around, by hosting the database from Windows or by
using a spare external disk drive (which might not have been a viable
boot device, preventing simply installing Linux to it and obviating
the need for VirtualBox).

MacOS, of course, probably has DRM that examines the hardware to make
sure it's running on a genuine Mac. If the emulator doesn't fool it
successfully it won't run, and if it does it could be treated in the
US as a DMCA violation (stupidly enough this is true even if there's
no actual copyright infringement, i.e. the copy of MacOS is not
pirated). I wouldn't be surprised if Apple does funny, proprietary
things to the boot drives in its hardware that the DRM will check for
and that VirtualBox's emulation of a hard drive probably won't pass
this test.

> If you are stuck on Windows without the option of adding an OS to your
> machine, Virtualbox is a great way to get a nice isolated development
> environment going. It also has the benefits of being easier to
> automate, snapshot, and not avoid interfering with the operation of
> your host.

As long as whatever differences do exist, and there will be some,
don't trip you up in some manner. A better use might be to install
Windows, a web browser, and little else to it, take a snapshot, and
use it for surfing, backing up downloaded files and your bookmarks now
and again; if you get infected, or want to be really sure of clearing
all history, including Flash cookies and any other stuff plugins might
squirrel away outside the HTTP cookie mechanism for privacy reasons,
restoring a backed up image over top will reset it. Another use would
be to run Linux, a server, and ancillary tools, snapshot it, and turn
it on; it's a bit more work to get the server back up after any
shutdown, but on the other hand if you get hacked the attackers
probably can't find their way out of the virtual box and may not even
realize they're in one. The stuff in the host is probably safe.

Antivirus companies use them now, with old unpatched Windows versions
running in them, to test suspicious files people send them. They
probably also surf pr0n sites unprotected from wide-open Win98 boxes
to see what's out there. Then halt the emulator and dissect the drive
image file to see exactly what the infection(s) did, without the
infection(s) interfering even if they have rootkit-like qualities.

But for development, I'd be worried that the differences (even in
performance characteristics) from a normal box could interfere in
unforeseen ways. In the worst case, you could end up developing
software that works only in VirtualBox-hosted systems. :)

-- 
Protege: What is this seething mass of parentheses?!
Master: Your father's Lisp REPL. This is the language of a true
hacker. Not as clumsy or random as C++; a language for a more
civilized age.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to