深入理解LINUX内核

深入理解LINUX内核
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
出版社: 东南大学出版社
2006-04
版次: 3
ISBN: 9787564102760
定价: 98.00
装帧: 平装
开本: 16开
纸张: 其他
页数: 923页
原版书名: Understanding the Linux Kernel
  •   为了彻底理解是什么使得Linux能正常运行以及其为何能在各种不同的系统中运行良好,你需要深入研究内核最本质的部分。内核处理CPU与外界间的所有交互,并且决定哪些程序将以什么顺序共享处理器时间。它如此有效地管理有限的内存,以至成百上千的进程能高效地共享系统。它熟练地统筹数据传输,这样CPU不用为等待速度相对较慢的硬盘而消耗比正常耗时更长的时间。
      《深入理解Linux内核,第三版》指导你对内核中使用的最重要的数据结构、算法和程序设计诀窍进行一次遍历。通过对表面特性的探究,作者给那些想知道自己机器工作原理的人提供了颇有价值的见解。书中讨论了Intel特有的重要性质。相关的代码片段被逐行剖析。然而,本书涵盖的不仅仅是代码的功能,它解释了Linux以自己的方式工作的理论基础。
      本书将使你了解Linux的所有内部工作,它不仅仅是一个理论上的练习。你将学习到哪些情况下Linux性能最佳,并且你将看到,在大量的不同环境里进行进程调度、文件存取和内存管理时,它如何满足提供良好的系统响应的需要。这本书将帮助你充分利用Linux系统。 Preface
    TheAudienceforThisBook
    OrganizationoftheMaterial
    LevelofDescription
    OverviewoftheBook
    BackgroundInformation
    ConventionsinThisBook
    HowtoContactUs
    Safari?Enabled
    Acknowledgments
    Chapter1.Introduction
    Section1.1.LinuxVersusOtherUnix-LikeKernels
    Section1.2.HardwareDependency
    Section1.3.LinuxVersions
    Section1.4.BasicOperatingSystemConcepts
    Section1.5.AnOverviewoftheUnixFilesystem
    Section1.6.AnOverviewofUnixKernels
    Chapter2.MemoryAddressing
    Section2.1.MemoryAddresses
    Section2.2.SegmentationinHardware
    Section2.3.SegmentationinLinux
    Section2.4.PaginginHardware
    Section2.5.PaginginLinux
    Chapter3.Processes
    Section3.1.Processes,LightweightProcesses,andThreads
    Section3.2.ProcessDescriptor
    Section3.3.ProcessSwitch
    Section3.4.CreatingProcesses
    Section3.5.DestroyingProcesses
    Chapter4.InterruptsandExceptions
    Section4.1.TheRoleofInterruptSignals
    Section4.2.InterruptsandExceptions
    Section4.3.NestedExecutionofExceptionandInterruptHandlers
    Section4.4.InitializingtheInterruptDescriptorTable
    Section4.5.ExceptionHandling
    Section4.6.InterruptHandling
    Section4.7.SoftirqsandTasklets
    Section4.8.WorkQueues
    Section4.9.ReturningfromInterruptsandExceptions
    Chapter5.KernelSynchronization
    Section5.1.HowtheKernelServicesRequests
    Section5.2.SynchronizationPrimitives
    Section5.3.SynchronizingAccessestoKernelDataStructures
    Section5.4.ExamplesofRaceConditionPrevention
    Chapter6.TimingMeasurements
    Section6.1.ClockandTimerCircuits
    Section6.2.TheLinuxTimekeepingArchitecture
    Section6.3.UpdatingtheTimeandDate
    Section6.4.UpdatingSystemStatistics
    Section6.5.SoftwareTimersandDelayFunctions
    Section6.6.SystemCallsRelatedtoTimingMeasurements
    Chapter7.ProcessScheduling
    Section7.1.SchedulingPolicy
    Section7.2.TheSchedulingAlgorithm
    Section7.3.DataStructuresUsedbytheScheduler
    Section7.4.FunctionsUsedbytheScheduler
    Section7.5.RunqueueBalancinginMultiprocessorSystems
    Section7.6.SystemCallsRelatedtoScheduling
    Chapter8.MemoryManagement
    Section8.1.PageFrameManagement
    Section8.2.MemoryAreaManagement
    Section8.3.NoncontiguousMemoryAreaManagement
    Chapter9.ProcessAddressSpace
    Section9.1.TheProcesssAddressSpace
    Section9.2.TheMemoryDescriptor
    Section9.3.MemoryRegions
    Section9.4.PageFaultExceptionHandler
    Section9.5.CreatingandDeletingaProcessAddressSpace
    Section9.6.ManagingtheHeap
    Chapter10.SystemCalls
    Section10.1.POSIXAPIsandSystemCalls
    Section10.2.SystemCallHandlerandServiceRoutines
    Section10.3.EnteringandExitingaSystemCall
    Section10.4.ParameterPassing
    Section10.5.KernelWrapperRoutines
    Chapter11.Signals
    Section11.1.TheRoleofSignals
    Section11.2.GeneratingaSignal
    Section11.3.DeliveringaSignal
    Section11.4.SystemCallsRelatedtoSignalHandling
    Chapter12.TheVirtualFilesystem
    Section12.1.TheRoleoftheVirtualFilesystem(VFS)
    Section12.2.VFSDataStructures
    Section12.3.FilesystemTypes
    Section12.4.FilesystemHandling
    Section12.5.PathnameLookup
    Section12.6.ImplementationsofVFSSystemCalls
    Section12.7.FileLocking
    Chapter13.I/OArchitectureandDeviceDrivers
    Section13.1.I/OArchitecture
    Section13.2.TheDeviceDriverModel
    Section13.3.DeviceFiles
    Section13.4.DeviceDrivers
    Section13.5.CharacterDeviceDrivers
    Chapter14.BlockDeviceDrivers
    Section14.1.BlockDevicesHandling
    Section14.2.TheGenericBlockLayer
    Section14.3.TheI/OScheduler
    Section14.4.BlockDeviceDrivers
    Section14.5.OpeningaBlockDeviceFile
    Chapter15.ThePageCache
    Section15.1.ThePageCache
    Section15.2.StoringBlocksinthePageCache
    Section15.3.WritingDirtyPagestoDisk
    Section15.4.Thesync(),fsync(),andfdatasync()SystemCalls
    Chapter16.AccessingFiles
    Section16.1.ReadingandWritingaFile
    Section16.2.MemoryMapping
    Section16.3.DirectI/OTransfers
    Section16.4.AsynchronousI/O
    Chapter17.PageFrameReclaiming
    Section17.1.ThePageFrameReclaimingAlgorithm
    Section17.2.ReverseMapping
    Section17.3.ImplementingthePFRA
    Section17.4.Swapping
    Chapter18.TheExt2andExt3Filesystems
    Section18.1.GeneralCharacteristicsofExt2
    Section18.2.Ext2DiskDataStructures
    Section18.3.Ext2MemoryDataStructures
    Section18.4.CreatingtheExt2Filesystem
    Section18.5.Ext2Methods
    Section18.6.ManagingExt2DiskSpace
    Section18.7.TheExt3Filesystem
    Chapter19.ProcessCommunication
    Section19.1.Pipes
    Section19.2.FIFOs
    Section19.3.SystemVIPC
    Section19.4.POSIXMessageQueues
    Chapter20.ProgramExZecution
    Section20.1.ExecutableFiles
    Section20.2.ExecutableFormats
    Section20.3.ExecutionDomains
    Section20.4.TheexecFunctions
    AppendixA.SystemStartup
    SectionA.1.PrehistoricAge:theBIOS
    SectionA.2.AncientAge:theBootLoader
    SectionA.3.MiddleAges:thesetup()Function
    SectionA.4.Renaissance:thestartup_32()Functions
    SectionA.5.ModernAge:thestart_kernel()Function
    AppendixB.Modules
    SectionB.1.ToBe(aModule)orNottoBe?
    SectionB.2.ModuleImplementation
    SectionB.3.LinkingandUnlinkingModules
    SectionB.4.LinkingModulesonDemand
    Bibliography
    BooksonUnixKernels
    BooksontheLinuxKernel
    BooksonPCArchitectureandTechnicalManualsonIntelMicroprocessors
    OtherOnlineDocumentationSources
    ResearchPapersRelatedtoLinuxDevelopment
    AbouttheAuthors
    Colophon
    Index
  • 内容简介:
      为了彻底理解是什么使得Linux能正常运行以及其为何能在各种不同的系统中运行良好,你需要深入研究内核最本质的部分。内核处理CPU与外界间的所有交互,并且决定哪些程序将以什么顺序共享处理器时间。它如此有效地管理有限的内存,以至成百上千的进程能高效地共享系统。它熟练地统筹数据传输,这样CPU不用为等待速度相对较慢的硬盘而消耗比正常耗时更长的时间。
      《深入理解Linux内核,第三版》指导你对内核中使用的最重要的数据结构、算法和程序设计诀窍进行一次遍历。通过对表面特性的探究,作者给那些想知道自己机器工作原理的人提供了颇有价值的见解。书中讨论了Intel特有的重要性质。相关的代码片段被逐行剖析。然而,本书涵盖的不仅仅是代码的功能,它解释了Linux以自己的方式工作的理论基础。
      本书将使你了解Linux的所有内部工作,它不仅仅是一个理论上的练习。你将学习到哪些情况下Linux性能最佳,并且你将看到,在大量的不同环境里进行进程调度、文件存取和内存管理时,它如何满足提供良好的系统响应的需要。这本书将帮助你充分利用Linux系统。
  • 目录:
    Preface
    TheAudienceforThisBook
    OrganizationoftheMaterial
    LevelofDescription
    OverviewoftheBook
    BackgroundInformation
    ConventionsinThisBook
    HowtoContactUs
    Safari?Enabled
    Acknowledgments
    Chapter1.Introduction
    Section1.1.LinuxVersusOtherUnix-LikeKernels
    Section1.2.HardwareDependency
    Section1.3.LinuxVersions
    Section1.4.BasicOperatingSystemConcepts
    Section1.5.AnOverviewoftheUnixFilesystem
    Section1.6.AnOverviewofUnixKernels
    Chapter2.MemoryAddressing
    Section2.1.MemoryAddresses
    Section2.2.SegmentationinHardware
    Section2.3.SegmentationinLinux
    Section2.4.PaginginHardware
    Section2.5.PaginginLinux
    Chapter3.Processes
    Section3.1.Processes,LightweightProcesses,andThreads
    Section3.2.ProcessDescriptor
    Section3.3.ProcessSwitch
    Section3.4.CreatingProcesses
    Section3.5.DestroyingProcesses
    Chapter4.InterruptsandExceptions
    Section4.1.TheRoleofInterruptSignals
    Section4.2.InterruptsandExceptions
    Section4.3.NestedExecutionofExceptionandInterruptHandlers
    Section4.4.InitializingtheInterruptDescriptorTable
    Section4.5.ExceptionHandling
    Section4.6.InterruptHandling
    Section4.7.SoftirqsandTasklets
    Section4.8.WorkQueues
    Section4.9.ReturningfromInterruptsandExceptions
    Chapter5.KernelSynchronization
    Section5.1.HowtheKernelServicesRequests
    Section5.2.SynchronizationPrimitives
    Section5.3.SynchronizingAccessestoKernelDataStructures
    Section5.4.ExamplesofRaceConditionPrevention
    Chapter6.TimingMeasurements
    Section6.1.ClockandTimerCircuits
    Section6.2.TheLinuxTimekeepingArchitecture
    Section6.3.UpdatingtheTimeandDate
    Section6.4.UpdatingSystemStatistics
    Section6.5.SoftwareTimersandDelayFunctions
    Section6.6.SystemCallsRelatedtoTimingMeasurements
    Chapter7.ProcessScheduling
    Section7.1.SchedulingPolicy
    Section7.2.TheSchedulingAlgorithm
    Section7.3.DataStructuresUsedbytheScheduler
    Section7.4.FunctionsUsedbytheScheduler
    Section7.5.RunqueueBalancinginMultiprocessorSystems
    Section7.6.SystemCallsRelatedtoScheduling
    Chapter8.MemoryManagement
    Section8.1.PageFrameManagement
    Section8.2.MemoryAreaManagement
    Section8.3.NoncontiguousMemoryAreaManagement
    Chapter9.ProcessAddressSpace
    Section9.1.TheProcesssAddressSpace
    Section9.2.TheMemoryDescriptor
    Section9.3.MemoryRegions
    Section9.4.PageFaultExceptionHandler
    Section9.5.CreatingandDeletingaProcessAddressSpace
    Section9.6.ManagingtheHeap
    Chapter10.SystemCalls
    Section10.1.POSIXAPIsandSystemCalls
    Section10.2.SystemCallHandlerandServiceRoutines
    Section10.3.EnteringandExitingaSystemCall
    Section10.4.ParameterPassing
    Section10.5.KernelWrapperRoutines
    Chapter11.Signals
    Section11.1.TheRoleofSignals
    Section11.2.GeneratingaSignal
    Section11.3.DeliveringaSignal
    Section11.4.SystemCallsRelatedtoSignalHandling
    Chapter12.TheVirtualFilesystem
    Section12.1.TheRoleoftheVirtualFilesystem(VFS)
    Section12.2.VFSDataStructures
    Section12.3.FilesystemTypes
    Section12.4.FilesystemHandling
    Section12.5.PathnameLookup
    Section12.6.ImplementationsofVFSSystemCalls
    Section12.7.FileLocking
    Chapter13.I/OArchitectureandDeviceDrivers
    Section13.1.I/OArchitecture
    Section13.2.TheDeviceDriverModel
    Section13.3.DeviceFiles
    Section13.4.DeviceDrivers
    Section13.5.CharacterDeviceDrivers
    Chapter14.BlockDeviceDrivers
    Section14.1.BlockDevicesHandling
    Section14.2.TheGenericBlockLayer
    Section14.3.TheI/OScheduler
    Section14.4.BlockDeviceDrivers
    Section14.5.OpeningaBlockDeviceFile
    Chapter15.ThePageCache
    Section15.1.ThePageCache
    Section15.2.StoringBlocksinthePageCache
    Section15.3.WritingDirtyPagestoDisk
    Section15.4.Thesync(),fsync(),andfdatasync()SystemCalls
    Chapter16.AccessingFiles
    Section16.1.ReadingandWritingaFile
    Section16.2.MemoryMapping
    Section16.3.DirectI/OTransfers
    Section16.4.AsynchronousI/O
    Chapter17.PageFrameReclaiming
    Section17.1.ThePageFrameReclaimingAlgorithm
    Section17.2.ReverseMapping
    Section17.3.ImplementingthePFRA
    Section17.4.Swapping
    Chapter18.TheExt2andExt3Filesystems
    Section18.1.GeneralCharacteristicsofExt2
    Section18.2.Ext2DiskDataStructures
    Section18.3.Ext2MemoryDataStructures
    Section18.4.CreatingtheExt2Filesystem
    Section18.5.Ext2Methods
    Section18.6.ManagingExt2DiskSpace
    Section18.7.TheExt3Filesystem
    Chapter19.ProcessCommunication
    Section19.1.Pipes
    Section19.2.FIFOs
    Section19.3.SystemVIPC
    Section19.4.POSIXMessageQueues
    Chapter20.ProgramExZecution
    Section20.1.ExecutableFiles
    Section20.2.ExecutableFormats
    Section20.3.ExecutionDomains
    Section20.4.TheexecFunctions
    AppendixA.SystemStartup
    SectionA.1.PrehistoricAge:theBIOS
    SectionA.2.AncientAge:theBootLoader
    SectionA.3.MiddleAges:thesetup()Function
    SectionA.4.Renaissance:thestartup_32()Functions
    SectionA.5.ModernAge:thestart_kernel()Function
    AppendixB.Modules
    SectionB.1.ToBe(aModule)orNottoBe?
    SectionB.2.ModuleImplementation
    SectionB.3.LinkingandUnlinkingModules
    SectionB.4.LinkingModulesonDemand
    Bibliography
    BooksonUnixKernels
    BooksontheLinuxKernel
    BooksonPCArchitectureandTechnicalManualsonIntelMicroprocessors
    OtherOnlineDocumentationSources
    ResearchPapersRelatedtoLinuxDevelopment
    AbouttheAuthors
    Colophon
    Index
查看详情
好书推荐 / 更多
深入理解LINUX内核
启微·战场之外:租界英文报刊与中国的国际宣传(1928~1941)
魏舒歌 著;魏舒歌、李松蕾、龙伟 译
深入理解LINUX内核
中国妖怪故事(全集)
张云 著
深入理解LINUX内核
工人新村:上海的另一种叙事记忆
管新生
深入理解LINUX内核
记忆之场/学衡历史与记忆译丛
[法]皮埃尔·诺拉 著
深入理解LINUX内核
时间、劳动与社会统治:马克思的批判理论再阐释
[加]莫伊舍·普殊同 著;康凌 译
深入理解LINUX内核
移民
[德]温弗里德•塞巴尔德 作者;刁承俊 译者
深入理解LINUX内核
在哲学与艺术之间——德勒兹访谈录(全新修订本)
[法]吉尔·德勒兹 著;刘汉全 译
深入理解LINUX内核
乐观而不绝望(乔姆斯基作品系列)
C.J.波利赫罗纽 著;[美]诺姆·乔姆斯基、顾洁、王茁 译
深入理解LINUX内核
哲学导论:综合原典教程(第11版)
克兰西·马丁 著;[美]罗伯特·C.所罗门、凯瑟琳·M.希金斯、陈高华 译
深入理解LINUX内核
世界观: 现代人必须要懂的科学哲学和科学史(原书第2版)
[美]理查德·德威特(Richard DeWitt) 著;孙天 译
深入理解LINUX内核
技术的阴暗面——人类文明的潜在危机
彼得·汤森 著;郭长宇 译
深入理解LINUX内核
大衰退年代:宏观经济学的另一半与全球化的宿命
[美]辜朝明(Richard C.Koo) 著;杨培雷 译