深入理解LINUX內(nèi)核

出版時間:2006-4-1  出版社:東南大學(xué)出版社  作者:Daniel P.Bovet,Marco Cesati  頁數(shù):923  
Tag標(biāo)簽:無  

內(nèi)容概要

  為了徹底理解是什么使得Linux能正常運(yùn)行以及其為何能在各種不同的系統(tǒng)中運(yùn)行良好,你需要深入研究內(nèi)核最本質(zhì)的部分。內(nèi)核處理CPU與外界間的所有交互,并且決定哪些程序?qū)⒁允裁错樞蚬蚕硖幚砥鲿r間。它如此有效地管理有限的內(nèi)存,以至成百上千的進(jìn)程能高效地共享系統(tǒng)。它熟練地統(tǒng)籌數(shù)據(jù)傳輸,這樣CPU不用為等待速度相對較慢的硬盤而消耗比正常耗時更長的時間?!  渡钊肜斫釲inux內(nèi)核,第三版》指導(dǎo)你對內(nèi)核中使用的最重要的數(shù)據(jù)結(jié)構(gòu)、算法和程序設(shè)計(jì)訣竅進(jìn)行一次遍歷。通過對表面特性的探究,作者給那些想知道自己機(jī)器工作原理的人提供了頗有價值的見解。書中討論了Intel特有的重要性質(zhì)。相關(guān)的代碼片段被逐行剖析。然而,本書涵蓋的不僅僅是代碼的功能,它解釋了Linux以自己的方式工作的理論基礎(chǔ)?! ”緯鴮⑹鼓懔私釲inux的所有內(nèi)部工作,它不僅僅是一個理論上的練習(xí)。你將學(xué)習(xí)到哪些情況下Linux性能最佳,并且你將看到,在大量的不同環(huán)境里進(jìn)行進(jìn)程調(diào)度、文件存取和內(nèi)存管理時,它如何滿足提供良好的系統(tǒng)響應(yīng)的需要。這本書將幫助你充分利用Linux系統(tǒng)。

作者簡介

作者:(意)Daniel P.Bovet (意)Marco Cesati

書籍目錄

Preface The Audience for This Book Organization of the Material Level of Description Overview of the Book Background Information Conventions in This Book How to Contact Us Safari? Enabled Acknowledgments Chapter 1.  Introduction Section 1.1.  Linux Versus Other Unix-Like Kernels Section 1.2.  Hardware Dependency Section 1.3.  Linux Versions Section 1.4.  Basic Operating System Concepts Section 1.5.  An Overview of the Unix Filesystem Section 1.6.  An Overview of Unix Kernels Chapter 2.  Memory Addressing Section 2.1.  Memory Addresses Section 2.2.  Segmentation in Hardware Section 2.3.  Segmentation in Linux Section 2.4.  Paging in Hardware Section 2.5.  Paging in Linux Chapter 3.  Processes Section 3.1.  Processes, Lightweight Processes, and Threads Section 3.2.  Process Descriptor Section 3.3.  Process Switch Section 3.4.  Creating Processes Section 3.5.  Destroying Processes Chapter 4.  Interrupts and Exceptions Section 4.1.  The Role of Interrupt Signals Section 4.2.  Interrupts and Exceptions Section 4.3.  Nested Execution of Exception and Interrupt Handlers Section 4.4.  Initializing the Interrupt Descriptor Table Section 4.5.  Exception Handling Section 4.6.  Interrupt Handling Section 4.7.  Softirqs and Tasklets Section 4.8.  Work Queues Section 4.9.  Returning from Interrupts and Exceptions Chapter 5.  Kernel Synchronization Section 5.1.  How the Kernel Services Requests Section 5.2.  Synchronization Primitives Section 5.3.  Synchronizing Accesses to Kernel Data Structures Section 5.4.  Examples of Race Condition Prevention Chapter 6.  Timing Measurements Section 6.1.  Clock and Timer Circuits Section 6.2.  The Linux Timekeeping Architecture Section 6.3.  Updating the Time and Date Section 6.4.  Updating System Statistics Section 6.5.  Software Timers and Delay Functions Section 6.6.  System Calls Related to Timing Measurements Chapter 7.  Process Scheduling Section 7.1.  Scheduling Policy Section 7.2.  The Scheduling Algorithm Section 7.3.  Data Structures Used by the Scheduler Section 7.4.  Functions Used by the Scheduler Section 7.5.  Runqueue Balancing in Multiprocessor Systems Section 7.6.  System Calls Related to Scheduling Chapter 8.  Memory Management Section 8.1.  Page Frame Management Section 8.2.  Memory Area Management Section 8.3.  Noncontiguous Memory Area Management Chapter 9.  Process Address Space Section 9.1.  The Process's Address Space Section 9.2.  The Memory Descriptor Section 9.3.  Memory Regions Section 9.4.  Page Fault Exception Handler Section 9.5.  Creating and Deleting a Process Address Space Section 9.6.  Managing the Heap Chapter 10.  System Calls Section 10.1.  POSIX APIs and System Calls Section 10.2.  System Call Handler and Service Routines Section 10.3.  Entering and Exiting a System Call Section 10.4.  Parameter Passing Section 10.5.  Kernel Wrapper Routines Chapter 11.  Signals Section 11.1.  The Role of Signals Section 11.2.  Generating a Signal Section 11.3.  Delivering a Signal Section 11.4.  System Calls Related to Signal Handling Chapter 12.  The Virtual Filesystem Section 12.1.  The Role of the Virtual Filesystem (VFS) Section 12.2.  VFS Data Structures Section 12.3.  Filesystem Types Section 12.4.  Filesystem Handling Section 12.5.  Pathname Lookup Section 12.6.  Implementations of VFS System Calls Section 12.7.  File Locking Chapter 13.  I/O Architecture and Device Drivers Section 13.1.  I/O Architecture Section 13.2.  The Device Driver Model Section 13.3.  Device Files Section 13.4.  Device Drivers Section 13.5.  Character Device Drivers Chapter 14.  Block Device Drivers Section 14.1.  Block Devices Handling Section 14.2.  The Generic Block Layer Section 14.3.  The I/O Scheduler Section 14.4.  Block Device Drivers Section 14.5.  Opening a Block Device File Chapter 15.  The Page Cache Section 15.1.  The Page Cache Section 15.2.  Storing Blocks in the Page Cache Section 15.3.  Writing Dirty Pages to Disk Section 15.4.  The sync( ), fsync( ), and fdatasync( ) System Calls Chapter 16.  Accessing Files Section 16.1.  Reading and Writing a File Section 16.2.  Memory Mapping Section 16.3.  Direct I/O Transfers Section 16.4.  Asynchronous I/O Chapter 17.  Page Frame Reclaiming Section 17.1.  The Page Frame Reclaiming Algorithm Section 17.2.  Reverse Mapping Section 17.3.  Implementing the PFRA Section 17.4.  Swapping Chapter 18.  The Ext2 and Ext3 Filesystems Section 18.1.  General Characteristics of Ext2 Section 18.2.  Ext2 Disk Data Structures Section 18.3.  Ext2 Memory Data Structures Section 18.4.  Creating the Ext2 Filesystem Section 18.5.  Ext2 Methods Section 18.6.  Managing Ext2 Disk Space Section 18.7.  The Ext3 Filesystem Chapter 19.  Process Communication Section 19.1.  Pipes Section 19.2.  FIFOs Section 19.3.  System V IPC Section 19.4.  POSIX Message Queues Chapter 20.  Program ExZecution Section 20.1.  Executable Files Section 20.2.  Executable Formats Section 20.3.  Execution Domains Section 20.4.  The exec Functions Appendix A.  System Startup Section A.1.  Prehistoric Age: the BIOS Section A.2.  Ancient Age: the Boot Loader Section A.3.  Middle Ages: the setup( ) Function Section A.4.  Renaissance: the startup_32( ) Functions Section A.5.  Modern Age: the start_kernel( ) Function Appendix B.  Modules Section B.1.  To Be (a Module) or Not to Be? Section B.2.  Module Implementation Section B.3.  Linking and Unlinking Modules Section B.4.  Linking Modules on Demand Bibliography Books on Unix Kernels Books on the Linux Kernel Books on PC Architecture and Technical Manuals on Intel Microprocessors Other Online Documentation Sources Research Papers Related to Linux Development About the Authors Colophon Index

編輯推薦

為了徹底理解是什么使得Linux能正常運(yùn)行以及其為何能在各種不同的系統(tǒng)中運(yùn)行良好,你需要深入研究內(nèi)核最本質(zhì)的部分。內(nèi)核處理CPU與外界間的所有交互,并且決定哪些程序?qū)⒁允裁错樞蚬蚕硖幚砥鲿r間。它如此有效地管理有限的內(nèi)存,以至成百上千的進(jìn)程能高效地共享系統(tǒng)。它熟練地統(tǒng)籌數(shù)據(jù)傳輸,這樣CPU不用為等待速度相對較慢的硬盤而消耗比正常耗時更長的時間?!渡钊肜斫釲inux內(nèi)核,第三版》指導(dǎo)你對內(nèi)核中使用的最重要的數(shù)據(jù)結(jié)構(gòu)、算法和程序設(shè)計(jì)訣竅進(jìn)行一次遍歷。通過對表面特性的探究,作者給那些想知道自己機(jī)器工作原理的人提供了頗有價值的見解。書中討論了Intel特有的重要性質(zhì)。相關(guān)的代碼片段被逐行剖析。然而,本書涵蓋的不僅僅是代碼的功能,它解釋了Linux以自己的方式工作的理論基礎(chǔ)。本書將使你了解Linux的所有內(nèi)部工作,它不僅僅是一個理論上的練習(xí)。你將學(xué)習(xí)到哪些情況下Linux性能最佳,并且你將看到,在大量的不同環(huán)境里進(jìn)行進(jìn)程調(diào)度、文件存取和內(nèi)存管理時,它如何滿足提供良好的系統(tǒng)響應(yīng)的需要。這本書將幫助你充分利用Linux系統(tǒng)。

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    深入理解LINUX內(nèi)核 PDF格式下載


用戶評論 (總計(jì)13條)

 
 

  •   為什么總是缺貨呢???
  •   非常好的一本書,Linux學(xué)習(xí)者必備
  •   要想學(xué)好Linux,先買這本書吧
  •   very good text
  •   以前看得電子版,但是還是要有本紙的。內(nèi)存管理部分需要我在細(xì)細(xì)閱讀。
  •   整體把握linux,還算一部好書!
  •   很不錯的書,就是書邊上有些破損,不知是快遞的錯還是原來就那樣。。。整體還可以
  •   亞馬遜老爹,你能不能不要這么坑,我憋了一個月就等您的影印版,最后實(shí)在忍不住了買了你的中文版,翻譯質(zhì)量看得我那個疼啊。這下好了,才過幾天你就把影印版的放出來了,你讓我情何以堪,你知道的,別的書店一直都有影印版啊,我不去買還不是為了你的送貨速度嘛。
  •   這本書是學(xué)習(xí)Linux驅(qū)動的必備書籍,值得收藏,但不知道英文版什么時候有貨?。?/li>
  •   書本身很好,配送很快
  •   很不錯的書,就是起點(diǎn)較高,不過還是很適合有一定基礎(chǔ)的人讀的
  •   很好的linux指南
  •   影印版的還不錯,但有個狀況
 

250萬本中文圖書簡介、評論、評分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號-7