Red Letter Day

Wednesday, July 19, 2006

MacOS X Internals book review

(cross-posted to the Lawrence Apple Users Group blog)

"Mac OS X Internals" by Amit Singh



Publisher: Addison-Wesley
ISBN: 0321278542
Price: $64.99
Author web site: http://osxbook.com/

"MacOS X Internals" is the first book introduced since the advent of OS X that focuses on the low-level details of the MacOS in a way that will give technical people, ranging from geeky end-users to hardware-level programmers, a thorough and fascinating tour of the MacOS. This book is not for "average" end users; it is not an introduction to how to use a Mac. Nor is this book for people looking to get started programming on the Mac; there are plenty of books designed for new Mac developers. What "MacOS X Internals" tries to be is something unique: a guide to the MacOS from the bottom up, and it hits this mark very well.

"MacOS X Internals" can be roughly divided into three parts: a technical history of the MacOS, a review of the MacOS firmware and booting process, and a technical tour of various parts of the OS itself (such as interprocess communication and the file system, to pick two at random). The first section will appeal to any technically-included user of the MacOS, the latter two are aimed more at programmers, although there is plenty there to increase the knowledge of anyone with a strong technical bend, whether they have coded before or not. The MacOS history is a detailed trip down memory lane from the very first post-Next developer builds of MacOS X right up to Tiger and beyond. The features introduced in each OS are described in detail with emphasis on technical and "under the hood" changes. The author is clearly an enthusiast as well, as he frequently sprinkles entertaining bits of trivia in with the meat of the main narrative.

Moving on from the historical sections to the present, author Amit Singh gives a blow-by-blow description of the process of the Mac booting. If you have ever wondered exactly what the Mac is doing as the power flows and the grey apple logo appears, this is for you. Everything from the sequence of initial power-on tests, to the bootloaders and Open Firmware onto the higher level unix boot process are covered in detail. Of special note is the extensive coverage of Open Firmware, which is much more then a merely the "BIOS" of a PowerPC Mac. Singh describes many activities that a system programmer can do in Open Firmware, including making a draggable windowing environment and even programming the famous "Towers of Hanoi." Unfortunately, this book was mostly finished before the Intel Macs arrived on the scene, and while there is a section on the EFI (extensible firmware interface) that is the "BIOS" of all Intel Macs, it is not nearly as deep as the Open Firmware section (updated information on EFI and other topics can be found on the author's web site at http://osxbook.com/).

Roughly following the guide to the MacOS booting, Singh delves into the meat of OS X's Unix underpinnings, describing how the MacOS really runs "under the hood." This section covers all the expected topics, including the kernel, interprocess communication, and memory is very thorough fashion, with tons of code snippets all clearly explained. This will be especially useful for readers who are familiar with how other Unixes work behind the scenes, as Singh frequently and helpfully points of the areas where MacOS differs from other flavors of Unix. There is a great section on the various file systems that OS X supports, which is notable because other then a simple list, I have never seen this information in a book with such detail. The section of the primary OS X filesystem, HFS Plus, is very useful for both developers and power users alike.

"Mac OS X Internals" clocks in at 1641 pages in the end, and is over two inches thick. I was thoroughly impressed by this book. The author's technical knowledge, as well as his enthusiasm and skill at presenting these topics is excellent. It's hard to find anything negative to say about this book other then the the above-mentioned need to have more information on EFI (which isn't the author's fault, it was a matter of timing). I do wish the book came with an electronic version, as this would have made searching and copying the code snippets much easier. There is a coupon included for a time-limited trial of online access to the text, but I would prefer that a PDF be included on a CD with the book, even if this required an increase in the price (you can buy an electronic version on Amazon, but this is separate from the print version). These minor complaints aside, I cannot recommend "MacOS X Internals" enough. It is the finest technical book on MacOS X yet published, and puts Apple's own technical documentation to shame in comparison. If you are a highly technical end user of developer, this book belongs on your shelf.

Summary: a technical tour-de-force and as thorough an overview of the MacOS as has ever made it into print with appeal to everyone from very technical end-users to system programmers

Plusses: Amazing wealth of technical detail, thorough coverage of all aspects of MacOS underpinnings, great sections on OS X history, boot process and file system, tons of programming examples
Minuses: A bit too much Open Firmware minutiae and not enough EFI minutiae, no searchable copy included

(this review has been updated from the original version...additional information on the author's web site and availbility of the PDF version have been added based on reader comments on this blog)

0 Comments:

Post a Comment



<< Home