Sponsored in part by... Fetch Softworks GET FETCH 5 FOR FREE! Fetch Softworks makes Fetch, the original
Macintosh FTP client, free for educational and charitable use.
Fetch 5.3 includes a new look and Leopard technology support.
Apply today at <http://fetchsoftworks.com/edapply>!

 [F] TidBITS  / TidBITS  / TidBITS Talk  /

Windows via virtualization

[Jong, Harro de]Harro de Jong - 04:37am Apr 7, 2006 PST
Guest User

Stephen A. Cochran wrote:



I for one am fairly un-impressed with Boot Camp. Who wants to reboot a machine? I think my laptop is going on 4-5 weeks without a reboot (I'm probably a security patch behind).


One theory I've seen is that Apple released Boot Camp now (and as a public beta, which is rare for Apple, afaik) to prevent people from going the DIY route. The solution that was recently published certainly seems more risky (requiring a patched Windows install disk, for instance) than Boot Camp.

Virtualisation is being worked on as well. Parallels has a public beta on offer: <http://www.parallels.com/>





Harro de Jong


Mark as Read
  (older msg: 8)OutlineAll MessagesOlder MessagesOldest MessagesNewest MessagesNewer Messages

Chris Pepper (apparently) - Apr 7, 2006 9:27 pm (#9 Total: 28)  

Reply to this message
via email  

Photo of Author
Posts: 838
Re: Windows via virtualization

At 8:47 PM -0700 2006/04/07, Kevin van Haaren wrote:
>>[Q is a VirtualPC-type emulator, not virtualization, but it allows
>>running concurrently in a window, so I'm filing it in this thread.
>>--Andrew ]
>
>Andrew - What exactly do you think virtualization is? All virtualization is
>emulation too. Each virtual session has to emulate hardware, including
>processor, memory, video card, etc....

        I believe most people (including me) take "emulation" to mean
processor emulation. This is the most visible part of the
virtualization package.

>WINE is not emulation, or vituralization either. You can't run Windows with
>WINE, you can run some Windows applications to run by mapping API's from
>Windows to Linux.

        Well, from the perspective of the Windows app, WINE should be
indistinguishable from emulated/virtual Windows.

>A virtual environment allows you (in fact requires you) to run a complete
>second OS in virtual (and emulated) environment.
>
>The advantage of running virtualization on the same chip type (i.e. like
>Virtual PC for Windows does) is the processor emulation is easier. You
>don't have to convert one processors machine code to anothers. But you
>still have to emulate a processor so the OS thinks it is in total control
>of the hardware.

        With VT-x, you shouldn't have to emulate the CPU at all. You
just intercept the unsafe actions at Ring -1, and the hypervisor
decides how to handle them. Normal instructions execute directly
against the hardware, without the VM system having to buffer them in
case of unsafe instructions, which is why things are faster.


                                                Chris
--
Chris Pepper: <http://www.reppep.com/~pepper/>
Rockefeller University: <http://www.rockefeller.edu/>

atlauren (apparently) - Apr 7, 2006 9:27 pm (#10 Total: 28)  

Reply to this message
via email - Practicing random acts of punditry.  

Photo of Author
Posts: 797
Re: Windows via virtualization

>>[Q is a VirtualPC-type emulator, not virtualization, but it allows
>>running concurrently in a window, so I'm filing it in this thread.
>>--Andrew ]
>
>Andrew - What exactly do you think virtualization is? All
>virtualization is emulation too. Each virtual session has to emulate
>hardware, including processor, memory, video card, etc....

I was specifically referring to the lack of instruction translation
that Virtual PC/Mac does, as did SoftPC before it.

>The advantage of running virtualization on the same chip type (i.e. like
>Virtual PC for Windows does) is the processor emulation is easier. You
>don't have to convert one processors machine code to anothers. But you
>still have to emulate a processor so the OS thinks it is in total control
>of the hardware.

<IANACS>
The difference here is that the Core family of processors have
virtualization baked right into the chip.
http://www.intel.com/technology/computing/vptech/

A virtualizer which supports Intel's VT doesn't *emulate* a processor
but runs as a second, concurrent OS on the *same* processor.
Essentially we now have a processor which can thread multiple
operating systems, just as the operating systems thread multiple
applications. The virtual machine's hypervisor manages the OSes
under its control, as does an operating system's kernel does its
application.
</IANACS>


IANACS = I Am Not A Computer Scientist

--
Andrew Laurence atlaurenes.nacs.uci.edu
Network & Academic Computing Svcs. http://www.nacs.uci.edu/~atlauren/
UC Irvine

Mike Cohen (apparently) - Apr 8, 2006 7:04 am (#11 Total: 28)  

Reply to this message
via email  

Photo of Author
Posts: 133
Re: Windows via virtualization



On Apr 7, 2006, at 11:47 PM, Kevin van Haaren wrote:
> The advantage of running virtualization on the same chip type (i.e.
> like
> Virtual PC for Windows does) is the processor emulation is easier. You
> don't have to convert one processors machine code to anothers. But
> you
> still have to emulate a processor so the OS thinks it is in total
> control
> of the hardware.

True virtualization (as Parallels Workstation uses) doesn't involve
emulating the CPU - it adds a layer between the hardware and the OS
which intercepts all hardware access. The Core Duo chip has
virtualization support (VT) built in, which Parallels uses.


Curtis Wilcox - Apr 8, 2006 7:04 am (#12 Total: 28)  

Reply to this message
 

Photo of Author
Posts: 345
Re: Windows via virtualization

On Apr 7, 2006, at 2:21 PM, James Atkinson wrote:

-----Original Message-----


What I lust after in today's Mac is the ability to do what I am doing right this very minute on the Dell Latitude D510 I'm using to write this message.


The base OS is Windows XP, but I'm also running VMWare Workstation and have two Windows 2003 Enterprise Servers, one Windows 2000 Pro workstation, and one Red Hat Linux (Fedora Core 4) workstation running simultaneously and talking to one another on a bridged virtual network.


You can do that on a PPC Mac with Virtual PC. It wouldn't be as fast as VMWare Workstation because that's faster the Virtual PC even when it's Virtual PC for Windows but that's a difference of performance, not capability.

So where is Virtual PC for (Intel) Macs? I simply assumed after the switch to Intel was announced that Microsoft would update Virtual PC to work on Intel-based Macs. After all, they have Virtual PC for (PPC) Mac and (Intel) Windows, so how hard could it be? Also, they're making their Virtual Server product (which originated from Virtual PC) a standard part of their next server OS so clearly they're not moving away from virtualization.

Virtual PC for Mac has had a virtual (snarf) monopoly on running Windows within the Mac OS and while Virtual PC for Windows has always been the slower than VMWare its design and marketing was more "Joe Consumer" friendly so it did okay. I wouldn't think a more crowded market, with Parallels, VMWare, and perhaps others releasing Mac virtualization products, would keep them out. But integrated virtualization in the next Mac OS might keep them away. No one knows better than Microsoft the advantage of bundling features with the OS.

[My only big problem is that the Windows 2003 servers are running DHCP and DNS and I keep forgetting to block those services when I work in my favorite local coffee shop.


Virtual PC can be set so the guest OS's can be networked together but not access anything beyond themselves. I'm pretty sure it can also be set so the guest OS's can be networked together but also with the host OS without going beyond. Does VMWare not have such options?

I would think that an Intel-based Mac should generically enable a similar methodology, and definitely hope to see options appear soon. VMWare should be ideally situated to do this, I think, since they already offer an x86 Linux version of their workstation product which easily could be recompiled to run natively on OS X + Intel.


It's probably not that easy. Mac drivers are very different than Linux drivers, it's probably a fair amount of work to make VMWare "talk" to the Mac OS. But it can't be too hard, Parallels has done it and where did they come from?

Lewis Butler (apparently) - Apr 8, 2006 8:39 pm (#13 Total: 28)  

Reply to this message
via email  

Photo of Author
Posts: 930
Re: Windows via virtualization



On 07 Apr 2006, at 21:47 , Kevin van Haaren wrote:

>> [Q is a VirtualPC-type emulator, not virtualization, but it allows
>> running concurrently in a window, so I'm filing it in this thread.
>> --Andrew ]
>
> Andrew - What exactly do you think virtualization is? All
> virtualization is
> emulation too. Each virtual session has to emulate hardware, including
> processor, memory, video card, etc....

This is not how the terms are used. there are three ways to run an
alternate OS on your machine:

1) Emulation: The machine instructions all pass through an emulation
layer that translates them to instructions capable of running on the
current hardware. This is how VirtualPC for the Mac works.
Emulators usually run as an application on the host system. (It
doesn't matter if the emulator is VPC, or MAME, or Surreal64, they
all run as applications).

2) Virtualization is much more robust, as there is no emulation
layer. The alternate OS has access to the hardware as if was the
primary OS, and there is no translation of instructions. Hardware
drivers for the 'guest' OS work. There might be (almost certainly
is) some INTERCEPTION of certain calls, but this is not the same as
emulation where calls would have to be translated from one
instruction set to another. Virtualization is much faster than
emulation and has the added advantage that several 'guest' OSes can
be run on the same machine. This is how VMWare works. It is also
how VirtualPC for Windows works.

(Yes, VPC for Mac is emulation, VPC for Windows is virtualization)

3) Alternate Booting is the most common way to run an alterante OS,
and is what many (most?) Linux users do.

> WINE is not emulation, or vituralization either. You can't run
> Windows with
> WINE, you can run some Windows applications to run by mapping API's
> from
> Windows to Linux.

Wine is neither emulation nor virtualization because it is not
running Windows, as you say. Wine is a compatibility layer as it
provides only the Windows API (or part of it). That applications
that WINE runs, however, are virtualized.

> A virtual environment allows you (in fact requires you) to run a
> complete
> second OS in virtual (and emulated) environment.

You're equating two words that have very distinct and precisely
different meanings in terms of computer software.

--
Oh and I could be a genius
if I just put my mind to it
And I, I could do anything
if only I could get 'round to it.



kevinv (apparently) - Apr 8, 2006 8:39 pm (#14 Total: 28)  

Reply to this message
via email  

Photo of Author
Posts: 1319
Re: Windows via virtualization

--On April 7, 2006 9:27:03 PM -0700 Andrew Laurence
<atlaurenes.nacs.uci.edu> wrote:

> A virtualizer which supports Intel's VT doesn't *emulate* a processor
> but runs as a second, concurrent OS on the *same* processor.
> Essentially we now have a processor which can thread multiple
> operating systems, just as the operating systems thread multiple
> applications. The virtual machine's hypervisor manages the OSes
> under its control, as does an operating system's kernel does its
> application.

I think what I'm trying to say is: Q counts as virtualization. It emulates
a processor, it may not support Intel's virtualization hardware, but that
does not mean it isn't providing a virtualized environment. It is.

I know when I run Virtual PC for Windows or VMWare on an AMD chip, I see an
Intel Pentium in the system info for the guest OS. Again, these products
may not be taking advantage of virtualization hardware (which is pretty
new) but they are still emulating a processors and are providing
virtualized environments.

Basically -- if it requires running an entire "guest" OS (Virtual PC,
VMWare, Q, Parallels) it's virtualization. If you can run individual
applications (WINE) directly without the underlying OS it is not
virtualization. The underneath software/hardware used to accomplish this
aren't what make it virtualization.


bitreader (apparently) - Apr 8, 2006 8:39 pm (#15 Total: 28)  

Reply to this message
via email  

Photo of Author
Posts: 114
Re: Windows via virtualization

On 4/7/06 at 9:27 PM, pepperreppep.com (Chris Pepper) wrote:

>Well, from the perspective of the Windows app, WINE should be
>indistinguishable from emulated/virtual Windows.

For the newer Macs with Intel processors running Darwine-x86 this should be true. But it certainly isn't accurate for those of us using Macs with PowerPC processors.

see:

<http://darwine.opendarwin.org/faq.php>

jwblist (apparently) - Apr 8, 2006 8:39 pm (#16 Total: 28)  

Reply to this message
via email  

Photo of Author
Posts: 768
Re: Windows via virtualization



On Apr 8, 2006, at 7:04 AM, Curtis Wilcox wrote:

> So where is Virtual PC for (Intel) Macs? I simply assumed after the
> switch to Intel was announced that Microsoft would update Virtual
> PC to
> work on Intel-based Macs. After all, they have Virtual PC for (PPC)
> Mac
> and (Intel) Windows, so how hard could it be? Also, they're making
> their Virtual Server product (which originated from Virtual PC) a
> standard part of their next server OS so clearly they're not moving
> away from virtualization.

 From Microsoft's point of view, Virtual PC for Intel Macs makes
sense if and only if they can make money at it. (The same is true of
Office, and they do indeed make money with that.)

I'm not at all sure MS can make money with Virtual PC on Intel Macs,
given the alternatives (dual boot via Boot Camp for those of us who
only need Windows now and then; virtualization via Parallels and
others, etc etc). (With any of those, they sell copies of Windows.)

Keep in mind that Microsoft didn't acquire Virtual PC for its
Macintosh "side" but rather for its Windows side (virtual Windows on
Windows).

   --John


hhbv807 (apparently) - Apr 9, 2006 1:45 pm (#17 Total: 28)  

Reply to this message
via email  

Photo of Author
Posts: 38
Re: Windows via virtualization

>On Apr 8, 2006, at 7:04 AM, Curtis Wilcox wrote:
>
>From Microsoft's point of view, Virtual PC for Intel Macs makes
>sense if and only if they can make money at it. (The same is true of
>Office, and they do indeed make money with that.)
>
>I'm not at all sure MS can make money with Virtual PC on Intel Macs,
>given the alternatives (dual boot via Boot Camp for those of us who
>only need Windows now and then; virtualization via Parallels and
>others, etc etc). (With any of those, they sell copies of Windows.)

Right. But MS can't sell Windows if the method is WINE
(http://darwine.opendarwin.org). If WINE works (now at version 0.9
something), then it may be great for sales of Office, but terrible
for sales of Windows. I'm sure Microsoft would prefer Apple to
support either a dual-boot or a virtualization technology like
Parallels (http://www.parallels.com/), and I suspect Apple's need of
Microsoft would give them some pause before committing resources to
WINE.... which they could have done since it's an open source project.

Similarly, the perspective of the OSX-only software developers would
surely not favor WINE or virtualization where running Windows
software on a Mac might be considered as too easy.

I just wonder whether Apple's support of Bootcamp, which I think has
limited appeal, is designed to appease Microsoft and OSX-only
software developers who should regard it as a non-threat. From the
user's point of view, virtualization or better yet WINE should be the
goal. The game is not over yet by any means.



kevinv (apparently) - Apr 9, 2006 1:45 pm (#18 Total: 28)  

Reply to this message
via email  

Photo of Author
Posts: 1319
Re: Windows via virtualization

--On April 8, 2006 8:39:48 PM -0700 Google Kreme <gkremegmail.com> wrote:

> 2) Virtualization is much more robust, as there is no emulation
> layer. The alternate OS has access to the hardware as if was the
> primary OS, and there is no translation of instructions. Hardware
> drivers for the 'guest' OS work. There might be (almost certainly
> is) some INTERCEPTION of certain calls, but this is not the same as
> emulation where calls would have to be translated from one
> instruction set to another. Virtualization is much faster than
> emulation and has the added advantage that several 'guest' OSes can
> be run on the same machine. This is how VMWare works. It is also
> how VirtualPC for Windows works.

This is wrong. Both Virtual PC for Mac and Windows run as an application on
the guest OS. So does VMWare, even the high-end.

Virtual PC (Mac and Windows) and VMWare and Parallels all provide emulation
of the hardware. They may not translate certain chip opcodes but they are
emulating: the hardware interrupts, the PCI bus, the memory bus, the video
card, the network card. They are providing an entire virtualized computer.
This is why when you install Virtual PC or VMWare you don't need the
drivers for your real hardware, you need the simpler network card and video
card drivers. This is why for Virutal PC and VMWare you need special
drivers added to the guest OS to support smooth mouse translations from
host OS to guest OS. This is why with Virtual PC you can create a network
on a computer that has no network card in it (each guest OS can talk to
each other even though there is no network card in the system).

Virtualization has been possible for a long time with both VMWare and
Vitural PC for Windows, for longer than Intel's virtualization technology
has been available. In fact, Virtual PC for Windows (or Virtual Server)
still doesn't yet take advantage of Intel's virtualization features. And
both run just fine on AMD, with no virtualization add-ons available yet.



kevinv (apparently) - Apr 9, 2006 1:45 pm (#19 Total: 28)  

Reply to this message
via email  

Photo of Author
Posts: 1319
Re: Windows via virtualization

--On April 8, 2006 8:39:48 PM -0700 johnbaxterlistsmac.com wrote:
> From Microsoft's point of view, Virtual PC for Intel Macs makes
> sense if and only if they can make money at it. (The same is true of
> Office, and they do indeed make money with that.)

New sales of the retail version of Virtual PC include Windows XP, I believe
they actually charge more money on this sale than they do of just Windows
XP so they are still making money. Upgrades of Virtual PC do not include an
OS upgrade which must be purchased seperately.

> I'm not at all sure MS can make money with Virtual PC on Intel Macs,
> given the alternatives (dual boot via Boot Camp for those of us who
> only need Windows now and then; virtualization via Parallels and
> others, etc etc). (With any of those, they sell copies of Windows.)

You still need an XP license to run XP on any system where the Host OS is
not a Microsoft product (and I believe if you are not under a Software
Assurance contract you have to buy then when the Host OS is Microsoft
anyway). VMWare on Linux, Virtual PC on Intel, etc... do not lose Microsoft
any XP licenses.

> Keep in mind that Microsoft didn't acquire Virtual PC for its
> Macintosh "side" but rather for its Windows side (virtual Windows on
> Windows).

Actually what they really wanted was Virtual Server. I believe their
thinking at the time was that they could use it with Itanium servers (which
were going to be the hot thing) to run older applications not supported by
that chip. Turns out people wanted virtualization more than they wanted
Itanium.

Microsoft now gives away Virtual Server for free. Virtual PC on Windows may
be free if you're under a Microsoft Software Assurance contract. Vista
Enterprise will include Virtual PC Express for free. I believe you will be
able to run one other Microsoft OS without additional licenses (i.e. Vista
and XP) but if you want to run 2 OSes you need a license for the second OS.

<http://www.microsoft.com/licensing/programs/sa/benefits/vista.mspx>





Lewis Butler (apparently) - Apr 10, 2006 1:37 pm (#20 Total: 28)  

Reply to this message
via email  

Photo of Author
Posts: 930
Re: Windows via virtualization



On 09 Apr 2006, at 14:45 , Kevin van Haaren wrote:

> --On April 8, 2006 8:39:48 PM -0700 Google Kreme <gkremegmail.com>
> wrote:
>
>> 2) Virtualization is much more robust, as there is no emulation
>> layer. The alternate OS has access to the hardware as if was the
>> primary OS, and there is no translation of instructions. Hardware
>> drivers for the 'guest' OS work. There might be (almost certainly
>> is) some INTERCEPTION of certain calls, but this is not the same as
>> emulation where calls would have to be translated from one
>> instruction set to another. Virtualization is much faster than
>> emulation and has the added advantage that several 'guest' OSes can
>> be run on the same machine. This is how VMWare works. It is also
>> how VirtualPC for Windows works.
>
> This is wrong. Both Virtual PC for Mac and Windows run as an
> application on
> the guest OS. So does VMWare, even the high-end.

That's not the point. VPC for Windows is NOT an emulator. Neither
is VMWare. VPC for Mac IS an emulator.

Again, there is a very real difference between emulation and
virtulization that you are ignoring.

YOu can say that VPC for windows "emulates" so portion of the
machine, but that doesn't make it an Emulator. You seem to be taking
the dictionary definition of "emulate" and applying it as a technical
term to a technology. Applying it incorrectly.

Here it is in black and white from wiki (couldn't get to wiki before
since they were having issues):

<http://en.wikipedia.org/wiki/Microsoft_Virtual_PC>
> Virtual PC is an emulation suite for Apple Mac OS X, and a
> virtualization suite for Microsoft Windows operating systems. The
> software was originally written by Connectix, and was subsequently
> acquired by Microsoft.

and (trimmed):

> Virtualization software
> Microsoft Virtual PC
> Microsoft Virtual Server
> VMware Workstation, GSX Server, ESX Server

rmovin (apparently) - Apr 10, 2006 1:37 pm (#21 Total: 28)  

Reply to this message
via email  

Photo of Author
Posts: 14
Re: Windows via virtualization

Andrew wrote:

> [But will virtualization offer the native 3D performance that
> gamers look for? -Andrew]

The only way to get the native 3D performance would be to somehow virtualize the GPU on the graphics card with the equivalent of VT- highly unlikely.

Intel VT accelerates CPU calls, but the rest of the hardware is still emulated. Since most games rely on high end graphics cards and various methods of directly calling the graphic card, there's little chance of good performance using any kind of virtualization. Games will still run in a lower performance mode (unless they demand a specific graphics card).

Dual boot is the best option for serious games. Or buy Mac games :)


Curtis Wilcox (apparently) - Apr 10, 2006 10:41 pm (#22 Total: 28)  

Reply to this message
via email  

Photo of Author
Posts: 345
Re: Windows via virtualization

On 4/10/06 4:37 PM, "Google Kreme" <gkremegmail.com> wrote:

> That's not the point. VPC for Windows is NOT an emulator. Neither
> is VMWare. VPC for Mac IS an emulator.
>
> Again, there is a very real difference between emulation and
> virtulization that you are ignoring.
>
> YOu can say that VPC for windows "emulates" so portion of the
> machine, but that doesn't make it an Emulator. You seem to be taking
> the dictionary definition of "emulate" and applying it as a technical
> term to a technology. Applying it incorrectly.

Looking at Microsoft's own information regarding Virtual PC, it's clear to
me that everything but the processor is emulated.

Virtual PC 2004
http://www.microsoft.com/windows/virtualpc/

Virtual PC 2004 Technical Overview
http://www.microsoft.com/windows/virtualpc/evaluation/techoverview.mspx

Even after reading the technical overview, I wasn't certain about whether
the processor was virtualized or not. Most of the documents are a couple of
years old and they're pretty loose with the terms "virtualization" and
"emulation." Part of what made me hesitant was knowing that VPC image files
can be copied between Mac and Windows versions and still work. This KB
article regarding Virtual PC for Windows is what convinced me that it
virtualizes the processor:

Cannot Start Red Hat Linux 7.2 After You Transfer the Guest PC Disk Image
from an Intel to an AMD-Based Host Computer
http://support.microsoft.com/kb/824551/en-us

"CAUSE
This behavior occurs because when you install Red Hat Linux 7.2 on the guest
PC, the installation program installs a kernel that is optimized for the
host computer's system architecture. Therefore, the Linux kernel does not
start successfully when you try to run the guest PC disk image on a host
computer that is based on a different processor architecture."


BTW, here's the official word on the status of Virtual PC for Mac at this
time:

http://www.microsoft.com/mac/default.aspx?pid=macIntelQA

"Q. What does the announcement about Intel-based Macs mean for Virtual PC
for Mac?

A. Virtual PC for Mac Version 7 is still the best emulation solution for
users who have PowerPC-based Macs, but it does not run on Intel-based Macs.
We are working with Apple to determine the feasibility of developing Virtual
PC for Mac for Intel-based Macs. Virtual PC for Mac is highly dependent on
the operating system and hardware and will require additional development to
run on Intel-based Macs.

Last Updated: March 27, 2006"




Chris Pepper (apparently) - Apr 10, 2006 10:41 pm (#23 Total: 28)  

Reply to this message
via email  

Photo of Author
Posts: 838
Re: Windows via virtualization

At 1:37 PM -0700 2006/04/10, Robert Movin wrote:
>Andrew wrote:
>
>> [But will virtualization offer the native 3D performance that
>> gamers look for? -Andrew]
>
>The only way to get the native 3D performance would be to somehow
>virtualize the GPU on the graphics card with the equivalent of VT-
>highly unlikely.
>
>Intel VT accelerates CPU calls, but the rest of the hardware is
>still emulated.

        Actually, Intel VT-d seems to be "Directed I/O" acceleration
(VMware mentions it), but what Parallels uses is VT-x, which is the
Ring -1 instructions. I don't know what VT-d does, but hope it means
you could delegate full control over the video card to one virtual
machine, so long as the hypervisor can take it away if necessary. I
think they're more interested in SCSI & GE cards, but I don't see why
this wouldn't work for video cards as well.

>Since most games rely on high end graphics cards and various methods
>of directly calling the graphic card, there's little chance of good
>performance using any kind of virtualization. Games will still run
>in a lower performance mode (unless they demand a specific graphics
>card).

        I think with a full-screen mode, you could make it work. I
don't know if anyone will, though.


                                                Chris
--
Chris Pepper: <http://www.reppep.com/~pepper/>
Rockefeller University: <http://www.rockefeller.edu/>

Brad - Apr 11, 2006 10:51 pm (#24 Total: 28)  

Reply to this message
 

Photo of Author
Posts: 5
Re: Windows via virtualization

I thought I read somewhere that the mini has a lesser chip than the other Intel macs which does not implement the Intel hypervisor instructions.

Can anyone confirm that?

Has anyone tried the parallels software on a mini and does it provide adequate performance?

[ The Parallels folks have posted on their forums that the mini has hardware VT turned off in the firmware. I'm told they've alerted Apple to the issue. -Andrew ]

Chris Pepper (apparently) - Apr 11, 2006 10:51 pm (#25 Total: 28)  

Reply to this message
via email  

Photo of Author
Posts: 838
Re: Windows via virtualization

At 10:41 PM -0700 2006/04/10, Curtis Wilcox wrote:

>Even after reading the technical overview, I wasn't certain about whether
>the processor was virtualized or not. Most of the documents are a couple of
>years old and they're pretty loose with the terms "virtualization" and
>"emulation." Part of what made me hesitant was knowing that VPC image files
>can be copied between Mac and Windows versions and still work. This KB
>article regarding Virtual PC for Windows is what convinced me that it
>virtualizes the processor:
>
>Cannot Start Red Hat Linux 7.2 After You Transfer the Guest PC Disk Image
>from an Intel to an AMD-Based Host Computer
>http://support.microsoft.com/kb/824551/en-us
>
>"CAUSE
>This behavior occurs because when you install Red Hat Linux 7.2 on the guest
>PC, the installation program installs a kernel that is optimized for the
>host computer's system architecture. Therefore, the Linux kernel does not
>start successfully when you try to run the guest PC disk image on a host
>computer that is based on a different processor architecture."

Curtis,

        That sounds backwards to me. For most virtual components, the
underlying component doesn't matter. I can use a VMware virtual video
card, regardless of whether the physical video card is nVidia, ATI,
or Intel. Thus if VPC itself runs on both AMD64 and EM64T, and
presents a wholly fake CPU, VPC could (not necessarily would, but
could) emulate/translate unsupported instructions. This seems to make
the argument that the processor itself is not virtualized, but rather
directly accessed by the guest OSes, as much as possible. That's what
I'd expect, for performance reasons.

        If I was designing VPC with a virtual processor, I'd make it
something that I could support on all my main platforms (so 32-bit
Xeon or better and 32-bit Athlon or better), and forget about the few
newer faster instructions (at least as of the 2003 date on that
article).


                                                Chris
--
Chris Pepper: <http://www.reppep.com/~pepper/>
Rockefeller University: <http://www.rockefeller.edu/>


jwblist (apparently) - Apr 11, 2006 10:51 pm (#26 Total: 28)  

Reply to this message
via email  

Photo of Author
Posts: 768
Re: Windows via virtualization



On Apr 10, 2006, at 10:41 PM, Curtis Wilcox wrote:

> Looking at Microsoft's own information regarding Virtual PC, it's
> clear to
> me that everything but the processor is emulated.

Part of the confusion stems from the now-unfortunate name Connectix
gave to Virtual PC at the start (when the "for Mac" part would have
been redundant). "Emu-PC" would have been a name that better
described the software (and, Tim O'Reilly permitting--I believe he
had already used the Emu at that time--would have offered interesting
trademark graphics).

Of course, with that name the project might have laid an egg.


"Virtual machine" in the general context has had different meanings
over time, and even at the same time with different companies. In
the late 1960s and 1970s (and perhaps later), IBM meant "we pretend
more than one 370s exists on this one 370". NCR meant that when
executing compiled COBOL (the primary user programming language) on
the Century series machines, the firmware was presenting the object
code with a nice COBOL-oriented instruction set using data
descriptors; when executing NEAT3 code (assembly*) the firmware was
presenting the object code with a machine executing that set of
"hardware" instructions. The FORTRAN virtual machine was talked
about but never built--instead, FORTRAN was compiled into NEAT3 object.

*NEAT at NCR goes back to the 1950s--before the name change from
National Cash Register to NCR--and stood for "National's Electronic
Autocoding Technique". The "3" was a differentiator which was
applied to the Century version, although "2" was not used for the
second (C-315) version. NEAT began--I think--with the C-304.

   --John (who finished and maintained the Century on C-315 emulator
used during Century development--and watched the engineer writing the
C-315 on Century emulator. When the latter was run under the former
and asked to read cards as fast as possible, it managed a card about
every 45 seconds.)


kevinv (apparently) - Apr 11, 2006 10:51 pm (#27 Total: 28)  

Reply to this message
via email  

Photo of Author
Posts: 1319
Re: Windows via virtualization

--On April 10, 2006 1:37:25 PM -0700 Google Kreme <gkremegmail.com> wrote:

> Here it is in black and white from wiki (couldn't get to wiki before
> since they were having issues):
>
> <http://en.wikipedia.org/wiki/Microsoft_Virtual_PC>
>> Virtual PC is an emulation suite for Apple Mac OS X, and a
>> virtualization suite for Microsoft Windows operating systems. The
>> software was originally written by Connectix, and was subsequently
>> acquired by Microsoft.

Yes, and I disagree with that statement too. Also if you read the next line:

> Virtual PC emulates a standard PC and its associated hardware.

Interesting how they fail to specify which version is an emulator. Probably
because both are. BTW, there is some more missing info from the Wikipedia
article on Virtual PC. For example in listing what hardware is emulated,
the ethernet hardware emulated in Virtual PC for Windows is now an Intel
network card.

 Using Wikipedia some more:

From the article on Virtualization:

<http://en.wikipedia.org/wiki/Virtualization>

> Virtualization is a broad term that refers to the abstraction of
> resources across many aspects of computing. Some common applications of
> virtualization are listed below.

> * A virtual machine is an environment which appears to a "guest" operating
> system as hardware, but is simulated in a contained software environment
> by the host system. The simulation must be robust enough for hardware
> drivers in the guest system to work. The creation and management of
> virtual machines is often referred to as server virtualization. There are
> several approaches including full virtualization, paravirtualization and
> native virtualization. With paravirtualization, the virtual machine does
> not simulate hardware but instead offers a special API that requires OS
> modifications. Full virtualization and native virtualization run
> unmodified OS's.

From the article on Emulators:

> Most emulators just emulate a hardware architecture — if a specific
> operating system is required for the desired software, it must be
> provided as well (and may itself be emulated). Both the OS and the
> software will then be interpreted by the emulator, rather than being run
> by native hardware. Apart from this interpreter for the emulated
> machine's language, some other hardware (such as input or output devices)
> must be provided in virtual form as well: if writing to a specific memory
> location should influence the screen, for example, this will have to be
> emulated as well.
>
> Instead of full emulation of the hardware, a compatibility layer may
> suffice. This translates system calls for the emulated system into system
> calls for the host system.

[and]

> Typically, an emulator is divided into modules that correspond roughly to
> the emulated computer's subsystems. Most often, an emulator will be
> composed of the following modules:
>
> * a CPU emulator or CPU simulator (the two terms are mostly
interchangeable)
> * a memory subsystem module
> * various I/O devices emulators
>
> Buses are often not emulated, either for reasons of performance or
> simplicity, and virtual peripherals communicate directly with the CPU or
> the memory subsystem.

Going by these definitions, Virtual PC for all architectures is a
virtualization technology that provides a virtual machine that emulates
different components of a PC. Virtual PC for the Mac provides a virtual
machine by emulation the CPU, memory and I/O devices. Virtual PC for
Windows provides a virtual machine by emulating memory and I/O devices.

I think people are trying to draw too fine a line in differences between
virtual machines on PPC Macs and Intel Macs. The amount of emulation
differs between the two technologies but both are virtualization
technologies.

Kevin

[ Perhaps the salient point is that if an OS is running within a hypervisor, then virtualization is taking place .. regardless of which and how many hardware components are being virtualized in software? -Andrew ]


rmovin (apparently) - Apr 14, 2006 8:40 pm (#28 Total: 28)  

Reply to this message
via email  

Photo of Author
Posts: 14
Re: Windows via virtualization

> I think people are trying to draw too fine a line in differences
> between
> virtual machines on PPC Macs and Intel Macs. The amount of emulation
> differs between the two technologies but both are virtualization
> technologies.
>
> Kevin
>
> [ Perhaps the salient point is that if an OS is running within a
> hypervisor, then virtualization is taking place .. regardless of
> which and how many hardware components are being virtualized in
> software? -Andrew ]


Kevin (and Andrew) have it right. Virtualization is abstraction, and
emulation is often part of that. The definitions aren't totally clear
or standard, but in general virtualization is when you abstract from
the underlying host (for example, the Java Virtual Machine, or
virtual disks). Emulation is pretending to be something else-
hardware or software. So in Virtual PC for Mac we're emulating all
the hardware including the processor. In Virtual PC for Windows
everything is emulated except parts of the processor.

IMHO this distinction isn't anything to spend too much time thinking
about, except that performance degrades more the more you have to
emulate.

On additional advantage a reader (Tony) pointed out in a private
email is that you get increased stability with something like VMWare
since the emulated hardware is consistent no matter the underlying
hardware. You only have to worry about a few key device drivers. Of
course as more hypervisors offer USB support there's more chance for
error.

-rm





  OutlineAll MessagesOlder MessagesOldest MessagesNewest MessagesNewer Messages


 [F] TidBITS  / TidBITS  / TidBITS Talk  / Windows via virtualization




Add a message

To add a message to this discussion, you must be a registered user. Enter your email address below. If you have an account associated with the email address you enter, you will be prompted for your password. If not, you'll be able to create a new account with no fuss.

Enter your email address:

Submit