Apple Universal Binary Question

Posted by Scott Laird Wed, 08 Jun 2005 17:05:00 GMT

So, with Apple’s new “Universal” binary format, where Xcode creates programs that will run natively on both PPC and x86 chips, is there actually a single Mach-O file that contains code sections for both processor types, or are there two different executable files hiding inside of an application bundle?

Apple’s documentation kind of implies that the two architectures are stuffed into a single binary:

You can force a command line tool to run translated by entering the following in Terminal:

ditto -arch ppc tool /tmp/<toolname> 
/tmp/<toolname>

There only other statement that I see in the documentation that gives any details is this little gem:

Note: Xcode has per-architecure SDK support. For example, you can target Mac OS X v10.3 for PowerPC while also targeting Mac OS X v10.4.1 for Intel.

Between the two statements, it seems pretty likely that the PPC and x86 binaries are crammed into the same file, but probably don’t share static strings or any of the other parts of the executable file. They’re really just two distinct program files combined into a single physical file.

Are any other details on the universal binary process public yet?

Posted in  | Tags , , ,  | 2 comments

What will Apple call their Intel systems?

Posted by Scott Laird Wed, 08 Jun 2005 16:34:00 GMT

I was just wondering–what will Apple call their professional computing line once they switch to Intel? The “Power” in PowerMac and PowerBook originally referred to the PowerPC chip inside. Will they keep the “Power” and define it to mean “powerful,” or will they spit out a new prefix?

The iBook/iMac/iPod/iSight/iWhatever product lineup doesn’t have this problem, of course.

Posted in  | Tags , , , ,  | no comments

Apple's move to x86: will it run on non-Apple PCs

Posted by Scott Laird Tue, 07 Jun 2005 01:00:51 GMT

After reading the transcripts of this morning’s WWDC keynote, I’m now feeling pretty good about Apple’s path. They’re going to have sales problems in mid 2006, but for now, there’s no reason for Mac users to avoid buying new systems. I’m still planning on going PowerBook shopping in a few months, and I suspect that most existing Mac users won’t see a problem with buying PPC-based Macs, at least until the x86 ones start appearing on the horizon. I can see waiting 2-3 months for new systems, but waiting for 18 months because something better is coming is just dumb.

The big question on a lot of minds (mine and my co-workers, at least) is whether Apple will sell OS X for non-Apple x86 systems. After today’s announcements, it’s clear that they’ll be technically able to do it in mid 2006. The only real difference between OS X for x86 Macs and OS X for x86 PCs is driver support (er, and bootloader, BIOS, installer, ACPI, and disk partitioning), and I’d bet any amount of money that Apple has people in-house expanding their driver support to allow them to run on generic PCs.

But, just because they can sell OS X for PCs doesn’t mean that they will. Sometime in early 2006, Apple will have to make a decision–are they going to try to take on Microsoft on their home turf, or are they going to stick to their usual niche and try to sell more Mac hardware. With most companies, it’d be a purely financial decision, but with Apple it’ll probably be more of a “where does Steve want to go today” sort of thing. And there’s only one person who can answer that.

Even if Apple decides against selling OS X for generic PCs, though, it isn’t going to stop people from doing it themselves. Unless Apple goes to great lengths, we’re going to see people taking bits of Darwin and grafting them onto the OS X for x86 install DVD and building their own OS X for PC systems. It’ll be just like XPostFacto all over again. It’ll be uglier then OS X on x86 Macs, and the bootloader will be downright strange, but it’ll happen. Or, alternately, someone could graft most of the bootloader and some of the hardware emulation into something like Xen; when running on a PC with either of the new virtualization technologies, that’d be a great way to get both OS X and Linux running on the same physical hardware.

It’s going to happen. Personally, I think it’ll take about two months after production x86 Macs start shipping before you see packaged instructions and tools for building a OS X PC. One of my co-workers thinks that the clock is going to start running as soon as Apple’s P4 development systems start shipping, but I doubt that we’ll see leaks this early–Apple sued people who leaked early Tiger images, and it’d be foolhardy to assume that Apple will ship complete x86 development systems without embedding serial numbers and identifying information all over the place.

Either way, though, there will be small numbers of non-Apple OS X PCs by late 2006. I wonder how Apple will respond.

Update: The rumors start.

Posted in  | Tags , , ,  | no comments

More Apple/Intel

Posted by Scott Laird Sun, 05 Jun 2005 15:02:32 GMT

So, I was convinced that CNet was being played on the Apple moving to Intel CPUs rumor. Then I read Scoble’s take on the topic, and I’m not so sure anymore. He claims that he’s personally confirmed it with people he knows, and that Apple’s going to announce a big move to x86 on Monday. John Gruber seems to be in a similar boat–it doesn’t make any sense, but both the WSJ and CNet are reporting it as fact, not as rumor, and it’s really unlikely that they’re both wrong.

But really, given the information that we have, it just doesn’t make sense. Apple may not be happy with IBM’s ability to speed up the G5 and build a laptop model, but dumping the PPC and moving to x86 seems like gross overkill.

Gruber speculates that Apple and Intel may be working on their own PPC chip, but I can’t really believe that–even if Apple does have the legal right to do that, I can’t see Intel going down that road. It’s too much work for too little profit.

So, like Gruber, I have to conclude that we’re only seeing part of the picture. He doesn’t seem to have a good theory on what’s happening, but here’s mine: Apple has decided that:

  • Tiger is basically as good now as Longhorn will be in late 2006.
  • 10.5 will be better then Tiger.
  • Windows is more vulnerable now then ever before–the burden of viruses and spyware is a crushing load for small companies.
  • Migrating to Longhorn will be a fairly traumatic event for smaller companies.
  • Most users only really need a limited amount of software: email, web browser, Office.
  • A lot of users have a very positive impression of Apple, thanks to the iPod.
  • Most users would really like to have a less-complex, easier to maintain, more reliable alternative to Windows.

Given that, what if Apple has decided that it’s time to bet the house on killing Windows’s monopoly on the PC desktop? Through some combination of Apple-branded X86 hardware, OS X-for-x86 (probably just x86-64), and maybe a Windows emulation environment. With Intel’s soon-to-be-shipping virtualization technology, it wouldn’t be that hard for Apple to get Windows to run underneath “OS X86”.

So, basically Apple will present Windows users with an option–run our software, and you’ll get our wonderful OS, no viruses, no spyware, and the ability to still run Windows if you really need to and you’re willing to pay for the extra license.

If this is the plan, then I wouldn’t even be stunned by Apple selling OS X for non-Apple-branded hardware. There’d be fairly limited hardware support (probably just brand-new x86-64 chips and video cards that Apple already supports, at least for now), but that probably won’t matter all that much, because you’ll be able to get a decent PC with the right specs for under $1k, and the same hardware will be usable under Windows as well.

Apple-branded X86 hardware would then be marketed as better-integrated, better-designed, better-built, and better-supported. They’d remain the BMW of computers. Plus, it’d come with an OS X license, which would make it somewhat price-competitive with buying a Dell (with Windows) plus OS X. A similar strategy seems to work for Sony, and their systems are legendary for dying after a year or so; Apple could probably make it work. Their profit margins would be lower, but they’d save a lot of hardware R&D money–they could probably get out of the ASIC business, for instance. That would let them concentrate more resources on the software side of things. If they could capture 20+% of the market, their revenue and profits would be substantially better then they are now.

So, is all this really going to happen? I have no clue. It’s an interesting theory, and it makes at least as much sense as anything else that I’ve read so far. It’s hugely out of line with what Apple has spent the last decade doing, but it’s agressive, and the timing is right.

Frankly, I’d probably be more inclined to believe it if we hadn’t seem similar rumors for years. So what’s different now? Why is it a good idea now when it wasn’t before? Two reasons: the iPod and spyware. Users have seen what Apple can do, and they’re buying iPods in droves, and at the same time they’re cursing their Windows systems and their amazing ability to collect crap off the net and install it behind the user’s back. Both of these are relatively new occurances, and they both play in Apple’s favor.

So, we’ll see tomorrow.

Update: Om Malik seems to believe something similar.

Posted in  | Tags , ,  | no comments

Apple to Intel, again

Posted by Scott Laird Sat, 04 Jun 2005 14:08:12 GMT

CNet is claiming, again, that Apple is about to dump IBM’s PowerPC chips and move to using Intel’s chips across their entire product lineup. They claim that Steve is going to announce this on Monday during the WWDC keynote.

The same basic rumor pops up every couple years. It usually seems to start with some stock analyst who believes that Apple is dying and the only way they can compete is to become just another PC company, but that doesn’t make a whole lot of sense this time around–it’s hard to claim that Apple is dying while surrounded by a sea of people in white headphones.

Gruber wrote about this a couple weeks ago, when the WSJ printed a rumor that Apple was going to start using Intel’s chips. It’s hard to argue with his basic point: even if Apple wanted to dump PPC chips and switch, it would take at least 18 months to get enough ISV support to allow them to launch products. And, during that 18-month window, no one would buy PPC-based Macs. Apple would be committing marketing suicide.

Personally, it’s unclear to me exactly why Apple would want to switch in the first place. The usual story is that Apple is unhappy with IBM’s progress on ramping the 970’s speed. Steve famously announced that the G5 would hit 3 GHz by this time last year, yet it’s still stuck at 2.7 GHz. That’s annoying and embarrassing, but it matches what the rest of the industry has seen. In the same two-year window, Intel has ramped the P4 from 3.06 GHz to 3.8 GHz (a 24% increase), while AMD’s top clock speed has went from the XP 3000+ (at 2.167 MHz) to their current top speed of 2.6 GHz (a 20% speed boost). So, IBM’s jump from 2.0 GHz to 2.7 GHz, while less then promised, is still better then the rest of the industry. As yesterday’s Mac article from Anandtech shows, the G5 isn’t exactly out of the performance game–it’s a bit slower then AMD’s fastest Opteron, but it’s competitive with a 3.8 GHz Xeon. It’s certainly not the laughingstock that the G4 was before the G5’s introduction.

Which, unfortunately, brings us to the one place where the G4 is still used: laptops. It’s been two years since the G5’s introduction, and people have been clamoring for G5 PowerBooks the whole time. Yesterday’s Gizmodo rumor aside, no one really expects a PowerBook G5 this year, and that really has to be bothering Apple. But, they can’t really change CPU families just to get faster laptops, can they?

The thing that bugs me is that CNet seems *so* sure of this–they have dates, they have names, they have a timeline for the switch. They clearly have what they believe to be a solid source. Apple is famous for their corporate secrecy. Is there any chance that they “leaked” a few Intel stories internally, just to see which ones ended up in the press?

I guess we’ll know on Monday.

Update:

Ars Technica has a nice bit on this rumor, including a good quote from Nathan Brookwood of Insight 64:

“If they actually do that, I will be surprised, amazed and concerned. I don’t know that Apple’s market share can survive another architecture shift. Every time they do this, they lose more customers” and more software partners, he said.

Ars Technica also pointed out an entry from Pavel Machek (a long-time Linux hacker)’s blog, where he claims that Apple offered him a job writing BIOS and ACPI code. ACPI is Intel’s power management spec, and there’s no* reason for Apple to use it when they control the entire hardware and software stack–it’s way too complex to bother with, *unless you need to integrate tons of generic hardware. Of course, this could just be an attempt to keep Darwin current on PC hardware. Or, I guess there’s a slim chance that Apple will start selling OS X for PCs without dumping their own hardware lineup. It seems a wee bit unlikely, though.

Update 2: I’ve changed my mind.

Posted in  | Tags , ,  | no comments