AAUG Reviews



Mac OS X Internals: A Systems Approach

Posted in Books, Information, Mac OS X by jeff on the November 26th, 2006

Product Review

Mac OS X Internals: A Systems Approach

Author: Amit Singh
Publisher: Addison-Wesley Professional
Price: $73.99
Pros: Incredibly detailed account of the inner workings of the Mac and Mac OS X
Cons: Highly technical, fairly expensive

Product Rating

5 moose

Excellent

by Jeff Menter, AAUG Member

The Man

Every once in a while a thing comes along — be it a movie, song, painting, or in this case, a book — that is so singular in its approach and execution that one cannot help but be in awe at what has been created. “Mac OS X Internals: A Systems Approach” is one of those things. It’s not just the sheer size; over 1600 pages, or the massive amount of technical details presented in a logical and authoritative fashion, or even the fact that Mr. Singh was first introduced to Mac OS X a mere three years ago. It’s the fact that all these things are together in one amazing book, written by one individual.

The Thing

I must start out by saying that this book is not for everyone as it deals largely with programming languages, APIs (Application Programming Interfaces), and the command line. This book is definitely targeted at software developers, but it will also be interesting for system administrators in need of technical details, operating system enthusiasts, or those that might have an unnatural fascination with technical writing. Most computer users need and desire only that their computers behave well and carry out the tasks to which they have been assigned. The details and minutiae of the operation of these electronic assistants are neither interesting nor salient to the average user, but some users may wish to pay attention to “the man behind the curtain” and find out how things tick.

Considering what the book covers, it is written with an amazing amount of clarity. It is laid out in an orderly and logical fashion and is written in a matter of fact tone. Yet in the writing there is also a hint of passion for the subject matter and an enthusiasm for technology in general that I found quite welcome. There are programming examples for almost every detail expounded upon, and there are a wealth of informative charts and graphics to help explain the many gory details.

The Book

Although one could jump back and forth from one chapter to another, the book has a natural progression to it, starting out in Chapter 1 at the very beginning; the birth of Apple and the original Macintosh, while covering Mac OS X’s beginnings with Unix and the Mach kernel. Chapter 2 is a general overview of Mac OS X that covers firmware, the bootloader, the kernel, and core aspects of the operating system.

The next three chapters are a very thorough investigation of the actual Mac hardware (using a dual processor G5 as an example), getting down to the nitty-gritty where the hardware meets the software. Here, the author discusses the CPU (including processor features, registers, and caches), Open Firmware (with tons of programming examples), information on the PCI bus, and so on.

The next two chapters deal with the kernel and how processes are run. The author explains the differences between threads and processes and also talks about security features built in to the kernel.

Chapter 8 is all about memory and the virtual memory subsystem: how memory is allocated, how swap space is used, and how the operating system deals with low memory situations.

Chapters 9 and 10 explain interprocess communication and extending the kernel. Numerous examples are given to explain how processes communicate with each other and the kernel. Those who, for example, are writing device drivers would be interested in knowing how to extend the kernel and debug kernel space programming.

Chapters 11 and 12 deal with file systems and the HFS+ volume format. I found this chapter particularly interesting. It explains the differences between the older Apple Partitioning Scheme used on pre-Intel Macs and the new GPT-based partitioning in Intel based Macs. The HFS+ volume format is investigated in amazing detail, its features and benefits explained clearly.

Although there are many references to Intel-based Macintosh computers throughout the book, Appendix A covers some specific information about these new machines.

Although there are large sections of the book that cover things I don’t quite understand as well as I should, I feel as though I’ve learned quite a bit about the machine I use every day, and I know that if I have a question about some technical aspect of the operating system, chances are I could find the info in the book.

The Price!

The price of this book seems pretty steep, but spend a few hours with it and you’ll realize why it would still be a bargain at twice the price. It’s definitely not for the casual reader, but anyone who does Mac programming, systems administration, or is technically inclined and would like an in-depth book on the Macintosh will find this book worth its (considerable) weight in gold.

Leave a Reply