Where can I systematically study how to write Mac OS X device drivers?

12,457

Solution 1

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.

Solution 2

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).

Solution 3

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.

Solution 4

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.

Share:
12,457
drAlberT
Author by

drAlberT

Updated on June 14, 2022

Comments

  • drAlberT
    drAlberT about 2 years

    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

    • visual_learner
      visual_learner almost 15 years
      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).
    • Ned Deily
      Ned Deily almost 15 years
      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
    • kent
      kent almost 15 years
      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).
  • dirkt
    dirkt over 5 years
    The "Getting Started" document link is dead.