porting Carbon, quartz and Aqua on x86


Any techies out there?

We all know that Mach, BSD, Darwin and Cocoa all work fine on the x86 platform. How hard do you think it would be for apple to port carbon, quartz and aqua to x86?
Sorry, it ain't gonna happen. Not anytime soon, anyways. Apple would be crazy to be spending resources on porting new technologies to Intel. If anything, they have been keeping the new code as cross-platform as possible all along.

And you have to remeber that Apple doesn't really want to dominate the computer market. They want to build great products ;-) An expanded user base is a good thing to help support the platform, but a totally inflated user base like Windows has no appeal. Better that they keep their software to themselves to continue to add value to their hardware. Apple is the combonation of these things, remember. Integration is a big part of what Apple does.

I izn't interested in politics and corporate policy. No corporation can rule out using processors from the largest supplier on the planet.

What would the technical issues be?
Apple probably has an internal port of MacOS X (great way of testing code quality), but that is as far it the x86 version will go. Apple for reasons that are well known will not release an Intel version of MacOS X. Apple sells hardware and selling an x86 version of MacOS X would be like saying 'x86 clones okay, PPC clones not okay' - it wouldn't make sense.
If you put marketing and company politics aside, then a port of the "upper levels" of the Mac OS would not be difficult if they are designing it the way your comp sci professors told you to (modular programming, functional programming, or object oriented programming depending on what decade you took cs)

The people at Apple working at the level of Carbon or Cocoa should be using the Quartz imaging model to write on the screen (maybe even a higher level API than that, but certainly no lower). Quartz would be built to use the Core Foundation services. Core Foundation would sit above BSD. BSD sits above Mach. Mach abstracts hardware from all of the layers above it.

Apple (and the comp.sci professors) tell developers to develop at the highest level possible. The abstraction gives Apple a chance to improve or switch out the lower levels completely as long as it gives the same result when asked by the higher level code.

Anything written above the Mach level should work on any platform that Mach was ported to. Of course device drivers are NOT above the Mach level; they deal with hardware directly so they probably have to be rewritten for each change in hardware. If Apple or another developer wanted to write directly to hardware and skip these lower level of abstractions (maybe they're trying to get a speed boost) then they'd have to rewrite their code when they moved to a different platform.

This is pure speculation on my part, but one thing that other companies do to test these levels of abstraction is to compile their code for different platforms. It's a neat thing to do for Quality Assurance because if any code in the "upper layers" has bypassed the proper channels of accessing hardware (whether intentionally or not) the change to other hardware is a great way to catch this. Even if Apple never ships the higher levels of OS X on an Intel platform, they probably still compile it on one occasionally for this sort of QA testing.

In short, it's the low levels that are difficult to port, not the higher ones.


That is true, Mach does provide a certain level of abstraction for what is running on top of it. However, I think the problem lies in the fact that much of the code that has been 'ported' from OS 9 onto OS X as Carbon is not so easily abstracted. If memory serves me correctly, much of that code is PowerPC specific. Mach or no Mach, Carbon will not run easily on x86. This may also be true for large portions of Quartz which have been pulled from QuickDraw technology. But of all the things that might make a full x86 implementation difficult I think it would be carbon. And, without Carbon, you loose the Finder (Desktop) and many other aspects of the new OS that have been brought about via Carbon from OS 9 technologies. Even Mach itself is much different than when Rhapsody/OS X first started. Apple has apparently added quite a bit of custom code to arrive at the version of Mach 3.0 that they use. OS X Server and earlier used 2.5, which to my understanding isn't even the true micro-kernel that 3.0 is.

But we all know that the lower level stuff runs on Intel (Darwin). It's the upper levels that have roadblocks, and even if Apple does have Most of OS X runnning on Intel or some other chip it's still not likely to see the light of day anytime soon.
Apple's failure and Microsoft's domination is a testiment to the reality that there is little money to be made in hardware - look at all the computer makers - their stocks aren't performing very well at present. A company's sole mission is to make money for the stockholders; history tells selling software is far more profitable than selling hardware. Apple IS increasingly becoming more of a software company with items such as Quicktime etc. It would not surprize me at all if Apple ported it's new OS to the Intel platform both to diversify it's current OS market and open options for different processors for it's own harware. It has become clear in recent months, as Intel will be releasing 1.5GHz chips in the end of October, that the "supercomputer on a chip" slogan will be buried by ever increasing processor speeds from more technologically advanced microprocessor manufacturers. Sorry folks, it won't be long until even two 550 G4's will be stomped by a 2GHz Intel powerhouse. Apple's sudden switch to multiprocessor designs is it's temporary solution to competing with veritably faster PC clones. Apple can claim anything it wants; a 1gig PC is faster than a 500MHz G4 hands down, no argument; bus technology is superior in PC's as well. Photoshop tests show this as well as other standard processor tests. I'm a loyal Mac fan and want to see the company thrive. Apple doesn't sell hardware because its "the fastest;" any market analyst would agree that their recent success is attributable to their stunningly unique and elegant industrial designs and rabidly loyal customers. It's just "cool" to have a Mac. Remember, it was the iMac that brought apple back not the PPC line of chips. This said, Apple will not loose hardware sales by porting the OS to different platforms as long as it's own hardware stays competitive (and pretty) which would mean ditch ol' Motorola for a more wealthy, better managed chip manufacturer that can actually advance it's clock speeds on a timely basis: Intel or AMD. It's been almost a year since the G4 came out and we've gone up by a wopping 100MHz - wow! If I were running Apple, porting my OS to another chip would be top priority; Motorola simply cannot rise to the challenge and Apple must keep up with the competition to survive. -john.
Apple is not a company to follow the rules. There are a lot of if's, and when you are talking about if's you are talking about unknowns. Sure Apple might make more money by dropping their hardware, but then again they could loose the one thing that makes a difference. Apple as they exist now is actually important, because they bring colour into a sector of industry that is incredibly conservative. It takes Apple to bring out computers that stand out and it also takes Apple to make us think different. Apple pushes the envelope in everything it does, so even if doesn't have the market share it has the power to make others wake up - it is an Icon no matter what market share it has.