Particle Debris (week ending 9/18) The Breadth of Mac OS X

There wasn't much technical news debris this week, so I'm going to delve into a wonderful Apple document that I was made aware of this week.

It's all too easy to evaluate an operating system based on its visual appearance, the way we manipulate files and folders, and how we establish settings. But deep down, any modern OS is a tremendously complicated affair. With the help of a fairly new Apple document, "Mac OS X for UNIX Users," found on Apple's Mac OS X page, I want to take just a moment to reflect on some of those deeper features.

When Mac OS X was first conceived, one of the primary goals was to build an OS that could grow into the future. Apple understood all to well how convoluted and limited the old Mac OS 8,9 had become. As a result, Apple designed a very extensible OS that could last for several decades.

Unfortunately, another of the primary goals of Mac OS X, to combine "The Power of UNIX and the Simplicity of the Mac" tends to focus more on the simplicity side, for sake of marketing and sales to everyday customers, and often shortchanges the deeper UNIX and technical elements. Because of that, two things happen:

  1. Some PC reviewers underestimate the Mac.
  2. Casual users don't understand the enthusiasm of university and government users who do have that deeper understanding.

The document I linked to above should be read by every Apple customer. That's not because they need to become UNIX gurus to appreciate Snow Leopard; rather it's for the sake of fully appreciating what they have under the hood that surfaces to make using a Mac so enjoyable, secure and productive.

Another thing the document does is provide a formal familiarization with the wealth of technical terms surrounding Mac OS X. In this document, you'll be introduced to terms like the Bonjour Sleep Proxy, Frameworks, Cocoa, Carbon, X11, Quartz, OpenGL, Darwin and so on. I'll mention some other, possibly unfamiliar, terms in a bit. Don't let these terms alarm you; instead let your curiosity surface. That way, if you want to dig deeper and learn more, you'll have a good foundation.

Programmers will appreciate the discussion of C blocks and the LP64 data architecture and some of the finer details of the 64 bit architecture. For example, we learn that while a 64-bit address space allows for a theoretical limit of 16 exabytes, Snow Leopard is limited to (merely) 128 terabytes.

Later in the document, there's a discussion of math libraries, openMPI, OpenCL and more.

IT Managers who are curious about the Mac OS X file systems, Boot root, and ACLs will find a brief overview. For example, "Mac OS X is the first system to gracefully mount and unmount NFS, DAV, and SMB/CIFS volumes based on changes to network status or available directory services, providing an uninterrupted experience from either the GUI or the command line." It's little things like this that make working with Macs so much easier, but we often neglect to think about and appreciate the ingenuity of Apple OS engineers as they introduce advanced features that nevertheless fit in with a UNIX OS.

IT Managers and corporate users will also find a nice overview of Mac OS X sandboxing, secure launch services, secure networking, Kerberos, VPN via L2TP/IPSec or PPTP. There' a discussion of the firewall (ipfw2) and certificates. It's not deep, but it's a good place to start if one wants to learn more.

This document won't teach you what you need to know if you're deep into UNIX in the enterprise, education or government. There is a wealth of material at the Apple Developer Connection site and in books that will teach you that.

What this document does do, beautifully, smartly, and concisely is introduce the newbie or curious or C-level person or reviewer to the breadth and depth of Mac OS X, especially Snow Leopard. It will open your eyes and engender a smile, an appreciation for the years of work Apple has put into Mac OS X. It's in that sense that "Mac OS X for UNIX Users" is required reading for every Apple customer, whether or not you're into UNIX at all or dabble on the command line.