In this video, Steve Jobs introduces Mac OS X (in the year 2000), this is a snapshot from the video:

enter image description here

He says that Darwin is the kernel for Mac OS X.

Now the following is a diagram of the Mac OS X architecture (from Wikipedia):

enter image description here

The diagram shows that the kernel for Mac OS X is XNU (not Darwin), and that Darwin is XNU plus system utilities.

Does the term "kernel" have many definitions?

  • 1
    I'm not sure that this is on-topic here. – wizzwizz4 Mar 10 '19 at 21:03
  • This is not retrocomputing, but current computing. – John Dallman Mar 10 '19 at 21:12
  • Well it's formulated from a historic perspective, but I agree it's as well current. More so, it's about a question that can and will only attract opinion based answer (starting with the opinion what a kernel is or not). Therefore I'd vote off-topic. – Raffzahn Mar 10 '19 at 22:00
  • 2
    Without getting too macabre, I'm pretty sure that Steve Jobs is not a current person in computing. – Tommy Mar 11 '19 at 3:31
  • 2
    I don't think it's fair to characterize his statement as meaning "Darwin is defined as a kernel". It should be interpreted to mean "The OS kernel functionality is being provided by Darwin". This does not mean that Darwin is all and only a kernel, just that Darwin has a kernel, and that's the one being used by Mac OS X. As far as the upper layers in that diagram are concerned, the kernel is the most important thing Darwin provides. During this kind of presentation there is little reason to bring up the fact that Darwin also includes system utilities. – Ken Gober Mar 11 '19 at 15:12

The answer is simple, Jobs was simplifying for the media.


Does the term "kernel" have many definitions?

I guess that's the core (SCNR) issue here. Kernel is a quite vague definition. It's even visible in aboves picture as Mach itself is defined as a kernel, and everything above (like file systems) services that are added later. Then again, above graphics tie the Mach kernel with services (from the BSD project/kernel) and call the result ('xnu') again a kernel.

So when more utilities get added and bundled as 'Darwin' it is an arbitary coice to call it OS or kernel. In fact, the term 'core OS' coined here (whatever that should mean) sounds much like an attempt to avoid writing again'kernel'.

Bottom line: What 'Kernel' means is an arbitrary decision for a vague concept.

It is one of these 'I know it when I see it' kind of words, concept words, that are great for a generalized abstract discussion, but do not work for an in detail description.

So for a concrete product, it's whatever parts the manufacturer calls so. And Jobs as CEO does hold some stake here, doesn't he?

(And as John Dallman already mentioned a term for simplification and marketing, bendable as needed, to sell the product with some techno babel aura)

  • In the context of a modern multitasking operating system, the concept is pretty well defined. The kernel is the bit that provides the basic services that have to run with a higher level of privilege than normal. The kernel in mac OS is not Darwin, it is xnu. There is no ambiguity about it: Steve Jobs was using the term incorrectly. – JeremyP Mar 12 '19 at 18:34
  • @JeremyP Except, there is no consistent definition of what basic services are. So anything based on a vague definition is by all logic in itself not 'prety well defined' but arbitrary. – Raffzahn Mar 12 '19 at 18:41
  • Well no there isn't, but they are precisely defined as far as the XNU kernel is concerned (and also any other individual kernel, although they may not be the same set of basic services). In practical terms, the border between the kernel and user land is the point at which the CPU switches into privileged mode. Darwin is quite definitely not a kernel. XNU is a kernel. Linux is a kernel. – JeremyP Mar 12 '19 at 18:48
  • An incorrect answer is still an answer; please don't flag this as NAA. – wizzwizz4 Mar 14 '19 at 22:05
  • 1
    Although I have to say, I'm not sure it's good etiquette to both vote for a question to be closed and provide an answer... – JeremyP Mar 16 '19 at 10:48

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