图书介绍
Linux内核分析及编程【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

- 倪继利著 著
- 出版社: 北京:电子工业出版社
- ISBN:7121015188
- 出版时间:2005
- 标注页数:823页
- 文件大小:40MB
- 文件页数:835页
- 主题词:Linux操作系统-程序设计
PDF下载
下载说明
Linux内核分析及编程PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 数据类型及链表1
1.1 数据类型所占空间1
1.2 有关移植性的其他问题3
1.2.1 时间间隔3
1.2.2 页面大小3
1.2.3 字节存储顺序3
1.2.4 数据对齐4
1.3 内核通用链表4
1.3.1 hlist哈希链表7
1.3.2 RCU操作保护的链表8
1.4 AT T的汇编格式9
1.5 内核中的时间延迟11
第2章 进程及进程调度13
2.1 进程结构13
2.2 进程创建24
2.2.1 对象缓存的分配24
2.2.2 系统调用sys_fork25
2.3 内核线程26
2.4 工作队列27
2.4.1 工作队列的结构及宏定义28
2.4.2 工作队列的建立29
2.5 进程调度33
2.5.1 runqueue结构34
2.5.2 进程调度初始化36
2.5.3 负载平衡的启动38
2.5.4 负载平衡的方法42
2.5.5 函数schedule分析46
2.5.6 调度器的实时性能51
2.6 Linux内核抢占51
第3章 内核同步机制55
3.1 内核中的互斥机制55
3.1.1 自旋锁55
3.1.2 原子操作59
3.1.3 信号量60
3.2 RCU64
3.2.1 RCU原理介绍64
3.2.2 RCU应用实例66
3.2.3 RCU相关数据结构67
3.2.4 内核RCU机制的建立68
3.2.5 RCU回调处理73
3.3 内核与用户空间的通信机制74
3.3.1 热插拔操作74
3.3.2 内核发消息到用户空间通信机制75
3.3.3 内核空间调用用户空间程序78
第4章 内存管理81
4.1 内存地址类型和内存保护82
4.1.1 地址类型82
4.1.2 内存保护83
4.2.1 描述符及分段84
4.2 80386的段页式管理机制84
4.2.2 物理内存分页机制85
4.3 IA-64 Linux地址空间划分86
4.4 进程的内存组织88
4.4.1 内存管理的数据结构88
4.4.2 VMA在/proc文件系统中的显示90
4.5 虚拟内存管理91
4.5.1 大容量对象缓存91
4.5.2 内存映射94
4.5.3 物理内存的反向映射110
4.5.4 虚拟内存的加锁和保护113
4.6.1 物理内存的结构114
4.6 物理内存管理114
4.6.2 物理页位图116
4.6.3 物理内存的初始化过程117
4.6.4 物理页面的分配和回收121
4.6.5 缓存及slab125
4.6.6 缓存分配的应用129
4.6.7 分配缓存函数的分析129
4.6.8 交换空间135
4.6.9 请页机制137
4.6.10 守护进程kswapd139
4.6.11 内存管理相关的高速缓存144
4.6.12 内存缓冲池144
4.6.13 大块内存页147
第5章 虚拟文件系统149
5.1 VFS的超级块、dentry和节点结构150
5.2 与进程联系的文件系统相关结构153
5.3 系统有关操作函数集的结构155
5.3.1 super_operations155
5.3.2 inode_operations156
5.3.3 file_operations156
5.3.4 dquot_operations157
5.4 文件系统的建立过程157
5.5 文件系统的注册、安装与卸载159
5.5.1 文件系统的注册159
5.6 文件系统的系统调用过程160
5.5.2 文件系统的安装与卸载160
5.6.1 系统调用open161
5.6.2 read系统调用170
5.7 文件系统的各种缓存172
5.7.1 块缓存buffer172
5.7.2 inode缓存182
5.7.3 目录条目dentry缓存185
5.8 缓存同步操作——sys_sync系统调用189
5.8.1 多个节点同步回写操作函数sync_inodes189
5.8.2 单个节点同步回写操作函数sync_inodes_sb190
5.8.3 节点地址空间数据回写操作函数194
5.8.4 块设备节点映射的数据同步回写函数sync_blockdev200
5.9 pdflush线程池203
5.9.1 pdflush线程池的实现203
5.9.2 pdflush线程使用实例——wakeup_bdflush206
5.10 限额机制207
第6章 EXT2文件系统208
6.1 EXT2文件系统的几个数据结构210
6.1.1 EXT2超级块210
6.1.2 EXT2超级块信息结构211
6.1.3 超级块的操作函数结构212
6.1.4 EXT2的索引节点inode212
6.1.5 EXT2文件系统的节点信息结构214
6.1.6 节点操作函数结构215
6.1.7 文件操作函数结构215
6.1.8 EXT2文件系统的组描述符215
6.2 EXT2文件系统建立过程215
6.3 ext2_read_inode函数分析220
6.4 ext2_write_inode函数分析221
6.5 文件的读写223
6.6 文件扩展时的数据块分配策略228
6.7 EXT2的目录项及文件的定位234
6.8 链接文件237
7.1 ramfs内存文件系统238
7.1.1 ramfs文件系统模块初始化238
第7章 其他文件系统238
7.1.2 ramfs文件系统操作函数集240
7.1.3 文件读写操作240
7.1.4 目录及节点操作函数集241
7.2 /proc文件系统242
7.2.1 /proc文件系统在调试中的作用243
7.2.2 /proc文件系统实现分析245
7.2.3 在/proc中读写设备信息示例250
7.3 VFAT文件系统255
7.3.1 FAT文件系统的组成255
7.3.2 引导记录区DBR及定义256
7.3.3 FAT文件系统结构定义260
7.3.4 VFAT文件系统的注册超级块261
7.3.5 超级块操作函数集的实现264
7.3.6 目录操作函数集265
7.4 Devfs文件系统270
7.5 sysfs文件系统275
7.5.1 内核对象相关结构276
7.5.2 sysfs文件系统的建立过程277
7.5.3 sysfs提供给对象模型的调用函数278
7.5.4 sysfs建立bus子系统280
7.5.5 bus子系统的接口函数282
7.5.6 在sysfs中建立pci目录示例283
第8章 I/O端口资源管理288
8.1 I/O资源的描述288
8.1.1 内存屏障289
8.1.2 资源管理函数290
8.2 中断处理295
8.2.1 硬件提供的中断机制295
8.2.2 Linux的中断处理297
8.2.3 中断向量的设置和相关数据的初始化298
8.2.4 中断处理全过程299
8.2.5 tasklet机制303
8.2.6 中断处理在/proc文件系统中的报告311
8.2.7 并口中断处理程序示例311
8.3 DMA315
8.3.1 DMA控制器硬件结构315
8.3.2 DMA通道使用的地址316
8.3.3 DMA操作函数317
8.3.4 DMA映射318
8.3.5 DMA池321
8.3.6 一个简单的使用DMA例子324
8.4 电源管理325
8.4.1 ACPI规范介绍326
8.4.2 ACPI的一些基本概念328
8.4.3 ACPI的运行329
8.4.4 ACPI驱动程序分析332
8.4.5 pci的ACPI电源管理的实现337
8.4.6 APM电源管理模式341
9.1 简单模块示例348
第9章 模块机制348
9.2 内核空间和用户空间349
9.2.1 处理器保护级349
9.2.2 用户空间和内核空间权限350
9.2.3 用户空间和内核空间范围及函数参数传递350
9.2.4 内核态和用户态之间数据传递352
9.3 模块的使用过程353
9.4 实现机制354
9.4.1 模块在/proc文件系统中的显示354
9.4.2 模块结构354
9.4.3 模块数据宏操作356
9.4.4 实现函数的分析359
9.5 modutils介绍369
第10章 设备驱动程序371
10.1 设备文件及设备访问方式372
10.1.1 轮询与中断372
10.1.2 直接内存访问(DMA)372
10.1.3 设备驱动使用内存372
10.1.4 设备文件及接口372
10.2 设备驱动程序模型374
10.2.1 驱动模型中的描述结构374
10.2.2 驱动程序向新的模型上迁移383
10.2.3 即插即用386
10.2.4 文件系统中与设备驱动相关的结构389
10.3 字符设备操作过程390
10.4.1 块设备文件系统初始化393
10.4 块设备伪文件系统393
10.4.2 文件操作函数集394
10.5 通用硬盘GENHD398
10.6 通用块层403
10.6.1 bio相关结构404
10.6.2 bio_vec池405
10.6.3 碎片链表406
10.6.4 请求及请求队列结构407
10.6.5 通用的命令标志请求410
10.6.6 I/O调度器411
10.7.1 初始化块设备的请求队列415
10.7 块设备的读写请求队列及提交过程415
10.7.2 块设备读写请求的传递过程417
10.8 IOCTL设备控制操作423
10.9 编写设备驱动程序的基本步骤425
10.9.1 如何添加一个字符设备425
10.9.2 如何添加一个块设备425
第11章 FLASH闪存及SD/MMC卡设备驱动程序427
11.1 MTD内存技术设备427
11.1.1 MTD内存技术设备层次结构428
11.1.2 设备层和原始设备层的函数调用关系430
11.1.3 MTD相关结构430
11.1.4 MTD块设备初始化432
11.1.5 MTD块设备的读写操作439
11.1.6 MTD核心初始化442
11.1.7 MTD字符设备443
11.1.8 具体flash芯片的探测及映射444
11.1.9 驱动程序实例分析447
11.2 SD/MMC卡块设备驱动程序449
11.2.1 MMC抽象设备层相关结构449
11.2.2 MC抽象设备层MMC块设备驱动程序453
11.2.3 具体MMC控制器驱动程序示例462
第12章 Linux系统初始化468
12.1 Boot Loader468
12.1.1 PC的Boot Loader468
12.1.2 嵌入式系统Boot Loader473
12.2 Linux内核启动过程478
第13章 系统调用481
13.1 设定0x80号中断481
13.2 系统调用现场保护482
13.3 Linux系统调用的流程484
13.3.1 系统调用过程484
13.3.2 中断INT 0x80入口处理484
第14章 Linux网络系统分层结构488
14.1 Linux网络系统分层结构488
14.2 数据包结构489
14.2.1 msghdr结构489
14.2.2 socket结构490
14.2.3 sk_buff结构及管理490
14.2.4 sock结构495
14.3 sockfs文件系统497
14.4 利用socket通信499
14.4.1 socket层500
14.4.2 IP层收发数据包函数506
14.4.3 网络核心层513
14.5 网卡驱动程序525
14.5.1 NAPI525
14.5.2 8139CP网卡驱动程序526
14.6 netlink533
14.6.1 内核netlink调用函数535
14.6.2 示例536
15.1 动态链接与静态链接544
第15章 执行文件的运行过程544
15.2 位置无关代码(PIC)的汇编语言编程548
15.3 可执行文件格式550
15.3.1 a.out文件格式分析550
15.3.2 COFF文件格式分析551
15.3.3 ELF文件格式分析552
15.3.4 符号的重定位557
15.3.5 ELF文件加载过程558
15.4 可执行文件加载代码分析559
第16章 进程间通信567
16.1 管道567
16.2.1 消息队列结构575
16.2 消息队列575
16.2.2 消息队列文件系统576
16.2.3 消息队列系统调用函数579
16.3 共享内存585
16.3.1 共享内存相关结构586
16.3.2 tmpfs文件系统587
16.3.3 共享内存系统调用593
16.4 信号599
16.4.1 信号相关的结构600
16.4.2 设置信号响应601
16.4.3 信号分发603
16.4.4 信号响应607
16.5.1 信号量相关结构610
16.5 用户空间信号量操作610
16.5.2 系统调用函数的实现611
第17章 Linux的安全策略618
17.1 Linux常用安全技术618
17.1.1 PAM机制618
17.1.2 入侵检测系统618
17.1.3 加密文件系统619
17.1.4 安全审计620
17.1.5 基于ACL的自主访问控制620
17.1.6 强制访问控制621
17.1.7 防火墙621
17.2 Linux能力机制621
17.3 Flask安全体系结构概述622
17.4 SE Linux安全策略配置语言624
17.4.1 基本概念625
17.4.2 Linux与SE Linux在安全管理上的区别626
17.4.3 安全模型626
17.4.4 策略语言及配置样例626
17.5 SELinux的内部结构634
17.6 SELinux的实现636
17.6.1 任务的安全管理637
17.6.2 AVC分析640
17.6.3 security_compute_av函数644
17.7 策略库的结构647
17.7.1 sidtab结构648
17.7.2 symtab结构649
17.7.3 avtab结构649
17.7.4 class_datum结构649
17.7.5 role_datum结构650
17.7.6 user_datum结构651
17.7.7 role_tran结构651
17.7.8 cond_node结构652
17.8 安全审计的管理653
17.9 sel_fs文件系统654
17.10 防火墙660
17.10.1 Netfilter框架661
17.10.2 iptables管理工具662
17.10.3 Netfilter例子663
第18章 内核配置与编译664
18.1 配置文件的生成664
18.2 配置语言665
18.3 主Makefile分析667
18.3.1 主Makefile中的分析667
18.3.2 嵌入式内核的交叉编译671
18.4 Rule.make及子目录编译673
18.4.1 编译选项变化引起增量编译673
18.4.2 子目录的编译673
18.4.3 Rule.make分析674
18.4.4 驱动程序配置示例680
第19章 Linux内核调试683
19.1 strace命令683
19.2 oops消息分析683
19.3 调试工具684
19.4 printk打印调试688
19.4.1 printk688
19.4.2 如何记录消息689
19.4.3 sys_syslog系统调用690
19.4.4 printk函数分析692
19.4.5 控制台694
19.4.6 tty代码分析695
19.4.7 tty_register_ldisc函数701
19.5.1 调试寄存器702
19.5 ptrace调试跟踪702
19.5.2 TSS中的调度陷阱704
19.5.3 INT3704
19.5.4 程序的单步执行705
19.5.5 ptrace系统调用705
19.5.6 系统调用跟踪710
19.5.7 调试陷阱处理711
19.5.8 调试器运行方法712
第20章 USB总线驱动程序715
20.1 USB的拓朴结构715
20.2 USB 2.0协议717
20.2.1 包标志符及传输控制概述717
20.2.2 总线枚举718
20.2.3 USB设备请求719
20.2.4 描述符719
20.2.5 OTG规范720
20.3 USB总线驱动程序结构722
20.3.1 USB主机驱动程序的体系722
20.3.2 USB驱动程序的编写723
20.3.3 设备结构间的关系725
20.4 USB驱动程序初始化727
20.5 usbfs文件系统729
20.5.1 usbfs文件系统初始化729
20.5.2 usbfs文件操作731
20.6.1 URB结构732
20.6 USB请求块(URB)732
20.6.2 URB的操作733
20.7 同步消息处理735
20.7.1 同步请求完成模型736
20.7.2 控制与查询737
20.8 用主机控制器驱动层(HCD层)737
20.8.1 USB总线的注册与注销738
20.8.2 HCD操作函数739
20.8.3 注册根集线器741
20.9 集线器Hub741
20.9.1 Hub初始化742
20.9.2 Hub设备的各种事件处理744
20.9.3 ehci-hcd控制器752
20.10 USB大存储设备758
20.10.1 Bulk-Only传输协议759
20.10.2 SCSI体系结构模型及命令描述块761
20.10.3 大存储类主机驱动程序765
20.11 USB从设备驱动程序(Gadget)779
20.11.1 Gadget相关结构781
20.11.2 Gadget API783
20.11.3 pxa2xx控制器786
20.11.4 gadgetfs文件系统794
20.11.5 大存储设备驱动程序804
附录A Linux系统调用819
主要参考文献823
热门推荐
- 1114522.html
- 1673671.html
- 1485608.html
- 2090038.html
- 2046862.html
- 331443.html
- 2658788.html
- 223422.html
- 3628299.html
- 811158.html
- http://www.ickdjs.cc/book_43727.html
- http://www.ickdjs.cc/book_2660366.html
- http://www.ickdjs.cc/book_2924409.html
- http://www.ickdjs.cc/book_3414184.html
- http://www.ickdjs.cc/book_2385972.html
- http://www.ickdjs.cc/book_3288122.html
- http://www.ickdjs.cc/book_2989621.html
- http://www.ickdjs.cc/book_3251234.html
- http://www.ickdjs.cc/book_519215.html
- http://www.ickdjs.cc/book_2999137.html