Third EditionRobert LoveLinux KernelDevelopmentA thorough guide to the design andimplementationof the LinuxkernelDeveloper's LibraryWebooknto
www.it-ebooks.info
Linux KernelDevelopmentThird Editionwww.it-ebooks.info
ptg Linux Kernel Development Third Edition www.it-ebooks.info
Developer's LibraryESSENTIALREFERENCESFORPROGRAMMINGPROFESSIONALSDeveloper's Library books are designed to provide practicing programmers withunique, high-quality references and tutorials on the programming languages andtechnologies they use in their daily work.All books in the Developer's Library are written by expert technology practitionerswho are especially skilled at organizing and presenting information in a way thatsuseful for other programmers.Key titles include some of the best, most widely acclaimed books within theirtopic areas:PHP&MySQLWebDevelopmentPython Essential ReferenceDavid BeazleyLuke Welling & Laura ThomsonISBN-13: 978-0-672-32978-6ISBN 978-0-672-32916-6MySQLProgramming in Objective-C 2.0Paul DuBoisStephen G. KochanISBN-13: 978-0-672-32938-8ISBN-13:978-0-321-56615-7Linux Kernel DevelopmentPostgreSQLRobert LoveKorryDouglasISBN-13: 978-0-672-32946-3ISBN-13:978-0-672-33015-5Developer's Library books are available at most retail and online bookstores, as wellas by subscription from Safari Books Onlineat safari.informit.comDeveloper'sLibraryinformit.com/devlibrarywww.it-ebooks.info
ptg informit.com/devlibrary Developer’s Library ESSENTIAL REFERENCES FOR PROGRAMMING PROFESSIONALS Developer’s Library books are designed to provide practicing programmers with unique, high-quality references and tutorials on the programming languages and technologies they use in their daily work. All books in the Developer’s Library are written by expert technology practitioners who are especially skilled at organizing and presenting information in a way that’s useful for other programmers. Key titles include some of the best, most widely acclaimed books within their topic areas: PHP & MySQL Web Development Luke Welling & Laura Thomson ISBN 978-0-672-32916-6 MySQL Paul DuBois ISBN-13: 978-0-672-32938-8 Linux Kernel Development Robert Love ISBN-13: 978-0-672-32946-3 Python Essential Reference David Beazley ISBN-13: 978-0-672-32978-6 Programming in Objective-C 2.0 Stephen G. Kochan ISBN-13: 978-0-321-56615-7 PostgreSQL Korry Douglas ISBN-13: 978-0-672-33015-5 Developer’s Library books are available at most retail and online bookstores, as well as by subscription from Safari Books Online at safari.informit.com Developer’s Library www.it-ebooks.info
Linux KernelDevelopmentThird EditionRobertLoveAddison-WesleyUpperSaddleRiver, NJ.Boston·Indianapolis·SanFranciscoNew York·Toronto·Montreal.London·MunichParis·MadridCapeTown·Sydney·Tokyo·Singapore·MexicoCitywww.it-ebooks.info
ptg Linux Kernel Development Third Edition Robert Love Upper Saddle River, NJ • Boston • Indianapolis • San Francisco New York • Toronto • Montreal • London • Munich • Paris • Madrid Cape Town • Sydney • Tokyo • Singapore • Mexico City www.it-ebooks.info
Acquisitions EditorLinuxKernelDevelopmentMarkTaberThird EditionDevelopmentCopyright2010PearsonEducation,IncEditorMichael ThurstonAll rights reserved.Printed in the United Statesof America.Thispublication isprotected bycopyright, and permission must be obtained from the publisher prior to any prohibited repro-Technical Editorduction,storage in a retrieval system,ortransmission inanyformorby anymeans,elecRobert PJ.Daytronic,mechanical,photocopying,recording,orlikewise.Managing EditorISBN-13: 978-0-672-32946-3Sandra SchroederISBN-10:0-672-32946-8Senior ProjectEditorLibraryof Congress Cataloging-in-PublicationData:TonyaSimpsonLove, Robert.Copy EditorLinuxkerneldevelopment/RobertLove.3rded.Apostrophe EditingServicesp. cm.IndexerIncludesbibliographical references and indexBrad HerrimanISBN978-0-672-32946-3(pbk.:alk.paper)1.Linux.2.Operating systems(Computers)Proofreader1. Title.DebbieWilliamsPublishingQA76.76.063L6742010Coordinator005.4'32—dc22Vanessa Evans2010018961Book DesignerGary AdairText printed in the United States on recycled paper at RR Donnelley, Crawfordsville, Indiana.CompositorFirstprintingJune2010Mark ShirarMany of the designations used by manufacturers and sellers to distinguish their productsareclaimedastrademarks.Wherethosedesignationsappearinthisbook,andthepublisherwas aware ofatrademarkclaim,thedesignations havebeenprintedwith initialcapitallettersorinallcapitals.Theauthorandpublisherhavetakencareinthepreparationofthisbook,butmakencexpressedorimpliedwarrantyofanykindandassumenoresponsibilityforerrorsoromis-sions.No liabilityisassumedfor incidental orconsequentialdamages in connection withorarising out of the use of the information or programs contained herein.Thepublisheroffersexcellentdiscountsonthisbookwhenorderedinquantityforbulkpur-chasesorspecialsales,whichmayincludeelectronicversionsand/orcustomcoversandcontentparticularto yourbusiness,traininggoals,marketing focus,and branding interests.Formoreinformation,pleasecontact:U.S.CorporateandGovernmentSales(800)382-3419corpsales@pearsontechgroup.comForsalesoutsidetheUnited Statesplease contact:InternationalSalesinternational@pearson.comVisitusontheWeb:informit.com/awwww.it-ebooks.info
ptg Linux Kernel Development Third Edition Copyright © 2010 Pearson Education, Inc. All rights reserved. Printed in the United States of America. This publication is protected by copyright, and permission must be obtained from the publisher prior to any prohibited reproduction, storage in a retrieval system, or transmission in any form or by any means, electronic, mechanical, photocopying, recording, or likewise. ISBN-13: 978-0-672-32946-3 ISBN-10: 0-672-32946-8 Library of Congress Cataloging-in-Publication Data: Love, Robert. Linux kernel development / Robert Love. — 3rd ed. p. cm. Includes bibliographical references and index. ISBN 978-0-672-32946-3 (pbk. : alk. paper) 1. Linux. 2. Operating systems (Computers) I. Title. QA76.76.O63L674 2010 005.4’32—dc22 2010018961 Text printed in the United States on recycled paper at RR Donnelley, Crawfordsville, Indiana. First printing June 2010 Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and the publisher was aware of a trademark claim, the designations have been printed with initial capital letters or in all capitals. The author and publisher have taken care in the preparation of this book, but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for incidental or consequential damages in connection with or arising out of the use of the information or programs contained herein. The publisher offers excellent discounts on this book when ordered in quantity for bulk purchases or special sales, which may include electronic versions and/or custom covers and content particular to your business, training goals, marketing focus, and branding interests. For more information, please contact: U.S. Corporate and Government Sales (800) 382-3419 corpsales@pearsontechgroup.com For sales outside the United States please contact: International Sales international@pearson.com Visit us on the Web: informit.com/aw Acquisitions Editor Mark Taber Development Editor Michael Thurston Technical Editor Robert P. J. Day Managing Editor Sandra Schroeder Senior Project Editor Tonya Simpson Copy Editor Apostrophe Editing Services Indexer Brad Herriman Proofreader Debbie Williams Publishing Coordinator Vanessa Evans Book Designer Gary Adair Compositor Mark Shirar www.it-ebooks.info