Leopard, Vista and the iPhone OS X Architecture
July 12th, 2007
Daniel Eran Dilger
A number of people are working to crack open the iPhone in order to use it on alternative mobile networks or to modify its software or install their own. What they are finding is more interesting to me because it reveals hints as to what latent features of the iPhone remain to be unlocked in software. Here’s a look at what’s been discovered, starting with how the iPhone’s OS relates to Mac OS X in the year of Leopard and Vista.
Leopard, Vista y la arquitectura del OSX del iPhone – planetamac
Traducción: Oscar Reixa
[Leopard, Vista and the iPhone OS X Architecture]
[iPhone OS X Architecture: Disk, Shell, and Password Security]
[iPhone OS X Architecture: the BSD Unix Userland]
[iPhone OS X Architecture: Cocoa Frameworks and Mobile Mac Apps]
iPhone OS X.
Despite all the various reports that insisted that the iPhone could not possibly run anything resembling Mac OS X and that Apple was just branding it as “OS X” to mislead or otherwise distort the reality of its customers, the iPhone is very plainly running a streamlined but quite complete version of Mac OS X.
That means it uses a Mach kernel, Unix userland, Cocoa frameworks, Mac OS X application bundles, and other vestiges of Apple’s NeXTSTEP-derived desktop version of the Mac operating system.
Because its a mobile device, a number of desktop-oriented concepts have been stripped, simplified, cleaned up, or refigured to support the unique needs of a mobile device with limited resources. Because it’s a brand new, clean architecture, a number of Mac concepts that exist to support legacy software are also missing.
The iPhone also incorporates a number of ideas related to Leopard, which isn’t slated to ship until October. Some of these ideas are covered by NDA, so I’ll carefully step through the details to reveal what I think is of most practical importance. But first, it seems useful to point out what Leopard is and how it differs from Microsoft’s Windows Vista.
The Development of Mac OS X.
While both Mac OS X and Windows do many of the same things, Apple and Microsoft have unique approaches to development and serve distinct markets with differing needs. That makes them difficult to compare overall in a meaningful way. I highlighted some of these differences in the “Leopard vs Vista” series of articles.
Since 2000, Apple has rapidly built out Mac OS X along a consistent development path, initially stopping every year to release a retail build, then beginning an 18 month release cycle:
• Mac OS X 10.0 shipped in March 2001.
• Mac OS X 10.1 debuted in September 2001.
• Mac OS X 10.2 Jaguar shipped in August 2002.
• Mac OS X 10.3 Panther was released in October 2003.
• Mac OS X 10.4 Tiger was released a year and a half later in April 2005.
In 2006, Apple’s migration to Intel Macs resulted in the release of Mac OS X Tiger Intel. This year, Leopard has been delayed to account for the unique OS X build for the ARM architecture used in the iPhone. That’s two major retail versions that didn’t advance a lot of splashy OS marketing features, but did push Apple’s OS development into new directions:
• Mac OS X 10.4.4 Tiger for Intel Macs was released in January 2006.
• iPhone OS X 1.0 (based on Leopard) was released in June 2007.
•Mac OS X 10.5 Leopard is planned for release in October 2007.
The Development of Vista.
Leopard isn’t being held up in the manner of Microsoft’s Longhorn / Vista project, which drifted from 2001 through 2003, then started over based on Microsoft’s Windows Server 2003 code base, then ran around on snags throughout 2004, 2005 and 2006.
When Vista was delivered as a retail product earlier this year, it ended up as Windows XP with a series of new architectures bolted on top, most obviously:
• the .Net 3.0 development frameworks designed to eventually replace the Win32 programing API.
• the Avalon or Windows Presentation Foundation graphics layer, similar to Mac OS X’s 2001 Quartz.
• a lot of security work.
That left third party Windows developers to decide whether they wanted to build Vista-specific apps, or simply continue Win32 work while waiting to see how the entirely new portions of Vista shaped up in terms of security and robustness.
It also left users wondering why they needed to upgrade to the more expensive new OS, and in fact Vista uptake has been slow compared to Windows XP despite the fact that all new PCs ship with Vista and that the PC market has expanded significantly since 2001.
[Acer says Vista not helping PC sales much | Tech news blog - CNET News.com]
[Vista's twofold sales boost: Microsoft should thank PC market growth - Ars]
[Windows Vista Makes Limited Impact On PC Sales, Analysts Reveal - InformationWeek]
[In-Stat: Vista not goosing PC sales - Computerworld]
Ongoing Maintenance Updates of Mac OS X vs Windows Vista.
In addition to its major retail releases, Apple has also delivered 34 free updates equivalent to Microsoft’s Service Packs for Windows. Both deliver a package of significant new features, bug fixes, and new applications.
This number does not include Apple’s security updates, firmware updates, other applications updates, or alternative updates ported to a specific architecture (Intel vs Power PC). It also does not included the same number of free updates delivered for Apple’s Mac OS X Server version.
• Mac OS X 10.0-10.1 received 7 free updates.
• Mac OS X 10.2 Jaguar received 8 free updates.
• Mac OS X 10.3 Panther received 9 free updates.
• Mac OS X 10.4 Tiger has received 10 free updates.
Between Windows XP in 2001 and Windows Vista in 2007, Microsoft delivered two free Service Pack updates for its consumer desktop operating system:
• Windows XP Service Pack 1 in 2002.
• Windows XP Service Pack 2 in 2004.
Windows XP Service Pack 3 is planned for the first half of 2008.
Adding in server and workstation products, Microsoft shipped Windows 2000 Service Pack 4 in 2003 and a “SP4 Rollup 1” in 2005, along with a two service packs for Windows 2003 Server, along with an “R2” interim Server update to SP1.
That’s seven free updates from Microsoft. Counting the same way, Apple has delivered more than 70 free updates for its Mac OS X product line. By any measure, it’s simply embarrassing for Microsoft and its enthusiasts.
Selling the Past vs. Delivering the Future.
In developing Windows since 1990, Microsoft has periodically assembled new features to add to its OS, in part to enable it to sell a new set of retail boxes, but primarily to stoke the demand for new PCs. Bundled copies on new PC make up the vast majority of Microsoft’s business, and are the reason why Microsoft is fighting China over PCs sold without an operating system. If people didn’t automatically buy Windows, they would not choose to later.
Windows 95, 98, 2000, and XP each boosted new PC sales. Industry observers even blamed sagging PC sales over the last couple years on the delay of Vista. However, the fact that Microsoft could continue to sell a six year old operating system at all demonstrates how different its business is compared to Apple.
Unlike Microsoft, Apple can’t sell a half decade old product and expect anyone to buy it. Apple competes in a real market, so it can’t just roll out some fixes every few years and sit back as profits roll in from OEMs who chose to exclusively recommend Windows.
Even Microsoft is having trouble with that business model. In a report released June 27, 2007 under the heading “First Half Sales Show Vista Operating System Has Not Been a Growth Driver for the PC Industry,” Gartner’s George Shiffler stated:
“The release of Microsoft Windows Vista operating system at the end of January has, so far, failed to stimulate the market in the way many hoped. Our market data suggest Vista has had very limited impact on PC demand or replacement activity. We don’t see Vista having a significant effect on these going forward unless Microsoft becomes much more aggressive in its marketing efforts.”
Internal Architectural Improvements vs Marketing Features.
To catch up and pass Microsoft, Apple has had to consistently deliver an ongoing development plan for Mac OS X as an overall architecture. That constant progress not only leapfrogged Microsoft on the desktop, but opened up Apple’s ability to compete in other markets as well; the Apple TV and iPhone are examples of this.
Apple’s unique position as the maker of its own hardware–combined with its independence from having to maintain compatibility with legacy issues in the same manner Windows does–allows Apple to move faster and rapidly introduce new software technologies and hardware integration.
Apple’s five major retail releases of Mac OS X–not counting the two leaps to new processor architectures–are recognized by their marketing features: things like Spotlight, Dashboard, and Exposé. However, in reality the marketing bits were only there to sell those major releases; the internal work each release delivered was more important from the point of overall technological progress.
Similarly, Leopard isn’t just the series of marketing features that are associated with it in Apple’s advertising.
Instead, it really represents the ongoing work Apple has developed since the release of Tiger in 2005. The real value in Leopard isn’t Time Machine or Spaces, but rather the core technologies those applications are built upon.
Leopard in the iPhone.
As I noted earlier, because the iPhone and the Mac share so many key technologies, the success of the iPhone will allow Apple to invest in core OS technologies that benefit both products.
Apple plans to sell 10 million iPhones by the end of next year, and several million Apple TV units. That means it will be doubling the number of Mac OS X based products it ships every year, greatly accelerating how much it can afford to invest in its operating system development, shared core frameworks, and shared application logic.
Instead of serving about 5.3 million Mac customers with QuickTime, Mail, and Safari and every year, it will be shipping its technology to 12 million this year and nearly 20 million in 2008.
[Inside Apple TV]
Because the iPhone is very different from the Mac, there are things its version of OS X has that are in advance of the Mac, other things that are just different, and still more that are simplified or missing. The next article will introduce details of the iPhone’s software architecture with comparisons to the Mac as a point of reference: iPhone OS X Architecture: the Mach Kernel and RAM.
Like reading RoughlyDrafted? Share articles with your friends, link from your blog, and subscribe to my podcast! Submit to Reddit or Slashdot, or consider making a small donation supporting this site. Thanks!