Sure beats making tea as a lot of "work experience" people end up doing!
A Dutch computer science student's homework has stirred the old rumour that Apple may ditch the Intel platform and power its Macbooks with ARM processors. Tristan Schaap's bachelor thesis at the Delft University of Technology described work he did at Apple as an intern: getting the core of Mac OS X to run on an MV88F6281 …
I spent my work experience crashing a Wyse terminal.
Some idiot designed to software to work on a text-based menu where right-cursor went into a menu and left-cursor came out of it. That wasn't the idiot bit - the idiot bit was one-too-many lefts and you were randomly thrown back to the login screen and lost everything, or the machine crashed and lost everything (sometimes not just the local terminal either).
I lost count of the number of times I did it in the two weeks I was there. Typically, their IT guy had those weeks off sick so instead of learning some IT, as I'd hoped, I was left on the computer to do some admin and randomly crashing the system every few minutes (and *NOT* allowed to learn the process to get it back up and running again).
But the place was near a McDonald's for lunch, the placement paid me for my time there (which was totally optional), and I got one of the best ever reports sent back to the school and read out as an example of how to "move successfully into the business world" (fortunately, I was off the day they read it out in front of the whole school).
Hell, I think I spent more time laughing at their huge 9-pin dot-matrix (outdated even for those days) than I did actually getting anything useful done for them.
There were some nice PowerPC chips out there that did an excellent job of combining a decent chunk of processing oomf with low power overheads. PA Semi used to make some nice things... too bad they got eaten up, eh? Guess we're going to have to choose between power hungry x86 and compute-poor ARM devices for a little while yet.
PowerPC was fine, but it failed to exist on the desktop in machines other than Apple machines. So the versions of PPC chips you could get ended up being of two flavours:
1. Server CPUs with huge power and cooling requirements.
2. Embedded CPUs with low power requirements but also low performance.
Neither of the above is any good for laptops or desktops.
In the end Apple couldn't make a laptop with the most powerful PPC chip they ever used, the G5 as it was too power hungry and needed too much cooling. They say that if you use a G5 you'll save money replacing it for a new Mac Pro as the electricity demand of a G5 is pretty immense.
As for the ARM switch, I think it's too early at the moment. But they're always looking ahead not at the present as it takes a while to get these things out in the wild. Maybe in 12-18 months there will be some considerable ARM processor changes.
Are you Mental?
Compared to the current Intel 'i' CPU family, PowerPCs were monster power hogs. the very reason Apple dropped PowerPC was because of Intel's accelerating performance-per-watt advantage. Maybe we'll see a similar migration to ARM is the medium term for the same reason.
Re: Are you Mental?
I'll assume that you've no idea about the things PA Semi had been working on before Apple ate them and cancelled the projects? They didn't take quite the same approach as IBM, and ended up with remarkably similar looking processors eating about a quarter of the power. I did mention them by name for a reason.
Unreleased product specs... do you believe in unicorns too?
Anyway, my original MacBook Air 11.6" has a 1.4GHz Core 2 Duo, much faster than any ARM product, with a TDP of 7W and trivial idle consumption. Really happy with it. I assume during typical use the processor only plays a minor power consumption role, so don't really care about ARM or whatever.
Porting an OS to an completely different chip in 12 weeks is no mean feat.
No surprise they offered him a job!
> Porting an OS to an completely different chip in 12 weeks is no mean feat.
That depends on how portable the OS was to start with.
And SF has a Darwin-on-ARM project dating back to 2006, so this isn't groundbreaking work.
Good work-experience project, though.
"This project has no files"
Yes, someone has registered an SF project for Darwin on ARM - but there's been no activity on it as far as I can see. From what I've read on other sites, a significant issue seems to be getting the correct toolchain together in order to compile it. Obviously, if you're working as an intern at Apple this probably isn't a problem.
If there is an active project to get the open source version of Darwin onto ARM, I'd love to know about it!
Of course Apple are playing with ARM
They'd have to be morons not to test the viability of an ARM port. But that's a very long way from saying they're going to ship one.
Still, it might improve the chances of ARM-based manufacturers telling MS to bog off with their "secure boot" idea...
Secure boot is remarkably similar to the trusted computing idea in that Linux and BSD fans were up in arms saying it would stop their OS booting. But it never happened.
Businesses don't want it either I guess.
Re: Of course Apple are playing with ARM
You missed the bit about it is also a good way of encouraging Intel to sell thier chips cheaper
Exactly what I thought, Apples X86 business is large enough to keep Intel listening.
Right on the Money
Dell use to do this to Intel to get better bulk chip prices out of them. Someone would leak that they were considering AMD chips and all of a sudden, they got a better deal on bulk orders from Intel. Apple may be doing this to get first crack and better bulk prices on new Intel CPU's. After all, why would Apple want to go the Netbook Route with Arm CPU's in a Macbook Air. That's been done and quickly on the decline.
Intel probably don't really care that much about the Apple X86 business, ok to be more accurate - Apple's business to Intel is tiny compared to most others, that means that they only have a certain amount of leverage with Intel. This is the main reason that they left PPC in the first place - the X Box had a larger demand for PPC chips than Apple did, and the manufacturers just wouldn't give Apple the price per chip they wanted.
Apple are sort of stuck here, they obviously have some use for ARM - it's in their phones and pads - but they aren't going to be running a desktop on it any time in the foreseeable future and - critically - they really, really don't want to change chip architecture again. G5 users are pretty narked about their expensive computers becoming paperweights, as are the early Intel owners. Changing chipsets is an easy way to alienate your customers.
Porting Darwin to an ARM9 SoC seems like an oddly retro thing to do, even for 2010. The original iPhone already had Darwin running on an ARM11 in 2007 (and iPhone 4 of course has the more recent Cortex-A8 core). Can't imagine it was of much relevance to *anything* Apple might want to do, never mind ARM-powered MacBooks. Still, must have been a fun undergrad project...
Same instruction set
So I'm sure it wouldn't matter what he went with, given that a 12 week project would never encompass NEON or snazzy graphics capabilities. Someone likely had an old test/dev board lying around that he could use, so that's what he built it on.
Apple have the Clang compiler and LLVM runtime which enable them to compile and link apps into a format which is architecture neutral. It doesn't take a huge leap of the imagination to believe that they could support ARM and x86 almost on a level footing by encouraging devs to build to LLVM bitcode instead of native instructions.
It would probably be far easier to transition than the move from PPC to Intel where they had to use fat binaries and PPC emulation to migrate people across and where it was pretty much recognized to be a one way trip.
LLVM Bytecode is not architecture neutral. The Clang (C to LLVM) front-end needs to know features of the architecture (width of int, pointer, etc) it is compiling to. Then the LLVM to assembler compiler needs to know more features of the architecture (Instruction mnemonics, simd availability, etc).
Tought this was SOP at Apple?
I was under the impression that Apple are continually working to make sure OS X works on multiple platforms and are always trying to cross compile to different processors.
Something about not wanting to get stuck being reliant on one processor manufacturer again.
Nothing to see here, please move along
Didn't we have an article less than a week ago about how new staff at apple typically work on bogus projects for a few years to see if they can be trusted with the sekrit speshul sauce?
Given what Microsoft are doing with Windows 8 on ARM and how the OSX user interface is changing it's hardly a stretch to imagine that Apple have (or had) a plan for converging the Mac and iOS platforms to a single OS.
I don't believe a word of it
It's inconceivable that Apple haven't been building MacOS X on ARM for years, just as they did with x86 while selling PPC Macs. They may well have had a student do a project, but not because they didn't already have a port.
Move to ARM
While I agree with the comments that say that you can't conclude anything from the student project, it makes very good sense for Apple to move to ARM for their laptops and desktop computers:
1. They can share low-level code with IOS.
2. They can reduce power-use, which was the main stated reason for the previous move (to x86).
3. They can run IOS applications natively on laptops and desktops.
4. They can make their own SoC, which prevents people from installing MacOS X on non-Apple machines.
I think reason 4 may be the most compelling for Apple, as they have (almost) always been unhappy about clones and about people running MacOS on their cheap PCs.
I don't want iOS Apps on my Laptop! I want the full grown Adobe Lightroom and Libre Office and Pixelmator and Postgresql and VMware Fusion ....
With you on that
I want to run full versions of Photshop, Garageband, Logic, Cubase, and especially Pro Tools. I can do this now on my Pre- Unibody Macbook Pro.
$5 dollar chips are always tempting,
With the iPhone 4 essentially being a $5 chipset the only things stopping Apple here is being going backwards.
However with the new Final Cut Pro X being a simpler edition of Final Cut Pro it is possible.
And consumer needs are certainly less than professionals.
I really don't get why people are surprised. It is clear that no company of that size will rely on x86 only operating system. Before Microsoft acted like a spoiled kid, they had nt running on every processor. Next showed their framework (grandfather of osx) running on nt.
Especially Apple side compiled and managed osx for Intel since 10.0 and we are supposed to be shocked.
NT on Alpha?
I thought that was a half-hearted contractual obligation.
x86 uber alles
> It is clear that no company of that size will rely on x86 only operating system.
Dell do. Microsoft do. So do Sony, Lenovo and the rest of the PeeCee cloners. Though you might quibble about their size in comparison to Apple. Apart from the high-end server and mainframe markets, pretty much everything relies on x86 only architectures and OSes. CPE, phones and tablets don't of couse but they really aren't general purpose computers. Even Cray have been assimilated by the x86.
Apple famously have $100B cash, Microsoft and their server division are huge and they are pushing .Net for ages.
They have no obligation to admit they code portable stuff. In fact that is what they should do for their long term interest.
Read the history of nt, it was developed to run on a cpu which was never available to general public. Why? They wanted to make sure no x86 only code slips in. Nt name itself comes from processor or its board, new technology is made up.
I know Mac developers who would still ship for powerPC if Apple made it easier just to make sure they don't do non portable hacks.
Is there a story here beyond what some kid did on this summer holidays, even though porting the kernel in a few weeks is an impressive feat?
MacOSX is inherently portable. It used to run on PPC until His Steveness killed that. The kernel is mostly BSD which runs on just about anything. So an ARM port would largely be about removing any x86-specific cruft that has accumulated in the 3 years or so since Snow Leopard was released and PPC support got dropped.
An ARM port for MacOSX kinda makes sense for two reasons. It'll keep Intel & AMD awake.It also gives Apple the option of having to suppory just one OS (kernel) across all its hardware.
Code base unification
With the IOs-ification of Lion in features, it makes economic sense to look at codebase unification where possible. This reduces security oversight, patch coding, skills training for staff, product development cycles, time to market, etc etc..
Apple will have no plans to port MacBooks to ARM right up to the point in time they have plans to port MacBooks to ARM
... cool summer intern job though!