- A Mach-O System
- The BSD Layer
- Drivers
- Initialization and Startup
- Quartz Is Not X11 (But It Could Be)
- OS X is not FreeBSD
OS X is not FreeBSD
Lots of parts of OS X come from FreeBSD, from the top half of the kernel up into the userland. The lower parts come from Mach and a lot, such as the virtual memory subsystem and scheduler, have been heavily reworked in recent versions.
It's almost as much of a mistake to say that OS X is not FreeBSD as it is to say that it is FreeBSD. From the perspective of a userspace programmer, it is very difficult to tell the two apart. Aside from the presence of Mach ports on Darwin, the two are remarkably similar. The Mach layer at the bottom of the kernel is visible in userspace, but not directly used by most developers outside Apple. Indeed, their documentation recommends against relying on its presence, so it may vanish altogether in a future version.
The best way to think of OS X is as a close relative of FreeBSD. It shares a lot of code and is very similar to develop for. It's no accident that FreeBSD was the first platform that had libdispatch, the core of Apple's Grand Central, ported to it.