注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)操作系統(tǒng)Linux深入理解LINUX內(nèi)核(影印版)

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

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

定 價(jià):¥98.00

作 者: (意)博韋特,西塞提 著
出版社: 東南大學(xué)出版社
叢編項(xiàng): 東南大學(xué)出版社O'REILLY圖書系列
標(biāo) 簽: Linux

ISBN: 9787564102760 出版時(shí)間: 2006-04-01 包裝: 膠版紙
開本: 小16開 頁(yè)數(shù): 944 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

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

作者簡(jiǎn)介

暫缺《深入理解LINUX內(nèi)核(影印版)》作者簡(jiǎn)介

圖書目錄

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 Processs 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

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)