Darwin and Mac OS X Coding Overview

The platypus-looking guy on the right is Hexley, the unofficial mascot for Darwin. Darwin is an umbrella term for the various open source projects that comprise the UNIX core of Apple's Mac OS X. While the source is a read-only dump of the state of Apple's OS, that doesn't stop us third-party types from having a mess around.

Darwin Tools

The free(1) tool inspects the Mach memory manager and pagers to determine memory usage on the system and report it in a (hopefully) useful way.

ncpus simply reports on the number of CPUs, using the Mach API. Written while I was investigating the thread scheduler.

Darwin Patches

Patch to diskdev_cmds/edquota.tproj/edquota to fix the behaviour of the -p flag.

Patch to bootp/bootplib/nbimage.c which fixes a breakage introduced with 10.4.3. The plist format was changed with this version, in order to support multiple architectures; however this means that existing NetBoot image sets do not work. Rather than updating the image, I fixed the problem.

Various launchd files patched in order to allow launchd to use the power manager when deciding whether to ignite a task. Really this shouldn't be used, see LaunchArbiter instead.

Mac OS X Tools

iSendMail(1) flexes the NSMailDelivery class to send emails (which is deprecated as of Mac OS X 10.5).

Rants

A Wish List of things which should be done with Darwin.