没有合适的资源?快使用搜索试试~ 我知道了~
深入理解linux内核(Understanding The Linux Kernel)
4星 · 超过85%的资源 需积分: 10 7 下载量 4 浏览量
2012-02-21
23:39:12
上传
评论
收藏 3.13MB PDF 举报
温馨提示
试读
542页
前言 第一章 绪论 第二章 内存寻址 第三章 进程 第四章 中断和异常 第五章 内核同步 第六章 定时测量 第七章 进程调度 第八章 内存管理 第九章 进程地址空间 第十章 系统调用 第十一章 信号 第十二章 虚拟文件系统 第十三章 I/O体系结构和设备驱动程序 第十四章 块设备驱动程序
资源推荐
资源详情
资源评论
Understanding the Linux Kernel
Daniel P. Bovet
Marco Cesati
Publisher: O'Reilly
First Edition October 2000
ISBN: 0-596-00002-2, 702 pages
Understanding the Linux Kernel helps readers understand how Linux performs best and how
it meets the challenge of different environments. The authors introduce each topic by
explaining its importance, and show how kernel operations relate to the utilities that are
familiar to Unix programmers and users.
Table of Contents
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 .................................................
1
1
1
3
4
4
4
5
1. Introduction ....................................................
1.1 Linux Versus Other Unix-Like Kernels ...............................
1.2 Hardware Dependency ..........................................
1.3 Linux Versions ................................................
1.4 Basic Operating System Concepts ..................................
1.5 An Overview of the Unix Filesystem ................................
1.6 An Overview of Unix Kernels .....................................
6
6
10
11
12
16
22
2. Memory Addressing .............................................
2.1 Memory Addresses
.............................................
2.2 Segmentation in Hardware .......................................
2.3 Segmentation in Linux ..........................................
2.4 Paging in Hardware ............................................
2.5 Paging in Linux ...............................................
2.6 Anticipating Linux 2.4 ..........................................
36
36
37
41
44
52
63
3. Processes ......................................................
3.1 Process Descriptor .............................................
3.2 Process Switching .............................................
3.3 Creating Processes .............................................
3.4 Destroying Processes ...........................................
3.5 Anticipating Linux 2.4 ..........................................
64
64
78
86
93
94
4. Interrupts and Exceptions .........................................
4.1 The Role of Interrupt Signals ......................................
4.2 Interrupts and Exceptions ........................................
4.3 Nested Execution of Exception and Interrupt Handlers ..................
4.4 Initializing the Interrupt Descriptor Table ............................
4.5 Exception Handling ...........................................
4.6 Interrupt Handling ............................................
4.7 Returning from Interrupts and Exceptions ...........................
4.8 Anticipating Linux 2.4 .........................................
96
96
97
106
107
109
112
126
129
5. Timing Measurements ...........................................
5.1 Hardware Clocks .............................................
5.2 The Timer Interrupt Handler .....................................
5.3 PIT's Interrupt Service Routine ...................................
5.4 The TIMER_BH Bottom Half Functions ............................
5.5 System Calls Related to Timing Measurements
........................
5.6 Anticipating Linux 2.4 .........................................
131
131
133
134
136
145
148
6. Memory Management ...........................................
6.1 Page Frame Management .......................................
6.2 Memory Area Management ......................................
6.3 Noncontiguous Memory Area Management ..........................
6.4 Anticipating Linux 2.4 .........................................
149
149
160
176
181
7. Process Address Space ..........................................
7.1 The Process's Address Space .....................................
7.2 The Memory Descriptor ........................................
7.3 Memory Regions .............................................
7.4 Page Fault Exception Handler ....................................
7.5 Creating and Deleting a Process Address Space .......................
7.6 Managing the Heap ............................................
7.7 Anticipating Linux 2.4 .........................................
183
183
185
186
201
212
214
216
8. System Calls ..................................................
8.1 POSIX APIs and System Calls ...................................
8.2 System Call Handler and Service Routines ...........................
8.3 Wrapper Routines .............................................
8.4 Anticipating Linux 2.4 .........................................
217
217
218
229
230
9. Signals .......................................................
9.1 The Role of Signals ...........................................
9.2 Sending a Signal ..............................................
9.3 Receiving a Signal ............................................
9.4 Real-Time Signals ............................................
9.5 System Calls Related to Signal Handling ............................
9.6 Anticipating Linux 2.4 .........................................
231
231
239
242
251
252
257
10. Process Scheduling ............................................
10.1 Scheduling Policy ............................................
10.2 The Scheduling Algorithm .....................................
10.3 System Calls Related to Scheduling ...............................
10.4 Anticipating Linux 2.4 ........................................
258
258
261
272
276
11. Kernel Synchronization .........................................
11.1 Kernel Control Paths ..........................................
11.2 Synchronization Techniques ....................................
11.3 The SMP Architecture ........................................
11.4 The Linux/SMP Kernel ........................................
11.5 Anticipating Linux 2.4 ........................................
277
277
278
286
290
302
12. The Virtual Filesystem .........................................
12.1 The Role of the VFS ..........................................
12.2 VFS Data Structures ..........................................
12.3 Filesystem Mounting .........................................
12.4 Pathname Lookup ............................................
12.5 Implementations of VFS System Calls .............................
12.6 File Locking ................................................
12.7 Anticipating Linux 2.4 ........................................
303
303
308
324
329
333
337
342
13. Managing I/O Devices ..........................................
13.1 I/O Architecture .............................................
13.2 Associating Files with I/O Devices ...............................
13.3 Device Drivers ..............................................
13.4 Character Device Handling .....................................
13.5 Block Device Handling ........................................
13.6 Page I/O Operations ..........................................
13.7 Anticipating Linux 2.4 ........................................
343
343
348
353
360
361
377
380
14. Disk Caches ..................................................
14.1 The Buffer Cache ............................................
14.2 The Page Cache .............................................
14.3 Anticipating Linux 2.4 ........................................
382
383
396
398
15. Accessing Regular Files .........................................
15.1 Reading and Writing a Regular File ...............................
15.2 Memory Mapping ............................................
15.3 Anticipating Linux 2.4 ........................................
400
400
408
416
16. Swapping: Methods for Freeing Memory ...........................
16.1 What Is Swapping? ...........................................
16.2 Swap Area .................................................
16.3 The Swap Cache .............................................
16.4 Transferring Swap Pages .......................................
16.5 Page Swap-Out ..............................................
16.6 Page Swap-In ...............................................
16.7 Freeing Page Frames ..........................................
16.8 Anticipating Linux 2.4 ........................................
417
417
420
429
433
437
442
444
450
17. The Ext2 Filesystem ...........................................
17.1 General Characteristics ........................................
17.2 Disk Data Structures ..........................................
17.3 Memory Data Structures .......................................
17.4 Creating the Filesystem ........................................
17.5 Ext2 Methods ...............................................
17.6 Managing Disk Space .........................................
17.7 Reading and Writing an Ext2 Regular File ..........................
17.8 Anticipating Linux 2.4 ........................................
451
451
453
459
463
464
466
473
475
18. Process Communication ........................................
18.1 Pipes .....................................................
18.2 FIFOs ....................................................
18.3 System V IPC ...............................................
18.4 Anticipating Linux 2.4 ........................................
476
477
483
486
499
19. Program Execution ............................................
19.1 Executable Files .............................................
19.2 Executable Formats ..........................................
19.3 Execution Domains ...........................................
19.4 The exec-like Functions .......................................
19.5 Anticipating Linux 2.4 ........................................
500
500
512
514
515
519
剩余541页未读,继续阅读
资源评论
- wander_20042012-03-09很不错的一本书,结构性说明比较多,具体代码比较少
- okcio2013-03-11这个好像是第一版,不是第三版
zjttwh2010
- 粉丝: 1
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功