steeldrivingjon said:But there's still contention for bus, RAM, hard drive, etc.
Running a second OS (or a second copy of OS X) would be a worse performance hit than running a single OS, because the second OS is a hell of a lot of overhead.
Virtualization or no, the CPU(s) and other resources are going to be shared among all the processes and threads that are running on the computer. The fewer processes and threads that are running, the better for the performance of any given application on the machine.
There certainly is context switching - every time an OS gives some time to a different running process. Virtualization doesn't prevent that.
The way to get optimal performance on a media center Mac is to minimize the number of processes that are running, and raising the priority of the processes that are displaying video or playing sound. You'd probably want a core dedicated to video, and a core dedicated to sound and miscellaneous housekeeping processes of the OS.
And you *certainly* don't want a second operating system eating up RAM that could be used for buffering video and audio.
Virtualization or no, you only have a limited amount of computer resources which are shared among the processes running. The fewer processes you have running, the better those processes will run.
If you want performance in a media center, virtualization is definitely not the answer.
Aaaaahhh.... This is a good discussion. I agree with you, but only in part. There is an awful lot of switching here and there. But even so, the switching is going to occur natively not in an "emulated" fashion like VMware and VirtualPC. As it stands now, it certainly seems that each OS partition has it's own physical memory space, defined in the Main kernel (or domain 0 ), so there's truth here as well. A user wanting to use all available memory for a video app of some kind, would not have that luxury with 3 or 4 additional OSes running.
Now what if the Main kernel is so stripped down that it occupies so little physical memory as to be negligible - so little that it's not even pratical for end-user consumption... But just big enough to be a "hypervisor" - the control software. Then a second " OS domain" is created that is practical for end-users. Under this scenario you could have a video processing "OS domain" that chews up all available memory (minus the "hypervisor" allocated portion) and is running a specific optimization of the MacOS kernel for video processing.
When you're done with this heavy-hitting app. you could shut down that domain and fire up you're Quake2010 configuration, which is of course completely customized for OpenGL ?.? - etc....
Most of us, will have a "general" configuration - good for most circumstances, with the freedom of course, to fire-up additional domains for development, databases, streaming servers, etc...
Yes there will be context switching within each environment AND between each environment - multiple CPUs will help some - but contention for resources will be managed by a much smaller/tighter management software that will not be doing things like making OpenGL calls to the video card.
I believe most users won't see anything, hear anything, or do anything with this stuff for some time... But those small numbers of developers and researchers who will want to take advantage of this tech. will simply use higher end storage solutions, nics, etc... to sort of mitigate the contention by providing fast access times. There's also an anspect of this tech. whereby you can limit the accessability of resources to a specific OS domain. So your "general-purpose" office environment domain will have access to your RAID1 storage filesystem, but your video editing domain will have access to your 8 drive RAID50 storage over the fibre channel card, etc....
Anyway, just my 2 cents worth - - - and to all those folks talking about VMware and VirtualPC... Have you caught a clue yet? This is not a application running inside an OS, but multiple OS instances running side by side WITHOUT having to use either VMware OR VirtualPC.... Get it?
Later, later