Device Drivers

 

Embed or link this publication

Popular Pages


p. 1



[close]

p. 2

professional linux® kernel architecture wolfgang mauerer wiley publishing inc.

[close]

p. 3



[close]

p. 4

professional linux® kernel architecture introduction xxvii chapter 1 introduction and overview 1 chapter 2 process management and scheduling 35 chapter 3 memory management 133 chapter 4 virtual process memory 289 chapter 5 locking and interprocess communication 347 chapter 6 device drivers 391 chapter 7 modules 473 chapter 8 the virtual filesystem 519 chapter 9 the extended filesystem family 583 chapter 10 filesystems without persistent storage 643 chapter 11 extended attributes and access control lists 707 chapter 12 networks 733 chapter 13 system calls 819 chapter 14 kernel activities 847 chapter 15 time management 893 chapter 16 page and buffer cache 949 chapter 17 data synchronization 989 chapter 18 page reclaim and swapping 1023 chapter 19 auditing 1097 appendix a architecture specifics 1117 appendix b working with the source code 1141 appendix c notes on c 1175 appendix d system startup 1223 appendix e the elf binary format 1241 appendix f the kernel development process 1267 bibliography 1289 index 1293

[close]

p. 5



[close]

p. 6

professional linux® kernel architecture wolfgang mauerer wiley publishing inc.

[close]

p. 7

professional linux® kernel architecture published by wiley publishing inc 10475 crosspoint boulevard indianapolis in 46256 www.wiley.com copyright © 2008 by wolfgang mauerer published by wiley publishing inc indianapolis indiana published simultaneously in canada isbn 978-0-470-34343-2 manufactured in the united states of america 10 9 8 7 6 5 4 3 2 1 library of congress cataloging-in-publication data mauerer wolfgang 1978professional linux kernel architecture wolfgang mauerer p cm includes index isbn 978-0-470-34343-2 pbk 1 linux 2 computer architecture 3 application software qa76.9.a73m38 2008 005.4 32 dc22 2008028067 i title no part of this publication may be reproduced stored in a retrieval system or transmitted in any form or by any means electronic mechanical photocopying recording scanning or otherwise except as permitted under sections 107 or 108 of the 1976 united states copyright act without either the prior written permission of the publisher or authorization through payment of the appropriate per-copy fee to the copyright clearance center 222 rosewood drive danvers ma 01923 978 750-8400 fax 978 646-8600 requests to the publisher for permission should be addressed to the legal department wiley publishing inc 10475 crosspoint blvd indianapolis in 46256 317 572-3447 fax 317 572-4355 or online at http www.wiley.com/go/permissions limit of liability/disclaimer of warranty the publisher and the author make no representations or warranties with respect to the accuracy or completeness of the contents of this work and specifically disclaim all warranties including without limitation warranties of fitness for a particular purpose no warranty may be created or extended by sales or promotional materials the advice and strategies contained herein may not be suitable for every situation this work is sold with the understanding that the publisher is not engaged in rendering legal accounting or other professional services if professional assistance is required the services of a competent professional person should be sought neither the publisher nor the author shall be liable for damages arising herefrom the fact that an organization or website is referred to in this work as a citation and/or a potential source of further information does not mean that the author or the publisher endorses the information the organization or website may provide or recommendations it may make further readers should be aware that internet websites listed in this work may have changed or disappeared between when this work was written and when it is read for general information on our other products and services please contact our customer care department within the united states at 800 762-2974 outside the united states at 317 572-3993 or fax 317 572-4002 trademarks wiley the wiley logo wrox the wrox logo wrox programmer to programmer and related trade dress are trademarks or registered trademarks of john wiley sons inc and/or its affiliates in the united states and other countries and may not be used without written permission all other trademarks are the property of their respective owners wiley publishing inc is not associated with any product or vendor mentioned in this book wiley also publishes its books in a variety of electronic formats some content that appears in print may not be available in electronic books.

[close]

p. 8

about the author wolfgang mauerer is a quantum physicist whose professional interests are centered around quantum cryptography quantum electrodynamics and compilers for you guessed it quantum architectures with the confirmed capacity of being the worst experimentalist in the known universe he sticks to the theoretical side of his profession which is especially reassuring considering his constant fear of accidentally destroying the universe outside his research work he is fascinated by operating systems and for more than a decade starting with an article series about the kernel in 1997 he has found great pleasure in documenting and explaining linux kernel internals he is also the author of a book about typesetting with latex and has written numerous articles that have been translated into seven languages in total when he s not submerged in vast hilbert spaces or large quantities of source code he tries to take the opposite direction namely upward be this with model planes a paraglider or on foot with an ice axe in his hands mountains especially have the power to outrival even the linux kernel consequently he considers planning and accomplishing a first-ascent expedition to the vast arctic glaciers of east greenland to be the really unique achievement in his life being interested in everything that is fundamental he is also the author of the first compiler for plankalkul the world s earliest high-level language devised in 1942­1946 by konrad zuse the father of ¨ the computer as an avid reader he is proud that despite the two-digit number of computers present in his living room the volume required for books still occupies a larger share.

[close]

p. 9



[close]

p. 10

credits executive editor carol long senior development editor tom dinse production editor debra banninger copy editors cate caffrey kathryn duggan editorial manager mary beth wakefield production manager tim tate vice president and executive group publisher richard swadley vice president and executive publisher joseph b wikert project coordinator cover lynsey stanford proofreader publication services inc indexer jack lewis

[close]

p. 11



[close]

p. 12

acknowledgments first and foremost i have to thank the thousands of programmers who have created the linux kernel over the years most of them commercially based but some also just for their own private or academic joy without them there would be no kernel and i would have had nothing to write about please accept my apologies that i cannot list all several hundred names here but in true unix style you can easily generate the list by for file in $all_files_covered_in_this_book do git log pretty format an $file done sort -u -k 2,2 it goes without saying that i admire your work very much you are all the true heroes in this story what you are reading right now is the result of an evolution over more than seven years after two years of writing the first edition was published in german by carl hanser verlag in 2003 it then described kernel 2.6.0 the text was used as a basis for the low-level design documentation for the eal4 security evaluation of red hat enterprise linux 5 requiring to update it to kernel 2.6.18 if the eal acronym does not mean anything to you then wikipedia is once more your friend hewlett-packard sponsored the translation into english and has thankfully granted the rights to publish the result updates to kernel 2.6.24 were then performed specifically for this book several people were involved in this evolution and my appreciation goes to all of them leslie mackaypoulton with support from david jacobs did a tremendous job at translating a huge pile of text into english i m also indebted to sal la pietra of atsec information security for pulling the strings to get the translation project rolling and especially to stephan muller for close cooperation during the evaluation ¨ my cordial thanks also go to all other hp and red hat people involved in this evaluation and also to claudio kopper and hans lohr for our very enjoyable cooperation during this project many thanks also ¨ go to the people at wiley both visible and invisible to me who helped to shape the book into its current form the german edition was well received by readers and reviewers but nevertheless comments about inaccuracies and suggestions for improvements were provided i m glad for all of them and would also like to mention the instructors who answered the publisher s survey for the original edition some of their suggestions were very valuable for improving the current publication the same goes for the referees for this edition especially to dr xiaodong zhang for providing numerous suggestions for appendix f.4 furthermore i express my gratitude to dr christine silberhorn for granting me the opportunity to suspend my regular research work at the max planck research group for four weeks to work on this project i hope you enjoyed the peace during this time when nobody was trying to install linux on your macbook as with every book i owe my deepest gratitude to my family for supporting me in every aspect of life i more than appreciate this indispensable aid finally i have to thank hariet fabritius for infinite

[close]

p. 13

acknowledgments patience with an author whose work cycle not only perfectly matched the most alarming forms of sleep dyssomnias but who was always right on the brink of confusing his native tongue with c and whom she consequently had to rescue from numerous situations where he seemingly had lost his mind see below now that i have more free time again i m not only looking forward to our well-deserved holiday but can finally embark upon the project of giving your laptop all joys of a proper operating system writing these acknowledgments i all of a sudden realize why people always hasten to lock away their laptops when they see me approaching x

[close]

p. 14

contents introduction chapter 1 introduction and overview tasks of the kernel implementation strategies elements of the kernel processes task switching and scheduling unix processes address spaces and privilege levels page tables allocation of physical memory timing system calls device drivers block and character devices networks filesystems modules and hotplugging caching list handling object management and reference counting data types and beyond the infinite xxvii 1 2 3 3 4 4 7 11 13 16 17 17 18 18 18 20 20 22 25 27 why the kernel is special some notes on presentation summary 28 29 33 chapter 2 process management and scheduling process priorities process life cycle preemptive multitasking 35 36 38 40 process representation process types namespaces 41 47 47

[close]

p. 15

contents process identification numbers task relationships 54 62 process management system calls process duplication kernel threads starting new programs exiting processes 63 63 77 79 83 implementation of the scheduler overview data structures dealing with priorities core scheduler 83 84 86 93 99 the completely fair scheduling class data structures cfs operations queue manipulation selecting the next task handling the periodic tick wake-up preemption handling new tasks 106 106 107 112 113 114 115 116 the real-time scheduling class properties data structures scheduler operations 117 118 118 119 scheduler enhancements smp scheduling scheduling domains and control groups kernel preemption and low latency efforts 121 121 126 127 summary 132 chapter 3 memory management overview organization in the numa model overview data structures 133 133 136 136 138 page tables data structures creating and manipulating entries 153 154 161 initialization of memory management data structure setup architecture-specific setup memory management during the boot process 161 162 169 191 xii

[close]

Comments

no comments yet

YOUBLISHER
About
What Others Say
Sitemap
Impressum

PUBLISHERS
Login
Signup
Tutorials
FAQ
Support

BUSINESS
Overview
Advertising
Support

DEVELOPERS
API

LEGAL
Report a Copyright Violation
Copyright FAQ
Terms of Use
Privacy Policy