注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络操作系统Linux独辟蹊径品内核:Linux内核源代码导读

独辟蹊径品内核:Linux内核源代码导读

独辟蹊径品内核:Linux内核源代码导读

定 价:¥65.00

作 者: 李云华 编著
出版社: 电子工业出版社
丛编项:
标 签: LINUX

ISBN: 9787121085154 出版时间: 2009-08-01 包装: 平装
开本: 16开 页数: 482 字数:  

内容简介

  《独辟蹊径品内核:Linux内核源代码导读》根据最新的2.6.24内核为基础。在讲述方式上,《独辟蹊径品内核:Linux内核源代码导读》注重实例分析,尽量在讨论“如何做”的基础上,深入讨论为什么要这么做,从而实现《独辟蹊径品内核:Linux内核源代码导读》的写作宗旨:“授人以渔”。在内容安排上,《独辟蹊径品内核:Linux内核源代码导读》包含以下章节x86硬件基础;基础知识;Linux内核Makefile分析;Linux内核启动;内存管理;中断和异常处理;系统调用;信号机制在类UNIX系统中;时钟机制;进程管理;调度器;文件系统;常用内核分析方法。《独辟蹊径品内核:Linux内核源代码导读》适合初、中级Linux用户、从事内核相关开发的从业人员,也可以作为各类院校相关专业的教材及Linux培训班的教材,也可作为Linux内核学习的专业参考书。

作者简介

  李云华,是一名内核技术的狂热爱好者,长期从事操作系统内核、计算机网络、设备驱动程序、以及嵌入系统方面的开发和研究。拥有丰富的设备驱动开发、网络优化、内核及驱动移植、嵌入式系统构建等方面的开发经验。对Windows内核驱动及Linux内核驱动均有丰富的开发经验及心得体会。

图书目录

第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_3277
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 bootmemalloctor的初始化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 softirq180
6.4.2 tasklet185
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 clockeventdevice对象概述234
9.2.3 clockeventdevice对象的初始化236
9.3 High-ResolutionTimers247
9.3.1 High-ResolutionTimers管理结构247
9.3.2 High-ResolutionTimers初始化252
9.3.3 High-ResolutionTimers操作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 利用linkmap文件定位全局变量474
13.4 准确定位函数调用线索476
13.5 SystemTap在代码分析中的使用479

本目录推荐