没有合适的资源?快使用搜索试试~ 我知道了~
首页OS X与IOS内核编程(英文PDF原版-OS.X.and.iOS.Kernel.Programming.Dec.2011)
与传统的用户应用程序开发不同,内核环境更加复杂多变,任何问题都会严重影响系统的稳定性、安全性和性能,所以一定要确保内核代码中没有任何错误。本书介绍了非常实用的内核开发方法,是XNU内核开发者必备的“九阴真经”。 本书两位作者都活跃在计算机软硬件以及驱动程序开发一线,具有丰富的实战经验。Ole Henry Halvorsen是最早一批为USB 3.0和Thunderbolt创建视频硬件设备的开发人员。Douglas Clarke具有15年以上的麦金塔计算机专业软硬件开发经验。本书汇集了两位作者多年的实战经验与智慧感悟,展现了一幅XNU内核编程与设备驱动程序开发的斑斓画卷。相信在作者循循善诱、通俗易懂的讲解下,读者定能为书中的精彩内容深深吸引,渐入化境,在不知不觉中炼就内核开发的绝世武功。 如果你对iOS和Mac OS X操作系统感兴趣,关注内核开发,或者你本身就是驱动程序开发人员,那么如此精彩的一本好书绝对不容错过。
资源详情
资源评论
资源推荐

COMPANION eBOOK
Shelve in
Programming / Mac / Mobile
User level:
Intermediate–Advanced
www.apress.com
BOOKS FOR PROFESSIONALS BY PROFESSIONALS
®
O
S 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 introduc-
tion 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 and
iOS Kernel Programming and find the knowledge you need to start developing
your own device drivers and applications that control hardware devices.
Companion
eBook
Available
Master kernel programming for
efficiency and performance
OS X and iOS Kernel
Programming
Ole Henry Halvorsen | Douglas Clarke
OS X and iOS Kernel Programming
Halvorsen
Clarke
SOURCE CODE ONLINE

OS X and iOS Kernel
Programming
Ole Henry Halvorsen
Douglas Clarke

OS X and iOS Kernel Programming
Copyright © 2011 by Ole Henry Halvorsen and Douglas Clarke
This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is
concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting,
reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval,
electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter
developed. Exempted from this legal reservation are brief excerpts in connection with reviews or scholarly analysis or
material supplied specifically for the purpose of being entered and executed on a computer system, for exclusive use
by the purchaser of the work. Duplication of this publication or parts thereof is permitted only under the provisions of
the Copyright Law of the Publisher's location, in its current version, and permission for use must always be obtained
from Springer. Permissions for use may be obtained through RightsLink at the Copyright Clearance Center. Violations
are liable to prosecution under the respective Copyright Law.
ISBN-13 (pbk): 978-1-4302-3536-1
ISBN-13 (electronic): 978-1-4302-3537-8
Trademarked n ames, logos, an d images may app ear in this book. Rather than us e a trademark s ymbol with every
occurrence of a trademarked name, logo, or ima ge we use the names, logos, and images only in a n editorial f ashion
and to the benefit of the trademark owner, with no intention of infringement of the trademark.
The use in this publication of trade names, tr ademarks, service ma rks, a nd s imilar terms, ev en if th ey a re not
identified as such, is not to be ta ken as an expres sion of opinion as to whether or not they are subject to proprietary
rights.
While the advice and information in this book are believed to be true and accurate at the date of publication, neither
the authors nor the editors nor the publisher can accept any legal responsibility for any errors or omissions that may
be made. The publisher makes no warranty, express or implied, with respect to the material contained herein.
President and Publisher: Paul Manning
Lead Editor: James Markham
Technical Reviewers: Phil Jordan and Graham Lee
Editorial Board: Steve Anglin, Mark Beckner, Ewan Buckingham, Gary Cornell, Morgan Ertel, Jonathan Gennick,
Jonathan Hassell, Robert Hutchinson, Michelle Lowman, James Markham, Matthew Moodie, Jeff Olson,
Jeffrey Pepper, Douglas Pundick, Ben Renow-Clarke, Dominic Shakeshaft, Gwenan Spearing, Matt Wade,
Tom Welsh
Coordinating Editor: Debra Kelly
Copy Editors: Scribendi Inc. and Kim Wimpsett
Compositor: Bytheway Publishing Services
Indexer: SPI Global
Artist: SPI Global
Cover Designer: Anna Ishchenko
Distributed to the book trade worldwide by Springer Scie nce+Business Media New York, 233 Spring Street, 6th Floor,
New York, NY 10 013. Pho ne 1 -800-SPRINGER, fax (2 01) 34 8-4505, e-mail
orders-ny@springer-sbm.com, or vi sit
www.springeronline.com.
For information on translations, please e-mail rights@apress.com, or visit www.apress.com. Apress and friends of ED
books may be p urchased in bulk f or academic, corporate, or promotional use. eBook versions and licenses are also
available f or most titles. For more inf ormation, ref erence our Special Bulk Sales–eB ook Licensi ng w eb page a t
www.apress.com/bulk-sales.
Any source code or other supplementary materials referenced by the author in this text is available to readers at
www.apress.com. For detailed information about how to locate your book’s source code, go to
www.apress.com/source-code/.

To my wife and best friend, Jennifer,
and my children, Desmund and Isabel.
—Ole Henry Halvorsen
To my parents,who encouraged my
interest in computing from an early age.
—Douglas Clarke

iv
Contents at a Glance
About the Authors................................................................................................ xiv
About the Technical Reviewers ............................................................................ xv
Acknowledgments ............................................................................................... xvi
Introduction ........................................................................................................ xvii
Chapter 1: Operating System Fundamentals ..........................................................1
Chapter 2: Mac OS X and iOS ................................................................................15
Chapter 3: Xcode and the Kernel Development Environment ..............................39
Chapter 4: The I/O Kit Framework ........................................................................51
Chapter 5: Interacting with Drivers from Applications........................................69
Chapter 6: Memory Management .........................................................................99
Chapter 7: Synchronization and Threading ........................................................119
Chapter 8: Universal Serial Bus ..........................................................................141
Chapter 9: PCI Express and Thunderbolt ............................................................173
Chapter 10: Power Management ........................................................................205
Chapter 11: Serial Port Drivers...........................................................................223
Chapter 12: Audio Drivers...................................................................................249
Chapter 13: Networking......................................................................................275
Chapter 14: Storage Systems .............................................................................319
Chapter 15: User-Space USB Drivers ..................................................................357
Chapter 16: Debugging .......................................................................................381
Chapter 17: Advanced Kernel Programming ......................................................411
Chapter 18: Deployment .....................................................................................429
Index ...................................................................................................................443
剩余471页未读,继续阅读














安全验证
文档复制为VIP权益,开通VIP直接复制

评论0