<sarcasm>I can't wait to have the PPC vs i386 arguments all over again... </sarcasm>
Seriously though, what are the implications for virtualization software (Vmware, VirtualBox, etc) on an ARM platform?
I'm all for innovation, but the fact that MacOS/Linux/Windows/BSD all currently support one common architecture has been very convenient, in recent years.
In the novel "Shogun," Toranaga has Blackthorne build a ship, secretly burns it down and has him build another. The ships are meant as bargaining tools for Toranaga's negotiation with the Portuguese, who control sea trade with Japan.
A working Macbook-anything running an A5 chip would be extremely useful for Steve Jobs when negotiating terms with Intel, even if in the end he "burns" it.
You quite probably won't get decent x86 emulation speed out of an ARM processor. It takes an order of magnitude more transistors than an ARM has just to make an x86 out of hardware. You can do code translation on the fly, but doing that and keeping your virtual environment anything like the server you are trying to emulate.
When it comes to simulating servers, I've been opting for things like lxc and openvz. OSX should be able to use BSD's jail.
They will want to support x64 on ARM anyway, because Windows is going on it. If Apple was to do this, now is a good time. Have a Windows program, and a Mac port you care about? Port both (hopefully). That's assuming anyone other than VM and driver companies will notice the change and will have to code for ARM.
Microsoft is porting Office. There is no way a current ARM can emulate a modern x86 with performance comparable to real hardware. Microsoft can make it easy for companies to compile their codebases for ARM, provided they use Microsoft tools. C# and Java should be able to run cleanly, but there is a lot of VB6 code still floating around.
There are ways to use the transistor surplus an ARM code has (it's much simpler than a comparable x86) to hardware-assist the translation, but, by the time you have a functional silicon, you will be in the x86 size range, negating all the advantages ARM has.
I have no inside knowledge, but I'm betting that the ARM version of Windows will strictly run .net user applications. (There's already precedence for this with Windows Phone.)
Microsoft already tried to support Windows on two different architectures (x86 and Alpha) and failed when application developers never bothered porting to Alpha. They're not about to repeat that.
.NET stuff is not native code. It's CLR bytecode, interpreted much the same way Java bytecode is. Some runtime environments do JITing, when the bytecode gets translated to native instructions.
Seriously though, what are the implications for virtualization software (Vmware, VirtualBox, etc) on an ARM platform?
I'm all for innovation, but the fact that MacOS/Linux/Windows/BSD all currently support one common architecture has been very convenient, in recent years.