Ways to run windows programs on your MacTel
rutt
Registered Users Posts: 6,511 Major grins
Over the last week there has been a huge amount of buzz about Boot Camp. I dug around a little and discovered some interesting alternatives which deserve some attention from people with Macs with Intel processors.
A little background There are really 3 different possible approaches to run applications created for a different OS on a machine with the same processor architecture.
Briefly, 2. is the approach you want most to work well, but unfortunately, it doesn't have a good history. If it did work, then you could just not care whether you had a Windows or Mac version of, say, Photoshop. It would just work in either case. In fact, the environment provided by a modern commercial OS like Windows or OS X is very large and complex and often poorly defined. Programmers figure out what works at least in part by trial and error and rely on undocumented features of the system. Microsoft and Apple work closely with their big developers to make sure these flagship applications actually run well. Reverse engineering this perfectly is a huge job and to my knowledge has never been done perfectly.
1. works great, but it's very inconvenient. Why should you have to reboot in order to do some word processing and then reboot again to read your mail or edit a film?
3. holds a lot of hope. VMWare got to the point on linux and windows where major products are deployed on virtual machines. Many many people buy virtual hosting services. I used VMWare to run all version of photoshop on linux machines. The downside is that it's not as fast as having a full machine booted with the real OS. But it doesn't have to be very much slower. Since the processor itself is the same, the code, including OS code, can run without intervention until it comes to a point where the hardware is trying to interact with some outside device, say the network or a disk or the display. At that point, the hardware is emulated in software and that will be slower. But recent Intel processors offer a lot of great support for "virtualization", which is just this. I found that under linux, there were windows programs which actually ran faster on VMWare than on pure windows systems because linux did a better job of optimizing hardware use, particularly virtual memory and disk accesses.
Enough background. What does this have to do with MacTel users right now. I did some research and found a virtual machine product for Intel OS X machines. It's still in beta which is bad because there are probably unresolved issues, but good because you can get a free copy. See: http://www.parallels.com/en/products/workstation/ I'd be very interested to hear if someone tries it. There are probably other similar things, but I haven't found them.
My guess is that Windows Photoshop will run much faster in such an environment that Rosetta assisted Mac Photoshop on the same machine. But that depends on the details of the particular VM product. I'd love to hear from someone with an Intel Mac who has tried this.
A great rumor that's been around on SlashDot and other nerd hangouts is that the next version of OS X will contain some kind of virtualization support. Microsoft is now doing this to compete with VMWare (now owned by EMC). I think Apple has an even better reason to do so. You can imagine various ways in which this could be made to offer better integration with the host OS than VMWare provides for Windows programs on linux.
I know this was a nerd-out. But there are a few nerds out there who like this sort of thing.
A little background There are really 3 different possible approaches to run applications created for a different OS on a machine with the same processor architecture.
- Multiple boot partitions/disks as in Boot Camp and countless others.
- Library level support for OS and toolbox services. An example of this is WINE a system that allows many Windows programs (including Photoshop 7) to run under linux. Another example is the classic support on OS X.
- Virtual machine programs such as VMWare. These provide the lowest level hardware emulation and run a complete copy of the foriegn (guest) OS. This is a very old idea as computer ideas go. IBM had an OS called VM for mainframes in the 60s that basically provided timesharing by letting each user have his own virtual machine, complete with virtual card reader and line printer. Recently, VMWare and copycats have been used to provide relatively inexpensive hosting services.
Briefly, 2. is the approach you want most to work well, but unfortunately, it doesn't have a good history. If it did work, then you could just not care whether you had a Windows or Mac version of, say, Photoshop. It would just work in either case. In fact, the environment provided by a modern commercial OS like Windows or OS X is very large and complex and often poorly defined. Programmers figure out what works at least in part by trial and error and rely on undocumented features of the system. Microsoft and Apple work closely with their big developers to make sure these flagship applications actually run well. Reverse engineering this perfectly is a huge job and to my knowledge has never been done perfectly.
1. works great, but it's very inconvenient. Why should you have to reboot in order to do some word processing and then reboot again to read your mail or edit a film?
3. holds a lot of hope. VMWare got to the point on linux and windows where major products are deployed on virtual machines. Many many people buy virtual hosting services. I used VMWare to run all version of photoshop on linux machines. The downside is that it's not as fast as having a full machine booted with the real OS. But it doesn't have to be very much slower. Since the processor itself is the same, the code, including OS code, can run without intervention until it comes to a point where the hardware is trying to interact with some outside device, say the network or a disk or the display. At that point, the hardware is emulated in software and that will be slower. But recent Intel processors offer a lot of great support for "virtualization", which is just this. I found that under linux, there were windows programs which actually ran faster on VMWare than on pure windows systems because linux did a better job of optimizing hardware use, particularly virtual memory and disk accesses.
Enough background. What does this have to do with MacTel users right now. I did some research and found a virtual machine product for Intel OS X machines. It's still in beta which is bad because there are probably unresolved issues, but good because you can get a free copy. See: http://www.parallels.com/en/products/workstation/ I'd be very interested to hear if someone tries it. There are probably other similar things, but I haven't found them.
My guess is that Windows Photoshop will run much faster in such an environment that Rosetta assisted Mac Photoshop on the same machine. But that depends on the details of the particular VM product. I'd love to hear from someone with an Intel Mac who has tried this.
A great rumor that's been around on SlashDot and other nerd hangouts is that the next version of OS X will contain some kind of virtualization support. Microsoft is now doing this to compete with VMWare (now owned by EMC). I think Apple has an even better reason to do so. You can imagine various ways in which this could be made to offer better integration with the host OS than VMWare provides for Windows programs on linux.
I know this was a nerd-out. But there are a few nerds out there who like this sort of thing.
If not now, when?
0
Comments
Yep. And in the 80's too - because I was with IBM from 84 thru 93, and we used and sold VM, and also it's bigger brother, MVS.
Virtual Machines have been part of the S/360, S/370, S/380, and S/390 lines of IBM "big iron."
Portfolio • Workshops • Facebook • Twitter
And to this day. You can now run linux/390 under MVS. I believe there are some web hosting benchmarks which are held by such systems.
IBM designed both its hardware and OS to support this and the result was very little performance loss. Intel, Microsoft, Apple, and the Linux, didn't pay much attention to virtualization. As a result, VMWare had major performance issues. Today, Intel has paid attention and modern Intel processors offer first rate support for virtual machines. Microsoft and Linux have also paid attention and now it seems that Apple will as well.
So the net/net of this is that someone with an Intel Mac should really try this Parallels thing and let us know how well it works.
Dgrin FAQ | Me | Workshops
17" MacBooks are announced. By the time they ship Parallels will be out of beta. That old unused Windows Photoshop license can come down off the shelf and do something until CS3 with Universal support is out.
Anyone out there close to this edge as well? Gubbs, do you still have that Intel iMac? This solution could be just what you are looking for (unless you just give up and use BootCamp to use it as a Windows box.)
http://www.pbs.org/cringely/pulpit/pulpit20060420.html
http://gearlog.com/blogs/gearlog/archive/2006/03/28/8751.aspx
http://macdailynews.com/index.php/weblog/comments/6110/
Yeah, I've seen the rumors that Leopard will support some sort of virtualization. I guess it would be surprising if it didn't (since MS is supporting it.) There is a downside for Apple, though, because if they support windows apps too well, it will disincentivize native OS X ports. No matter, Leopard and CS3 are both about the 3 quarters away and Parallels and MacBook 17" are about 1 month or less away. Gubbs already has a MacTel iMac. So here is a solution for right now.
I used Windows Photoshop on Linux under VMWare for years and it worked fine. A virtual machine is just the place for windows, like a little cage.
I'll give parallels a try when i have time but i have a pretty current pc box still so i'm in no hurry. plus, being a mac n00b i'm still more efficient in my windows environment for doing serious work anyways (and the macbook screen is just too small for design work).
everything old is new again
my words, my "pro"pictures, my "fun" pictures, my videos.
No. It might have only been S/370 that supported VM. What I do know is that it was an established fact by 1975 when I first became aware of such things. So maybe I overstated the ancientness of the technique.
I've been known to attribute some computer science ideas to Archimedes, so I have a tendency in this direction.
I'm generally happy with the performance of the imac, although sharpening and noise ninja (plug in) can be very slow. If I have largish batches to process I work round it by using actions/image processor whilst I have a coffee and a sandwich . So whilst I'd like more speed, it's not a problem & I don't really feel I need a "solution".
I don't have an awful lot of spare time at the moment but if you need me to try something out, just let me know
gubbs.smugmug.com
And yet, it's far from a solved problem.
http://www.cl.cam.ac.uk/Research/SRG/netos/xeno/
Luke
SmugSoftware: www.smugtools.com