Operating System for a Decade

When Steve Jobs presented Mac OS X, he named it the operating system for the next decade. This decade has passed by some years ago. What’s next?

OS X does not lack any major feature. It seems there is not much to expect on the software side. But OS X is more than software. It’s software and hardware combined. It’s a platform. Evolution might be driven by changes in the hardware.

Is the hardware platform lacking any major features? Apple does not use latest CPUs, latest graphics cards, latest anything. They never did. They could change that easily. But this would not change a lot.

Apple does however use two different CPU architectures for mobile devices and desktop computers. Using x86 for mobile devices is highly unlikely but using ARM for the desktop might be possible.

There’s one problem: ARM CPUs are not as powerful as x86 CPUs are. But the end of the performance per CPU race has been on Apple’s radar for quite a while. They have pushed their grant central dispatch technology for some time now. Developers have adopted it on scale. ARM is fast enough for event dispatching. ARMs are power efficient. In a mobile device you have four ARM cores. Apple’s desktops nowadays have up to twelve x86 cores. Now imagine a desktop with 64 ARM cores. Or more.

Why would you want to have a computer that has less powerful CPUs? While it seems like your computer is handling one task at a time (load that document), it does a whole lot of things at the same time: Listen for network traffic, back up files, update this and update that. Even loading a document can be split into two parallel tasks: Load the data from disk and interpret the data already in memory. With current systems, most CPUs idle most of the time. They could finish all tasks of a day in minutes. For almost every task, you do not need the full power of your CPU. But almost all the time you could use an additional CPU.

Now take a look at this commit to LLVM: Apple’s favorite compiler suite just learned how to handle ARM64 cores.

Update ARM64 is now in the prime time