没有合适的资源?快使用搜索试试~ 我知道了~
首页Understand Linux Kernel 2nd.pdf
Understand Linux Kernel 2nd.pdf
需积分: 14 34 下载量 185 浏览量
更新于2023-03-03
评论
收藏 4.73MB PDF 举报
The new edition of Understanding the Linux Kernel takes you on a guided tour through the most significant data structures, many algorithms, and programming tricks used in the kernel. The book has been updated to cover version 2.4 of the kernel, which is quite different from version 2.2: the virtual memory system is entirely new, support for multiprocessor systems is improved, and whole new classes of hardware devices have been added. You'll learn what conditions bring out Linux's best performance, and how it meets the challenge of providing good system response during process scheduling, file access, and memory management in a wide variety of environments.
资源详情
资源评论
资源推荐
I l@ve RuBoard
•
Table of Contents
•
Index
•
Reviews
•
Reader Reviews
•
Errata
Understanding the Linux Kernel, 2nd Edition
By Daniel P. Bovet, Marco Cesati
Publisher : O'Reilly
Pub Date : December 2002
ISBN : 0-596-00213-0
Pages : 784
The new edition of Understanding the Linux Kernel takes you on a guided tour through the
most significant data structures, many algorithms, and programming tricks used in the
kernel. The book has been updated to cover version 2.4 of the kernel, which is quite
different from version 2.2: the virtual memory system is entirely new, support for
multiprocessor systems is improved, and whole new classes of hardware devices have been
added. You'll learn what conditions bring out Linux's best performance, and how it meets the
challenge of providing good system response during process scheduling, file access, and
memory management in a wide variety of environments.
I l@ve RuBoard
I l@ve RuBoard
•
Table of Contents
•
Index
•
Reviews
•
Reader Reviews
•
Errata
Understanding the Linux Kernel, 2nd Edition
By Daniel P. Bovet, Marco Cesati
Publisher : O'Reilly
Pub Date : December 2002
ISBN : 0-596-00213-0
Pages : 784
Copyright
Preface
The Audience for This Book
Organization of the Material
Overview of the Book
Background Information
Conventions in This Book
How to Contact Us
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, Tasklets, and Bottom Halves
Section 4.8. Returning from Interrupts and Exceptions
Chapter 5. Kernel Synchronization
Section 5.1. Kernel Control Paths
Section 5.2. When Synchronization Is Not Necessary
Section 5.3. Synchronization Primitives
Section 5.4. Synchronizing Accesses to Kernel Data Structures
Section 5.5. Examples of Race Condition Prevention
Chapter 6. Timing Measurements
Section 6.1. Hardware Clocks
Section 6.2. The Linux Timekeeping Architecture
Section 6.3. CPU's Time Sharing
Section 6.4. Updating the Time and Date
Section 6.5. Updating System Statistics
Section 6.6. Software Timers
Section 6.7. System Calls Related to Timing Measurements
Chapter 7. Memory Management
Section 7.1. Page Frame Management
Section 7.2. Memory Area Management
Section 7.3. Noncontiguous Memory Area Management
Chapter 8. Process Address Space
Section 8.1. The Process's Address Space
Section 8.2. The Memory Descriptor
Section 8.3. Memory Regions
Section 8.4. Page Fault Exception Handler
Section 8.5. Creating and Deleting a Process Address Space
Section 8.6. Managing the Heap
Chapter 9. System Calls
Section 9.1. POSIX APIs and System Calls
Section 9.2. System Call Handler and Service Routines
Section 9.3. Kernel Wrapper Routines
Chapter 10. Signals
Section 10.1. The Role of Signals
Section 10.2. Generating a Signal
Section 10.3. Delivering a Signal
Section 10.4. System Calls Related to Signal Handling
Chapter 11. Process Scheduling
Section 11.1. Scheduling Policy
Section 11.2. The Scheduling Algorithm
Section 11.3. System Calls Related to Scheduling
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 Mounting
Section 12.5. Pathname Lookup
Section 12.6. Implementations of VFS System Calls
Section 12.7. File Locking
Chapter 13. Managing I/O Devices
Section 13.1. I/O Architecture
Section 13.2. Device Files
Section 13.3. Device Drivers
Section 13.4. Block Device Drivers
Section 13.5. Character Device Drivers
Chapter 14. Disk Caches
Section 14.1. The Page Cache
Section 14.2. The Buffer Cache
Chapter 15. Accessing Files
Section 15.1. Reading and Writing a File
Section 15.2. Memory Mapping
Section 15.3. Direct I/O Transfers
Chapter 16. Swapping: Methods for Freeing Memory
Section 16.1. What Is Swapping?
Section 16.2. Swap Area
Section 16.3. The Swap Cache
Section 16.4. Transferring Swap Pages
Section 16.5. Swapping Out Pages
Section 16.6. Swapping in Pages
Section 16.7. Reclaiming Page Frame
Chapter 17. The Ext2 and Ext3 Filesystems
Section 17.1. General Characteristics of Ext2
Section 17.2. Ext2 Disk Data Structures
Section 17.3. Ext2 Memory Data Structures
Section 17.4. Creating the Ext2 Filesystem
Section 17.5. Ext2 Methods
Section 17.6. Managing Ext2 Disk Space
Section 17.7. The Ext3 Filesystem
Chapter 18. Networking
Section 18.1. Main Networking Data Structures
Section 18.2. System Calls Related to Networking
Section 18.3. Sending Packets to the Network Card
Section 18.4. Receiving Packets from the Network Card
Chapter 19. Process Communication
Section 19.1. Pipes
Section 19.2. FIFOs
Section 19.3. System V IPC
Chapter 20. Program Execution
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
Appendix C. Source Code Structure
Bibliography
Books on Unix Kernels
Books on the Linux Kernel
Books on PC Architecture and Technical Manuals on Intel Microprocessors
Other Online Documentation Sources
Colophon
Index
I l@ve RuBoard
剩余828页未读,继续阅读
zjd358
- 粉丝: 16
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0