|
EVEN MORE THAN TEN YEARS AFTER ITS INCEPTION, there is a dearth of books discussing the architecture
of OS X, and virtually none about iOS. While there is plentiful documentation on Objective-C,
the frameworks, and Cocoa APIs of OS X, it often stops short of the system-call level and implementation
specifi cs. There is some documentation on the kernel (mostly by Apple), but it, too, focuses on
building drivers (with I/O Kit), and shows only the more elegant parts, and virtually nothing on the
Mach core that is foundation of XNU. XNU is open source, granted, but with over a million lines of
source (and comments) with some dating as far back to 1987, it’s not exactly a fun read.
This is not the case with other operating systems. Linux, being fully open source, has no shortage of
books, including the excellent series by O’Reilly. Windows, though closed, is exceptionally well documented
by Microsoft (and its source has been “liberated” on more than one occasion). This book aims
to do for XNU what Bovet & Cesati’s Understanding the Linux Kernel does for Linux, and Russinovich’s
Windows Internals does for Windows. Both are superb books, clearly explaining the architectures
of these incredibly complex operating systems. With any luck, the book you are holding (or downloaded
as a PDF) will do the same to expound on the inner workings of Apple’s operating systems.
A previous book on Mac OS — Amit Singh’s excellent OS X Internals: A Systems Approach is an
amazing reference, and provides a vast wealth of valuable information. Unfortunately, it is PowerPC
oriented, and is only updated up until Tiger, circa 2006. Since then, some six years have passed. Six
long years, in which OS X has abandoned PowerPC, has been fully ported to Intel, and has progressed
by almost four versions. Through Leopard, Snow Leopard, Lion and, most recently Mountain Lion, the
wild cat family is expanding, and many more features have been added. Additionally, OS X has been
ported anew. This time to the ARM architecture, as iOS, (which is, by some counts, the world’s leading
operating system in the mobile environments). This book, therefore, aims to pick up where its predecessor
left off, and discuss the new felines in the Apple ecosystem, as well as the various iOS versions.
Apple’s operating systems have proven to be moving targets. This book was originally written to
target iOS 5 and Lion, but both have gone on evolving. iOS is, at the time this book goes to print,
at 5.1.1 with hints of iOS 6. OS X is still at Lion (10.7.4), but Mountain Lion (10.8) is in advanced
developer previews, and this book will hit the shelves coinciding with its release. Every attempt has
been made to keep the information as updated as possible to refl ect all the versions, and remain relevant
going forward. |