Overview
The modern Mac operating system is now termed macOS
, after an entire generation of Mac OS X and its many variants (10.0, 10.1, 10.2, and the then-current 10.4) having initially been given feline code names — Cheetah, Puma, Jaguar, Panther, Tiger, Leopard — later replaced by grander place-based monikers like El Capitan, Sierra, etc.
It is essentially a current-day evolution of NeXTSTEP with the Aqua interface wrapped around it — that is to say, a BSD-like UNIX system running atop the Mach microkernel.
Architecture
macOS (formerly Mac OS X) layers a number of foundational technologies:
- UI: Aqua, AppKit (Cocoa), SwiftUI (modern additions)
- Frameworks: Cocoa / Carbon (legacy), Core Foundation, Core Graphics, Core Audio, Core Animation
- Runtime: Objective-C runtime plus (later) Swift runtime
- Kernel: XNU hybrid (Mach + BSD + I/O Kit)
- Heritage: Direct lineage from NeXTSTEP (Objective-C, Display PostScript lineage, IPC model)
The kernel (XNU) blends the Mach microkernel (scheduling, VM, IPC primitives) with BSD services (POSIX processes, networking, VFS) and an object-oriented device driver framework (I/O Kit, C++ based). Many user‑space abstractions (launchd, Grand Central Dispatch, sandboxing) build atop these primitives.
The best (still) available overview of its internals is Amit Singh’s article What Is Mac OS X?, which I recommend heartily to anyone coming from mainstream UNIX systems like Linux and BSD — it explains much of the rationale and heritage of Mac OS X in a clear, well written fashion, and draws appropriate comparisons along the way.
Amit also published a must‑have book on Mac OS X and made available a vastly extended version of its initial chapter covering the system’s precursors and history.
O’Reilly also has a handy book for people coming to Mac OS X from other UNIXes: “Mac OS X for Unix Geeks”:
Version Timeline (Early Releases)
Version | Code Name | Release Date | Highlights |
---|---|---|---|
10.0 | Cheetah | 2001-03 | First consumer release, Aqua debut, performance issues |
10.1 | Puma | 2001-09 | Significant speedups, added DVD playback, better hardware support |
10.2 | Jaguar | 2002-08 | Quartz Extreme, improved networking, Address Book |
10.3 | Panther | 2003-10 | Exposé, FileVault (v1), faster Finder |
10.4 | Tiger | 2005-04 | Spotlight, Dashboard, Core Image |
10.5 | Leopard | 2007-10 | Time Machine, Spaces, 64-bit userland expansion |
Tools
Networking
- GSM and GPRS scripts for the Sony Ericsson T68i
- GSM/GPRS Dial-up
Essentials
Unix
- Fink
- sendmail HOW-TO (pre-Panther)
- Mac OS X Ports (not as interesting as Fink, but occasionally useful)
- DarwinPorts
- Marc Liyanage – Ports
- Common Problems and Troubleshooting
Carbon and Cocoa
Mach and Mach-O
- How Mac OS X executes applications (on
otool
and.dylib
s)
Neat Stuff
- Menu Items list (applications that use menu bar add-ons extensively)
- Tomcat and Cocoon (Tomcat 3.2.1 and Cocoon 1.8.2 as an installer package)
- Java and Tomcat on Mac OS X
- tun/tap driver (useful for running QEMU)
- Mac OS Through The Years — turns out I remember pre‑6.0 versions, even though I spent many years on 6.0.4 and 7.1…