独辟蹊径品内核 Linux内核源代码导读PDF格式文档图书下载
- 购买点数:15 点
- 作 者:李云华编译
- 出 版 社:北京:电子工业出版社
- 出版年份:2009
- ISBN:9787121085154
- 标注页数:484 页
- PDF页数:497 页
第1章 x86硬件基础 1
1.1 保护模式 1
1.1.1 分页机制 1
1.1.2 分段机制 7
1.2 系统门 13
1.3 x86的寄存器 14
1.4 典型的PC系统结构简介 16
第2章 基础知识 18
2.1 AT&T与Intel汇编语法比较 18
2.2 gcc内嵌汇编 20
2.3 同步与互斥 25
2.3.1 原子操作 25
2.3.2 信号量 27
2.3.3 自旋锁 29
2.3.4 RCU机制 35
2.3.5 percpu变量 39
2.4 内存屏障 41
2.4.1 编译器引起的内存屏障 41
2.4.2 缓存引起的内存屏障 44
2.4.3 乱序执行引起的内存屏障 47
2.5 高级语言的函数调用规范 49
第3章 Linux内核Makefile分析 52
3.1 Linux内核编译概述 52
3.2 内核编译过程分析 54
3.3 内核链接脚本分析 62
第4章 Linux内核启动 65
4.1 BIOS启动阶段 65
4.2 实模式setup阶段 67
4.3 保护模式startup_32 77
4.4 内核启动start_kernel() 84
4.5 内核启动时的参数传递 90
4.5.1 内核参数处理 91
4.5.2 模块参数处理 95
第5章 内存管理 99
5.1 内存地址空间 99
5.1.1 物理内存地址空间 99
5.1.2 虚拟地址空间 101
5.2 内存管理的基本数据结构 104
5.2.1 物理内存页面描述符 104
5.2.2 内存管理区 106
5.2.3 非一致性内存管理 108
5.3 内存管理初始化 109
5.3.1 bootmem alloctor的初始化 109
5.3.2 页表初始化 115
5.3.3 内存管理结构的初始化 118
5.4 内存的分配与回收 127
5.4.1 伙伴算法 127
5.4.2 SLUB分配器 138
第6章 中断与异常处理 152
6.1 中断的分类 152
6.2 中断的初始化 156
6.2.1 异常初始化 156
6.2.2 中断的初始化 160
6.2.3 中断请求服务队列的初始化 167
6.3 中断与异常处理 171
6.3.1 特权转换与堆栈变化 171
6.3.2 中断处理 172
6.3.3 异常处理 177
6.4 软件中断与延迟函数 180
6.4.1 softirq 180
6.4.2 tasklet 185
6.5 中断与异常返回 187
6.6 中断优先级回顾 191
6.7 关于高级可编程中断控制器 192
6.7.1 APIC初始化 193
第7章 信号机制 199
7.1 信号机制的管理结构 200
7.2 信号发送 204
7.3 信号处理 210
第8章 系统调用 220
8.1 Libc和系统调用 220
第9章 时钟机制 226
9.1 clocksource对象 227
9.1.1 clocksource概述 227
9.1.2 clocksource初始化 228
9.2 tickless机制 232
9.2.1 tickless由来 232
9.2.2 clock event device对象概述 234
9.2.3 clock event device对象的初始化 236
9.3 High-Resolution Timers 247
9.3.1 High-Resolution Timers管理结构 247
9.3.2 High-Resolution Timers初始化 252
9.3.3 High-Resolution Timers操作 258
9.4 时钟中断处理 268
9.4.1 时钟维护 276
9.4.2 进程时间信息统计 281
9.5 软件定时器 283
9.5.1 基本管理结构 283
9.5.2 初始化 284
9.5.3 注册与过期处理 287
第10章 进程管理 295
10.1 进程描述符 296
10.1.1 进程状态 297
10.1.2 进程标识 299
10.1.3 进程的亲缘关系 300
10.1.4 进程的内核态堆栈 301
10.1.5 进程的虚拟内存布局 302
10.1.6 进程的文件信息 305
10.2 进程的建立 306
10.2.1 建立子进程的task_struct对象 308
10.2.2 子进程的内存区域 315
10.2.3 子进程的内核态堆栈 323
10.2.4 0号进程的建立 325
10.3 进程切换 327
10.4 进程的退出 331
10.4.1 do_exit函数 331
10.4.2 task_struct结构的删除 334
10.4.3 通知父进程 335
10.5 do_wait()函数 338
10.6 程序的加载 344
第11章 调度器 351
11.1 早期的调度器 351
11.2 CFS调度器的虚拟时钟 353
11.3 CFS调度器的基本管理结构 357
11.4 CFS调度器对象 359
11.5 CFS调度操作 360
11.5.1 update_curr()函数 360
11.5.2 scheduler_tick()函数 362
11.5.3 put_prev_task_fair()函数 364
11.5.4 pick_next_task()函数 366
11.5.5 等待和唤醒操作 368
11.5.6 nice系统调用 373
第12章 文件系统 376
12.1 Ext2的磁盘结构 376
12.2 Ext2的内存结构 385
12.3 虚拟文件系统的管理结构 387
12.3.1 文件系统对象 388
12.3.2 VFS的超级块 389
12.3.3 VFS的inode结构 400
12.3.4 VFS的文件对象 406
12.3.5 VFS的目录对象 409
12.3.6 VFS在进程中的文件结构 412
12.4 文件系统的挂载 413
12.5 路径定位 425
12.6 文件打开与关闭 441
12.7 文件读写 449
12.7.1 缓冲区管理 449
12.7.2 文件读写操作分析 456
第13章 常用内核分析方法 471
13.1 准确定位同名宏及结构体 471
13.2 准确定位同名函数 473
13.3 利用link map文件定位全局变量 474
13.4 准确定位函数调用线索 476
13.5 SystemTap在代码分析中的使用 479
- 《独辟蹊径品内核 Linux内核源代码导读》李云华编译 2009
- 《Linux内核分析及编程》倪继利著 2005
- 《Linux内核修炼之道》任桥伟编著 2010
- 《奔跑吧Linux内核 入门篇》张天飞著 2019
- 《深入分析Linux内核源代码》陈莉君编著 2002
- 《编译原理》刘铭,徐兰芳,骆婷编著 2011
- 《Linux内核2.4版源代码分析大全》李善平等编著 2002
- 《Linux内核源代码情景分析·第1卷》毛德操,胡希明 2001
- 《Linux内核源代码情景分析 第2卷》毛德操,胡希明著 2001
- 《Linux内核源代码分析》(美)(S.麦克斯韦尔)Scott Maxwell著;冯锐等译 2000
- 《独辟蹊径品内核 Linux内核源代码导读》李云华编译 2009
- 《冰雪老人》李云华改编 2002
- 《大狼》李云华改编 2002
- 《兵家将帅》余云华,李鹏辉撰文;林洁,唐仁健绘图 1995
- 《教学民主与学科教学录 下》许东海,胡修金主编;张云华,杨锡垒,李孔林,吴霓龙副主编 2001
- 《口腔医学》王嘉德主编;王松灵,李晓刚副主编;王松灵,王嘉德,孙正,张连云,张振庭,李云华,李晓刚,孟秀英,徐莉,姬爱平编者,姬爱平编写秘书 2003
- 《临沧地理与双语使用》王兴中,赵卫华主编;赵卫华,王兴中,杨瑞鲲,曾亮,李洪平,李秉芬,李福军,施勇,张二朴,鲁芬,周云华,非艳芹编著 2013
- 《大学生安全教育教程》黄海峙,张慧主编;戴新,郭西平,付刚,臧国强,李喜峰,杨云华,姚婕,张慧,李筱胜,张冬梅,魏哲,高翔,张平,杨恩科,仝燕,袁群,赖斌参编 2014
- 《中国文化简史 春秋战国·秦汉·魏晋南北朝卷》纪云华,杨纪国主编;纪云华,杨纪国,王舜舟,王超编著 2004
- 《电信发展100年》《电信发展100年》编译组编译;李珊珊译 1983
- 《北京工业志 电子志》卜世成,高玉庆主编 2001
- 《北京志 工业卷 68 电子工业志 仪器仪表工业志》北京市地方志编纂委员会编著 2001
- 《网络互联技术手册 第2版》(美)(K.唐斯)Kevin Downes等著;包晓露等译 1999
- 《当代北京广播电视和电子元件工业》《当代北京工业丛书》编辑部编 1988
- 《电子电路实验》梅开乡,梅军进主编;陈大力,吴勇平,李鹏鹏副主编 2014
- 《操作系统》韩仲清主编 1990
- 《'94北京国际电子出版研讨会论文集》粟武宾主编 1994
- 《dBASE Ⅲ PLUS》GOTOP编著 1995
- 《PowerPoint 97 操作导引》王耆,李文润编著 1998
- 《多媒体数据压缩技术》高文著 1994