linux内核设计与实现 英文版,linux内核设计与实现英文原版-Linux Kernel Development 3rd Edition...

linux内核设计与实现英文原版-Linux Kernel Development 3rd Edition

日期: 2020-08-02 01:34:46

人气: -

linux内核设计与实现英文原版-Linux Kernel Development 3rd EditionDeveloper's LibraryESSENTIAL REFERENCES FOR PROGRAMMING PROFESSIONALSDevelopers Library books are designed to provide practicing programmers withunique, high-quality references and tutorials on the programming languages andtechnologies they use in their daily workAll books in the Developer's Library are written by expert technology practitionerswho are especially skilled at organizing and presenting information in a way that'suseful for other programmersKey titles include some of the best, most widely acclaimed books within theirtopic areas.PHP MySQL Web DevelopmentPython Essential referenceLuke Welling Laura ThDavid beazleyISBN978-0-672-32916-6ISBN-13:978-0-672-32978-6MySQLProgramming in Objective-C 2.0Paul duboisStephen g KochanISBN-13:978-0-672-32938-8ISBN-13:978-0-321-56615-7Linux Kernel developmentPostgresQLRobert loveKorry douglasISBN-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 Online at safari informit. comDeveloper'sLibraryinformit. com/devlibraryLinux KerneDevelopmentThird editionRobert lovewAddison-WesleyUpper Saddle river,NJ· Boston· Indianapolis· San franciscoNew york· Toronto· Montreal● London● Munich· Paris· MadridCape town· Sydney· Tokyo· Singapore· Mexico CityLinux Kernel DevelopmentAcquisitions EditorThird EditionMark taberCopyright o 2010 Pearson Education, IncDevelopmentEditorAll rights reserved. Printed in the United States of America. This publication is protected by Michael Thurstoncopyright, and permission must be obtained from the publisher prior to any prohibited repro-Technical Editorduction, storage in a retrieval system, or transmission in any form or by any means, elec-Robert p J. Daytronic, mechanical, photocopying, recording, or likewiseManaging EditorSBN13:9780672329463Sandra schroederSBN-10:0672329468Senior ProjectLibrary of Congress Cataloging-in-Publication DataEditorTonya SimpsonCopy EditorLinux kernel development/ Robert Love.- 3rd edApostrophe Editingp. cm.IndexerIncludes bibliographical references and indexBrad herrimanISBN 978-0-672-32946-3(pbk. alk paper) 1. Linux. 2. Operating systems(Computers) ProofreaderL. TitleDebbie williamsQA76.76063L6742010PublisherCoordinator005.432dc22Vanessa Evans10018961Book designerText printed in the United States on recycled paper at RR Donnelley, Crawfordsville, IndianaGary AdairFirst printing June 2010CompositorMark shirarMany of the designations used by manufacturers and sellers to distinguish their productsare claimed as trademarks. Where those designations appear in this book, and the publish-er was aware of a trademark claim, the designations have been printed with initial capitalletters or in all capitalsThe author and publisher have taken care in the preparation of this book, but make noexpressed or implied warranty of any kind and assume no responsibility for errors or omis-sions. No liability is assumed for incidental or consequential damages in connection with orarising out of the use of the information or programs contained hereinThe publisher offers excellent discounts on this book when ordered in quantity for bulk pur-chases or special sales, which may include electronic versions and/or custom covers andcontent particular to your business, training goals, marketing focus, and branding interests.For more information, please contactU.S. Corporate and Government Sales800382-3419corpsales@pearsontechgroup.comFor sales outside the United states please contactInternational salesinternational@pearson.comVisit us on the Web: informit. com/awFor doris and helenContents at a Glance1 Introduction to the linux Kernel 12 Getting Started with the Kernel 113 Process Management 234 Process Scheduling 415 System Calls 696 Kernel Data Structures 857 Interrupts and Interrupt Handlers 1138 Bottom Halves and deferring work 1339 An Introduction to Kernel Synchronization 16110 Kernel Synchronization Methods 17511 Timers and time management 20712 Memory Management 23113 The Virtual Filesystem 26114 The Block I/0 Layer 28915 The Process Address Space 30516 The Page Cache and Page Writeback 32317 Devices and modules 33718 Debugging 36319 Portability 37920 Patches, Hacking, and the Community 395Bibliography 407Index 411Table of contents1 Introduction to the linux Kernel 1History of Unix 1Along Came Linus: Introduction to Linux 3Overview of operating Systems and Kernels 4Linux Versus classic Unix Kernels 6Linux Kernel versions 8The Linux Kernel Development Community 10Before We Begin 102 Getting Started with the Kernel 11Obtaining the Kernel Source 11Using Git 11stalling the Kernel Source 12Using Patches 12The Kernel source tree 12Building the Kernel 13Configuring the Kernel 14ng Build Noise 15Spawning Multiple build Jobs 16stalling the New Kernel 16A Beast of a different Nature 16No libc or standard Headers 17GNU C 18Inline functions 18Inline Assembly 19Branch annotation 19No Memory Protection 20No(Easy) Use of Floating Point 20Small Fixed- Size Stack 20Synchronization and Concurrency 21Importance of Portability 21Conclusion 21Contents3 Process Management 23The process 23Process Descriptor and the Task structure 24Allocating the Process Descriptor 25Storing the Process Descriptor 26Process state 27Manipulating the current Process state 29Process context 29The process family tree 29Process Creation 31Copy-on-Write 31Forking 32fork( 33The Linux Implementation of Threads 33Creating Threads 34Kernel threads 35Process Termination 36Removing the Process Descriptor 37The dilemma of the parentless task 38Conclusion 404 Process Scheduling 41iItitasking 4Linux's process scheduler 42Policy 431/0.Bound Versus Processor-Bound Processes 43s Priority 4Timeslice 45he Scheduling Policy in Action 45The Linux Scheduling Algorithm 46Scheduler classes 46Process Scheduling in Unix Systems 47Fair Scheduling 48The Linux Scheduling Implementation 50Time Accounting 50The Scheduler Entity Structure 50The virtual Runtime 51ContentsProcess selection 52Picking the Next Task 53Adding processes to the tree 54Removing processes from the Tree 56The Scheduler Entry Point 57Sleeping and Waking Up 58Wait Queues 58gUpPreemption and context Switching 62User Preemption 62Kernel Preemption 63Real-Time Scheduling Policies 64Scheduler-Related System Calls 65Scheduling Policy and Priority-RelatedSystem Calls 66Processor Affinity System Calls 66Yielding Processor Time 66Conclusion 675 System Calls 69Communicating with the Kernel 69APIS, POSIX, and the c Library 70stem Call Numbers 7System Call Performance 72System Call Handler 73Denoting the Correct System Call 73Parameter Passing 74System Call Impler74Implementing System Calls 74ifying the Parameters 75System Call Context 78Final steps in binding a system Call 79Accessing the System Call from User-Space 81Why not to Implement a system Call 82Conclusion 83

版权信息:本站所有资源仅供学习与参考,请勿用于商业用途,如有侵犯您的版权,请及时联系客服,我们将尽快处理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux内核开发第三版.zip 是一本关于Linux内核开发的电子书,它提供了深入理解Linux内核的知识和技能。这本书的内容涵盖了从内核基础知识到高级概念的全面介绍,包括进程管理、内存管理、设备驱动、文件系统等方面的内容。 首先,这本书适合那些已经了解基本Linux知识的读者,想要深入研究Linux内核开发的人员。它可以帮助读者理解Linux内核的结构和工作原理,以及如何编译、调试和定制内核。读者可以学会如何使用各种内核接口和工具,以及如何解决常见的内核开发问题。 其次,这本书不仅适合有经验的开发人员,也适合想要学习Linux内核开发的初学者。作者提供了大量的示例代码和实用的技巧,帮助读者快速上手,并逐步深入了解内核开发的各个方面。它还提供了丰富的参考资料和相关资源,方便读者进一步拓展知识。 此外,这本书还包含了作者自己的实践经验和案例研究,这些案例涵盖了真实世界中的各种问题和挑战。读者可以通过学习这些案例,了解实际应用中的内核开发技术,并学会如何应对各种情况。 总的来说,Linux内核开发第三版.zip 是一本非常有价值的电子书,对于想要深入探索Linux内核开发的人员来说,是一本必备的参考资料。无论是初学者还是有经验的开发人员,都可以从中获得丰富的知识和实用的技能。有了这本书的帮助,读者可以更加深入地理解和掌握Linux内核开发的核心概念和技术。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值