Apress

OS X and iOS Kernel Programming

By Ole Henry Halvorsen , Douglas Clarke

OS X and iOS Kernel Programming Cover Image

OS X and iOS share a common core. Authors Henry Halvorsen and Doug Clarke deliver detail and insight into that core in OS X and iOS Kernel Programming, which enables readers to write device drivers and extremely efficient applications. This book offers the necessary context and knowledge to graduate to the master class of iOS and OS X programmers!

Full Description

  • ISBN13: 978-1-4302-3536-1
  • 484 Pages
  • User Level: Intermediate to Advanced
  • Publication Date: December 27, 2011
  • Available eBook Formats: EPUB, MOBI, PDF
  • Print Book Price: $59.99
  • eBook Price: $41.99
Buy eBook Buy Print Book Add to Wishlist

Related Titles

Full Description

OS X and iOS Kernel Programming combines essential operating system and kernel architecture knowledge with a highly practical approach that will help you write effective kernel-level code. You’ll learn fundamental concepts such as memory management and thread synchronization, as well as the I/O Kit framework. You’ll also learn how to write your own kernel-level extensions, such as device drivers for USB and Thunderbolt devices, including networking, storage and audio drivers.

OS X and iOS Kernel Programming provides an incisive and complete introduction to the XNU kernel, which runs iPhones, iPads, iPods, and Mac OS X servers and clients. Then, you’ll expand your horizons to examine Mac OS X and iOS system architecture. Understanding Apple’s operating systems will allow you to write efficient device drivers, such as those covered in the book, using I/O Kit.

With OS X and iOS Kernel Programming, you’ll:

  • Discover classical kernel architecture topics such as memory management and thread synchronization
  • Become well-versed in the intricacies of the kernel development process by applying kernel debugging and profiling tools
  • Learn how to deploy your kernel-level projects and how to successfully package them
  • Write code that interacts with hardware devices
  • Examine easy to understand example code that can also be used in your own projects
  • Create network filters

Whether you’re a hobbyist, student, or professional engineer, turn to OS X andiOS Kernel Programming and find the knowledge you need to start developing

What you’ll learn

  • OS X and iOS common core architecture
  • How to write extremely efficient code by exploiting kernel details
  • Coding kernel-level extensions
  • How to write device drivers
  • How to program the I/O Kit framework
  • Key mobile device topics like power management drivers and video capture modules
  • To understand OS X memory management and threads
  • To parse kernel debug messages and package projects ready for deployment

Who this book is for

This book is suited for:

  • Intermediate and advanced iPhone and OS X programmers ready for the next step
  • Kernel-level programmers interested in how OS X and iOS function
  • Open source programmers with a background in Linux or BSD, OS X and iOS
  • Programmers interested in application performance
  • System administrators running OS X clusters

Table of Contents

Table of Contents

  1. Operating System Fundamentals  
  2. Mac OS X and iOS
  3. Xcode and the Kernel Development Environment
  4. The I/O Kit Framework
  5. Interacting with Drivers from Applications
  6. Memory Management
  7. Synchronisation and Threading
  8. USB Drivers
  9. PCI and Thunderbolt
  10. Power Management
  11. Serial Port Drivers
  12. Core Audio
  13. Network Drivers
  14. Storage Drivers and Filesystems
  15. User-Space Drivers
  16. Debugging and Profiling 
  17. Advanced Kernel Programming
  18. Deployment
Source Code/Downloads

Downloads are available to accompany this book.

Your operating system can likely extract zipped downloads automatically, but you may require software such as WinZip for PC, or StuffIt on a Mac.

Errata

If you think that you've found an error in this book, please let us know about it. You will find any confirmed erratum below, so you can check if your concern has already been addressed.

* Required Fields

No errata are currently published