Take the 2-minute tour ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

When I ran $ls on my root directory a file /mach_kernel was found. I'm assuming this is the OSX kernel. I always thought that OSX used the XNU hybrid kernel, so why is this file called "MACH"? I'm running Lion.

share|improve this question

2 Answers 2

up vote 1 down vote accepted

Based on what the Wikipedia page on XNU says, XNU is based on Mach. Since OS X started using the Mach kernel and now uses a derivative of it, they probably just kept the kernel's file name the same so they didn't have to tweak firmware during upgrades or with new machine releases.

share|improve this answer

The file is called /mach_kernel for historic reasons; XNU is, indeed a hybrid of Mach and a BSD layer (forget Wikipeida, there's http://www.amazon.com/Mac-OS-iOS-Internals-Apples/dp/1118057651 which seems more definitive).

In actuality, this kernel isn't the exact image which gets loaded - there is a pre linked kernel cache (with all the necessary kexts) in /System/Library/Caches/com.apple.kext.caches/Startup.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.