In 2010, Tristan Schaap published a Bachelor thesis on his 12 week stint as an intern with Apple's Platform Technologies Group, a subdivision of the Core OS department. The thesis was originally embargoed because it contained sensitive information, but it was eventually published by the Netherland's Delft University of Technology several months ago, as reported by iMore.
According to the paper, Schaap worked with the group to get Darwin, the "lower half" of Apple's Mac OS X operating system, to boot onto an ARM processor from Marvell. During the course of the project, he achieved his goal of "booting into a multi-user prompt," though some issues still remained due to a "poor implementation on the debug hardware."
It is, however, highly possible that Apple's explorations into porting Mac OS X to the ARM architecture were not meant to ever ship in an actual product. The company has been known to place new engineers on decoy projects in order to determine their trustworthiness.
But, it is interesting to note that, according to Schaap's LinkedIn profile, he joined Apple as a "CoreOS Engineer" after graduation and has worked there for almost a year and a half. His profile lists his 2009 intern position as an "Embedded Bringup Engineer."
Schaap wrote in his thesis that he faced three technical issues during the 12-week project. Having to create a build system, including a filesystem and kernelcache, from the ground up was one of the obstacles. A stale kernel source was also a problem, since bugs snuck in due to the ARMv5 branch of XNU not having been exercised "in a long time." Finally, Schaap said issues with the JTAG debugger resulted in an "entire instruction set" being unusable.
In order to get the product ready to ship, Schaap noted that the L2 cache would need to be reworked. Several more drivers would also need to be written for the hardware in order to "fully utilize the potential." Also, Schaap recommended that several applications be written or ported from other platforms since the userland the team had ported was "not enough to perform the tasks the unit needs to perform."
Though rumors that Apple has been interested in switching from Intel-based Macs to ARM-based ones have been around for some time, one analyst poured cold water on that likelihood last week after a meeting with Apple CEO Tim Cook. Citi's Richard Gardner said he walked away from the meeting "with the impression that Apple feels iPad satisfies— or will soon satisfy— the needs of those who might have been interested in such a product" as an ARM-based MacBook Air.
Misek had previously predicted that Apple would being merging Mac OS X and iOS this year with the release of an A6-powered MacBook Air. Last May, a rumor surfaced that Apple had built a test MacBook Air with the same ARM-based A5 processor that was used in the iPad 2. Company executives reportedly felt the prototype performed "better than expected."
Speculation that Apple would port OS X to ARM has also been fueled by the fact that Microsoft announced early last year that Windows 8 will run on the ARM architecture. However, Microsoft's strategy differs from Apple in that it is making plans for tablets with a full desktop operating system accompanied by a Metro UI layer on top that is optimized for touch. For its part, Apple has itself preferred to take inspiration from the iPad and bring it back to the Mac, rather than the other way around.
From PowerPC to Intel
Apple spent years preparing for the last major architecture switch on the Mac: the move from PowerPC to Intel. In fact, former executives revealed that the company's failed effort to port Mac OS to Intel was one of the circumstances that brought co-founder Steve Jobs back to the company. The failure apparently made it clear to Apple that it needed to modernize its operating system, so it decided to purchase NeXT, which Jobs had founded after leaving Apple, to do so.
Jobs went on to accomplish the company's goals, first modernizing Mac OS in 2001 with the release of Mac OS X and then announcing the switch to Intel in 2005. Parallel Intel-compatible versions of Mac OS X existed alongside the official PowerPC variants for five years prior to the switch, as Jobs reportedly had wanted to go with Intel back then, though he ultimately decided to adopt the G5 processor.
48 Comments
Correction:
"An academic paper written by a former Apple intern who USED TO SERVE as a Core OS engineer at the company..."
Correction:
"An academic paper written by a former Apple intern who USED TO SERVE as a Core OS engineer at the company..."
Why not? He started as an intern, wrote the paper, got hired and then left a year and half later.... Anything wrong with that?
It's not a question of if, but when. Problem is that ARM would be in addition to, not replacement of, x86, especially in desktops. And I doubt they'd pull a Rosetta and make an x86-to-ARM instruction translator, that would be wasteful and slow. Not sure Apple wants to go through that again.
Regardless, let's keep in mind that OS X was running on Intel for 4 years before we ever heard about it, so OS X on ARM is likely to be a very long term project.
"Mac OS X has been leading a secret double life" -- Steve Jobs, WWDC 2005
Darwin already runs on x86 and ARM so it shouldn't come as a surprise to anyone that Apple would be working on this internally for the entire OS.