Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
OS X Businesses Operating Systems Apple

Apple Secretly Maintaining x86 Port Of Mac OS X 736

Earlybird writes "According to this eWeek article, Apple has ported the whole of Mac OS X to the x86 architecture and is maintaining it in parallel with the PowerPC builds. Dubbed Marklar, the project is perceived as a fall-back plan, and, quoth the article, 'has apparently gained strategic relevance in recent months, as Apple's relationship with Motorola has grown strained and Apple looks to alternative chip makers.'" Believe what you will ...
This discussion has been archived. No new comments can be posted.

Apple Secretly Maintaining x86 Port Of Mac OS X

Comments Filter:
  • by FrankieBoy ( 452356 ) on Saturday August 31, 2002 @03:35PM (#4177423)
    Darwin is the core for OS X and there is a port for it called GNU-Darwin-x86. Aqua is the GUI and I think that there are some people working on this.
  • Marklar! LOL! (Score:1, Informative)

    by 8Complex ( 10701 ) on Saturday August 31, 2002 @03:48PM (#4177504)
    FYI, Marklar is the planet that the boys took a space ship to on South Park in one episode. The people of Marklar had only one word for all nouns -- Marklar.

    They got chased up by missionaries that wanted to convert the entire planet to Christianity and the Marklars ended up kicking the missionaries off the planet and allowing all of the Ethopians to move to Marlar to live since they couldn't survive in Ethopia. :-)

    So in relation -- Marklar... a strange foreign land. Kind of suiting for OSX on X86, eh?
  • Re:Believable (Score:5, Informative)

    by YeahIThoughtSo ( 415635 ) on Saturday August 31, 2002 @04:22PM (#4177678)
    I totally agree. I program GameCube games, and the PPC chip that IBM has supplied in it is just a wonderful little powerhouse. It's a modified 750 core running at 486 Mhz and has got incredible FP performance and ~ 1.6 GB/s out to memory through a special write-gather pipe. The FP can handle paired-singles (anyone see the altivec connection here?), and the machine as a whole is just stupid fast. (Yes, the memory architecture has someting to do with this too...)

    Anyways, it totally makes sense for apple to go with a desktop version of the POWER4 core. The PPC specification is such that any program written that targets the UISA (think it stands for something like user instruction set architecture -- ie, non-privelidged instructions) will move right over to any other PPC core w/o a recompile. And the PPC64 spec is such that all instructions are still 32bit; it's just the data / registers that're 64bit. So binary compatibility is a no-brainer.

    Couple in the fact that power4 has multiple cores on a die... and, damn. I'll buy my first Apple machine if they actually do this.

  • Already done that (Score:5, Informative)

    by moosesocks ( 264553 ) on Saturday August 31, 2002 @04:29PM (#4177712) Homepage
    Actually, apple released an incomplete build of an early development build of OSX compiled for X86 to ADC members sometime around 4 years ago. It was dubbed as the Apple Rhaposody OS Developer Release 3. It was quite intersesting to pick up the similarities between it and OSX. A ton of information, along with screenshots are posted at this site [toastytech.com].

    It was really a transitional OS which gap between NextSTEP and OSX. It contains both elements of both OSes. Anybody recognize the chess program at the bottom of the page?
  • Re:Stick with PPC (Score:1, Informative)

    by mbezch ( 580480 ) on Saturday August 31, 2002 @04:32PM (#4177737)
    Well, the PPC chips have 64 bit registers, as opposed to the x86 32 bit registers. More data can be processed per cycle this way
  • This is news? (Score:1, Informative)

    by Anonymous Coward on Saturday August 31, 2002 @04:33PM (#4177746)
    NeXT had NeXTSTEP and apps running on multiple architectures [680x0, Intel, SPARC, PA-RISC, NRW) using fat binaries. Compiling for all the architectures at once was just a compile switch. You could distribute the same application which ran identically on different architectures, and the user didn't know or care.

    The year is now 2002. NeXTSTEP has morphed into Cocoa on PPC. It's the same dang libraries basically. Given that it's already pretty robust, why WOULDN'T Apple not maintain this technology just in case? Are they idiots? I think not.

    As to Classic apps, Apple had 680x0 apps running in emulation on Intel a *decade* ago. Big deal! PPC classic apps are nastier because the PPC doesn't nicely map to Intel; but if Apple needs to jump ship they can just toss out Classic entirely and not look back.

    The critical issue is whether or not Carbon apps can run on multiple binaries. Apple would have to figure out ways to handle the endianness issues, and then a recompile would probably be all that is necessary. Then again, Mac developers shouldn't be coding in Carbon anyway. It's a legacy library. And that's true no matter how much Apple squeals otherwise when Microsoft and Adobe jump on them. One day, Carbon will go away. And good riddance too.

    Sum up: a pure Cocoa MacOS X would be a snap to get running on multiple architectures.
  • by zztzed ( 279 ) on Saturday August 31, 2002 @04:57PM (#4177862)

    I wouldn't be so sure. XPostFacto is still going strong with no threat of legal action from Apple whatsoever, and I gather there are numerous happy users of OS X, running it on their old 7300/7500/7600/8500/8600/9500/9600 series PowerMacs via XPostFacto. Then again, the XPostFacto people (person?) can probably get away with it since they're not directly modifying Apple's code, just distributing an extension (or kernel module, if you prefer) using known APIs. Presumably XPostFacto's theoretical x86 analogue would do the same.


    Then again, the situation's not exactly the same -- at least in the case of people running OS X on upgraded legacy Macs, they've already paid Apple's hardware tax.

  • by MaxVlast ( 103795 ) <maxim.sla@to> on Saturday August 31, 2002 @04:57PM (#4177864) Homepage
    System 7 kicked butt.

    The project you're talking about is Star Trek. It happened at the same time as Taligent and Pink. Any idea where all of those things are now? Find me a Dylan programmer and we can ask him together. Or we could send him an RTF e-mail with Cyberdog. Running in Copland.
  • by Jeremy Erwin ( 2054 ) on Saturday August 31, 2002 @05:09PM (#4177905) Journal
    The kernel is called xnu. The Darwin operating system (like most *BSD distributions) is comparable to what RMS and Debian call GNU-Linux. MacOSX uses a fork of Darwin-- there isn't a one to one correspondence between a Darwin release and a MacOSX release-- and adds further libraries and services, Carbon, Cocoa, and Quartz being the three most famous.
  • by Blaede ( 266638 ) on Saturday August 31, 2002 @05:16PM (#4177929)
    Apple employee Vince Garcia once mentioned he had OSX running on an Intel at home back in 2000, nothing new here. And remember all those stories on Macworld of the old Mac OS ports running on Intel? Heck, I'm running OS7 right now, albeit via Basilisk.
  • Re:Stick with PPC (Score:2, Informative)

    by rschroeder ( 186919 ) <ryan AT whole-studios DOT DOT com> on Saturday August 31, 2002 @05:26PM (#4177969) Homepage
    My understanding that Carbon apps contain enough legacy code that recompiling wouldn't be an option.

    Cocoa apps, on the other hand, are ready to go.

    it's the whole yellow box v. blue box thing.
  • by Ikari Gendo ( 202183 ) on Saturday August 31, 2002 @05:29PM (#4177987) Homepage

    One thing that I haven't seen commented on is that the Finder is a Carbon application -- Jobs specifically claimed this as an example of "eating one's own dog food." This means that unless they've rewritten the Finder in Cocoa, or ported Carbon to this alleged x86 build of OS X, the story is as groundless as all other similar stories.

    The article strongly implies that Carbon has not been ported to "Marklar," as in the following:

    Apple would have to also coax most of its third-party developers to rewrite their applications from the ground up in the company's Cocoa application environment.

    But if there's a Cocoa version of the Finder, why haven't we seen it? (Be aware that I'm not a Jaguar user, and don't know if the Finder is Cocoa in the most recent release.) However, given these points:

    • The Finder is written in Carbon.
    • Carbon is not part of Marklar.

    any claim of a fully-featured x86 OS X is bogus.

  • Re:Business as usual (Score:2, Informative)

    by SpotBug ( 228742 ) on Saturday August 31, 2002 @08:00PM (#4178429)

    And then, once Windows is running nicely on your x86-based Mac, developers won't need to write Mac software anymore. And then, well, then Apple's in the same business as the rest of the PC makers, and probably dies.

    Oops.

    And that's the problem with Mac on x86, even in the case where you still have to buy Apple's hardware. You're going to expect that it run your Windows software (it's got an x86 CPU in it!). As soon as that happens, developers start telling their Mac customers, just use the Windows version on your Mac. Little by little, Mac OS goes away and Apple with it.
  • by axxackall ( 579006 ) on Saturday August 31, 2002 @08:10PM (#4178456) Homepage Journal
    just to complete the picture: Yellow Dog [yellowdoglinux.com] is not the only Linux distro running on PPC. I've tried successfully: LinuxPPC [linuxiso.org] (now dead, last distro is 2000'Q4), Debian [debian.org] and Gentoo [gentoo.org]. And I heard about some success of porting of FreeBSD [freebsd.org] and NetBSD [tools.de] to PPC platform, partiuarly into Mac/PPC.

    Why am I telling it? I think Mac OS (including Mac OS X) users should use the same formula as was driving users from PC to Mac - "Think different, think Apple!", but now with a small change: "Think different, think Linux/PPC". Mac/PPC world should not be and is not limited by the dictated choice of the sector monopolist (Apple). And Linux is doing the same great job is it's doing on the PC sector - it's giving the choice for people. The choice of OS.

    Seriosly, think about it. What kind of choice Mac gives to people? To spend another $1K for more expensive hardware and then to stick with Mac OS after discovering lots of Mac OS (even OS X) problems? With Linux/PPC people can buy Mac/PPC and use same skills as they have with Linux/x86.

    I think that Apple, instead of porting of Mac OS X into PC/x86, should officially support (and contribute!) Linux/PPC. Eventually Apple should either port Aqua to Linux/X11 or to give up Mac OS at all.

  • by hoytt ( 469787 ) on Saturday August 31, 2002 @08:46PM (#4178571)
    One of the authors is Nick dePlume, editor-in-chief of http://www.thinksecret.com. This site has a bit shaky reputation when it comes to rumours. The have a few hits, but most of the things they publish are blanks. In the past this site has had various rumours about OS X on x86 hardware. None of which turned out te be anything. Just because they publish and article on eweek doesn't mean it's more credible.

    According to sources, the Cupertino, Calif., Mac maker has been working steadily on maintaining current, PC-compatible builds of its Unix-based OS.

    This doesn't shed any light. Unless they come with a more reliable thing than 'sources' I think it's a miss.
  • Re:No. (Score:2, Informative)

    by toddhisattva ( 127032 ) on Saturday August 31, 2002 @09:05PM (#4178637) Homepage
    RISC is not necessarily better or worse than CISC

    I like your use of "necessarily." I'll need to work that into my daily usage ;-) But I respectfully suggest you're neglecting history.

    CISC comes from an age of assembly-language. It got so extreme some had polynomial evaluation as an instruction.

    RISC comes from an age of compilers. It is a refinement of CISC, based on observing which instructions actually get used and how.

    Please note that I don't mean that compilers didn't exist before RISC, it's just that in the late 70s when x86 was designed, a hell of a lot of stuff was done with assembly. Also, Jimmy Carter was President and the Bee Gees were selling millions of albums a year.

    I'm sure you know all this, thus your clever "necessarily." But I'll continue for the benefit of any youngsters ;-)

    CISC can have dozens of addressing modes. "Load indexed scaled adjusted and postincrement the index" and every imaginable permutation. Your CPU would suffer as it slogged through all the decoding.

    It turns out that to get speed, people just did all the indexing and scaling and whatnot explicitly. The CISC processor was being fed a stream of simple instructions which it didn't have to chew on.

    So folks started making chips that ditched all the complex stuff, and we got RISC, which have less than a handful of addressing modes. Effective address calculation was done explicitly, just like all the smart kids were driving their CISC chips anyway.

    Turns out that sometimes it's good to have a little complexity. For instance, if it doesn't hurt anything to have a complex multiply+add instruction instead of a multiply followed by an add, and you sell into markets that can use such a tweak, why not?

    Motorola's AltiVec is a further example of "enhanced RISC."

    Thus was born "Performance Optimization With Enhanced RISC," or POWER. Apple needed a RISC chip, enacted a shotgun menage-a-trois with IBM and Moto, and we got PowerPC.

    A POWER architecture is two stages of refinement past CISC. Add to this the fact that x86 is pretty much the worst CISC architecture ever -- 68000 was so superior -- PowerPC is a much better, more refined chip than any x86.

    If only Moto didn't suck at building PowerPC! What is wrong with their fabs? There's something seriously bad going on there, such a shame since Moto has proven design genius with 68000 and AltiVec.

    In more fairness to the Dark Side, x86 vendors no longer directly execute the crufty x86 ISA. They translate the instruction stream to something that gets executed by a much better architecture than x86, "micro-ops" for a "core." In these cores, they've been able to incorporate a lot of RISC-like improvements, scalar-ness and whatnot.

  • by Anonymous Coward on Saturday August 31, 2002 @10:25PM (#4178928)
    only for their open source stuff. Inside, they use bitkeeper (because that's what NeXT used).

    John, Senior Apple engineer.

  • by Anonymous Coward on Saturday August 31, 2002 @11:26PM (#4179136)
    I read this and thought... ya, so?

    Why did I think that? Simple... because Apple has ported *EVERY* (major) OS to x86... the fact that it got out that Apple made OS X for x86 doesn't mean anything.

    I read over most of the posts... and I didn't catch one that said Apple's done this for more OS's than just OS X.

    Let it be known, this doesn't mean they will use x86 processors... just that word is out that it's been done.

    I'll probably me marked off as a troll if at all, but I know this is a fact... I've beta tested Apple's OS's before... if you know what I mean.
  • marklar defined (Score:2, Informative)

    by charnov ( 183495 ) on Sunday September 01, 2002 @12:36AM (#4179362) Homepage Journal
    marklar: A noun standing in place of any noun you have temporarily forgotten. Synonym of thingy, thingumbob, whatsit. Also may be used deliberately when the meaning is abundantly clear anyway. Derived from its use by space aliens in an episode of South Park
    Example: On Marklar, everyone and every thing is referred to as marklar. We come in marklar. Take us to your marklar.
  • Re:Nope. (Score:4, Informative)

    by antijava ( 128456 ) on Sunday September 01, 2002 @12:39AM (#4179376)
    Actually there is an Intel port. There has been for years. Way back in the Rhapsody days there were two developer releases available for Intel. Just because they stopped making them available doesn't mean they stopped building it.

    The biggest reason is that maintaining an Intel version ensures that everything they write stays reasonably portable. It they can stay compatible with PPC and Intel in the code, than supporting any other chip that comes along can't be much more difficult.

    Internal builds used to always be built fat...they would just be stripped to PPC-only when it came time to press to a CD for external use. I don't know if it's still the case, but I don't see why they would stop the practice.

    Also, maintaining compatibility keeps future migration options open to them.

    Most of OS X is highly portable already. The kernel is Mach, which was fundamentally designed with portability in mind. Above that is the BSD layer which is regularly synched with the OpenBSD source tree, which is x86 code -- so it's portable. CoreFoundation is part of Darwin, so it already compiles on x86. Cocoa is very high level and used to run on x86 back in the OpenStep days...no big issues there. I see no reason why Cocoa couln't easily go to Darwin as well. Apple had to basically build the Carbon library from scratch after the developer community refused to migrate en-masse to Cocoa. I don't believe Apple would be short-sighted enough to not write it in a portable fashion. Really, Classic is the only part of OS X that would cause a problem with an x86 port. If push comes to shove, Apple could just draw a line in the sand and say that Classic isn't supported...developers have had enough time to move their stuff forward.

    Of course, just because the port is possible doesn't mean that Apple will ever make it a product. Support for such a thing would be a nightmare given the huge number of hardware options in the x86 world. Apple is barely capable of keeping up with drivers for there exremely limited set of hardware options.
  • Re:Stick with PPC (Score:2, Informative)

    by MaineCoon ( 12585 ) on Sunday September 01, 2002 @02:37AM (#4179636) Homepage
    Big difference... Especially endianness - that is, byte order of multi-byte words (2 byte shorts, 4 byte longs and floats, 8 byte long longs and doubles).

    The 68k was big endian, and the PowerPC on the Mac runs in big endian mode. x86 is little endian. Big endian is when the byte order for a number goes most significant to least significant byte. Little endian is the opposite.

    Examples:

    1 (0x00000001)
    Big endian: 0x00 0x00 0x00 0x01
    Little endian:0x01 0x00 0x00 0x00

    4096 (0x00001000)
    Big endian: 0x00 0x00 0x10 0x00
    Little endian:0x00 0x10 0x00 0x00

    305419896 (0x12345678)
    Big endian: 0x12 0x34 0x56 0x78
    Little endian: 0x78 0x56 0x34 0x12

    Likewise... if one has a 4 byte integer in memory, and assumes it is within 0-255 (or -128-127), little endian processor, treating that pointer to the integer as a pointer to a single byte, will work properly. Big endian machines requires offseting the pointer. This is, of course, bad coding, but it happens nonetheless.

    Suddenly all binary data files need translation to work... any code that makes assumptions about byte order doesn't work (such as optimized code for handling byte streams of data in chunks).

    A major part of my job is doing conversions of software from Windows to Mac (games specifically), and handling for endian conversions in file read/write and network transmission, and fixing code that is specific to little endian byte order, is a not an insignificant part of the work.

    This means that now a lot of code has to be changed/fixed/whatnot, but also a new testing cycle. And if you think getting a lot of developers to just recompile is a pain (and it would be)...

    - Chris Jacobson

He has not acquired a fortune; the fortune has acquired him. -- Bion

Working...