20

I'm looking for an exhaustive, university-level book or guide to study in order to gain the ability of writing Mac OS X device drivers. I'm totally ignorant on this OS, but I'm already skilled on Linux.

Is there any Mac OS X counterpart for book "Linux Device Drivers"?

The best guide should introduce OS internals too, makes clear kernel space and userland differences and so on.

Thanks in advance

kent
  • 5,435
  • 3
  • 25
  • 32
drAlberT
  • 18,939
  • 5
  • 29
  • 36
  • I can make no guarantees, but OS X is based on BSD (and NeXTSTEP, but who uses that?), so any BSD-applicable knowledge _may_ be useful here. I repeat, _may_. I wouldn't know for sure, so don't hold me to this (otherwise, I would post this as an answer instead of just a comment). – Chris Lutz Aug 25 '09 at 08:36
  • 1
    OS X derives from NeXTSTEP but it is only partially based on BSD. There's a Mach microkernel. The I/O system is very different. etc etc – Ned Deily Aug 25 '09 at 08:47
  • 2
    090828 just today on the darwin-drivers mailing list... Michael Smith writes: (quote)Repeating an old thread; I/O Kit is not the BSD driver model. Trying to jam a *BSD style driver sideways into an I/O Kit shaped hole is a recipe for grief (ask me how I know). – kent Aug 28 '09 at 09:45

4 Answers4

13

The Apple Developer Connection web site contains lots of documentation. There is a whole section on Hardware & Drivers here in particular a Getting Started document here. Probably the best overall introduction to OS X internals is Mac OS X Internals by Amit Singh.

Ned Deily
  • 78,314
  • 15
  • 120
  • 148
7

Amit Singh's wonderful book Mac OS X Internals: A Systems Approach has an extensive section on kernel extensions, the IOKit and drivers. It's the best general resource on OS X internals that I know of, but it doesn't cover the latest system updates; it only covers up to the 10.4 release (Tiger).

cms
  • 5,512
  • 2
  • 25
  • 30
1

Amit Singh's book is good but as other posters noted it needs to be updated. I'm getting up to speed on IOKit and opted for another newer book OS X and iOS Kernel Programming. It doesn't have the depth of Singh's book but it has many practical examples of driver code. It is perhaps a better choice if you want get going quickly.

Kirk
  • 11
  • 1
1

I suggest the following as it is updated to Snow Leopard and Lion: Mac OS X and iOS Internals: To the Apple's Core by Jonathon Levine: http://www.amazon.com/s/ref=nb_sb_noss_1?url=search-alias%3Dstripbooks&field-keywords=Mac+internals&rh=n%3A283155%2Ck%3AMac+internals

This is quite a good book regarding all aspects of Mac OS X internals.

user941601
  • 21
  • 1