Home Page Icon
Home Page
Table of Contents for
Close
by Douglas Clarke, Ole Henry Halvorsen
OS X and iOS Kernel Programming
Title
Dedication
Contents at a Glance
Contents
About the Authors
About the Technical Reviewers
Acknowledgments
Introduction
Chapter 1: Operating System Fundamentals
The Role of the Operating System
Process Management
Process Address Spaces
Operating System Services
Virtual Memory
Scheduling
Hardware and Drivers
Summary
Chapter 2: Mac OS X and iOS
The XNU Kernel
Summary
Chapter 3: Xcode and the Kernel Development Environment
Summary
Chapter 4: The I/O Kit Framework
The I/O Kit Model
Object Relationship
The Info.plist File
The Kernel Library: libkern
Summary
Chapter 5: Interacting with Drivers from Applications
The I/O Kit Framework
Finding a Driver
Observing Device Removal
Modifying Driver Properties
State-Based Interaction
Notifications from the Driver
Summary
Chapter 6: Memory Management
Types of Memory
Memory Allocation
Memory Descriptors
Mapping Memory
Summary
Chapter 7: Synchronization and Threading
Synchronization Primitives
Atomic Operations
Locking
Synchronizing Asynchronous Events: Work Loops
Kernel Threads
Summary
Chapter 8: Universal Serial Bus
USB Architecture
I/O Kit USB Support
Summary
Chapter 9: PCI Express and Thunderbolt
PCI in I/O Kit
Interrupts
Direct Memory Access
Summary
Chapter 10: Power Management
Responding to Power State Changes
Requesting Power State Changes
Handling Device Idle
Observing Device Power State Changes
Putting It All Together
Summary
Chapter 11: Serial Port Drivers
Mac OS X Serial Port Architecture Overview
Serial Port Drivers
Implementing the IOSerialDriverSync Class
Serial Port State
Serial Port Events
Serial Data Transfer
Accessing a Serial Port from User Space
Summary
Chapter 12: Audio Drivers
An Introduction to Digital Audio and Audio Devices
Core Audio
I/O Kit Audio Support
Implementing an Audio Driver
Summary
Chapter 13: Networking
Network Kernel Extensions
Debugging and Testing Network Extensions
Networking in the I/O Kit
Summary
Chapter 14: Storage Systems
Transport Layer Drivers
The IOBlockStorageDevice Interface
Building a RAM Disk Device
Partition Schemes
Media Filter Drivers
Summary
Chapter 15: User-Space USB Drivers
Behind the Scenes
The IOUSBLib Framework
Handling Asynchronous Operations
The IOUSBDeviceInterface Class
The IOUSBInterfaceInterface Class
Summary
Chapter 16: Debugging
Common Types of Problems
Kernel Panics
Debugging Mechanisms
Summary
Chapter 17: Advanced Kernel Programming
SSE and Floating Point in the Kernel
Multi-Function Drivers
Writing I/O Kit Families
Kernel Control KPI
Working with Processes in the Kernel
Loading Resources
Beyond KEXT Resources
Notifications from Kernel Drivers
Summary
Chapter 18: Deployment
Installing and Loading Kernel Extensions
Loading Preferences and Settings
Versioning Kernel Extensions
Testing and Quality Assurance
Packaging KEXTs and Software
Summary
Index
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Next
Next Chapter
Title
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset