精通Linux内核开发pdf下载pdf下载

精通Linux内核开发百度网盘pdf下载

作者:
简介:本篇主要提供精通Linux内核开发pdf下载
出版社:文轩网旗舰店
出版时间:2021-09
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

作  者:(印)拉古·巴拉德瓦杰 著 白浩文,文平波 译
定  价:89.9
出 版 社:人民邮电出版社
出版日期:2021年09月01日
页  数:300
装  帧:平装
ISBN:9787115566041
主编推荐
1.本书讲解了Linux内核、内核的内部编排和设计,以及内核的各个核心子系统等知识,旨在帮助读者深入理解Linux内核。 2.本书还介绍了关键的内核代码、核心数据结构、函数、宏,以便读者让透彻地理解Linux内核的核心服务和机制。 3.本书篇幅短小精悍,内容翔实,通过大量代码辅助介绍Linux内核的相关开发工作。 4.本书适合Linux内核开发人员、底层开发人员及希望深入理解Linux内核的系统开发人员学习。
目录
章进程、地址空间和线程1
1.1进程1
1.1.1所谓地址空间的错觉2
1.1.2内核空间和用户空间3
1.2进程描述符4
1.2.1进程属性:关键元素5
1.2.2进程关系:关键元素8
1.2.3调度属性:关键元素9
1.2.4进程:关键元素9
1.2.5文件描述符表:关键元素11
1.2.6信号描述符:关键元素11
1.3内核栈12
1.4栈溢出问题16
1.5进程创建17
1.5.1fork()17
1.5.2写时复制(COW)18
1.5.3exec18
1.5.4vfork()19
1.5.5Linux线程支持19
1.6内核线程21
1.7进程状态和终止29
1.7.1wait29
1.7.2et29
1.8命名空间和cgroup30
1.8.1挂载命名空间30
1.8.2UTS命名空间31
1.8.3IPC命名空间31
1.8.4PID命名空间31
1.8.5网络命名空间31
1.8.6用户命名空间31
1.8.7cgroup命名空间32
1.8.8控制组(cgroup)32
1.9小结33
第2章进程调度器34
2.1进程调度器34
2.2Linu程调度器设计35
2.3运行队列39
2.4调度入口41
2.5进程优先级43
2.6调度类44
2.7完全公平调度类(CFS)44
2.7.1CFS计算优先级和时间片45
2.7.2CFS运行队列45
2.7.3组调度46
2.7.4多核系统下的调度实体47
2.7.5调度策略48
2.8实时调度类49
2.8.1FIFO49
2.8.2RR49
2.8.3实时组调度50
2.8.4deadline调度类(零散任务模型的deadline调度)50
2.9调度相关的系统调用51
2.10进程抢占53
2.11小结54
第3章信号管理55
3.1信号55
3.2信号管理API58
3.2.1程序发出信号61
3.2.2等待排队信号62
3.3信号数据结构62
3.3.1信号描述符63
3.3.2被阻塞和挂起的队列
3.3.3信号处理程序描述符65
3.4信号生成和传递66
3.4.1信号生成调用66
3.4.2信号传递69
3.4.3执行用户模式处理程序74
3.4.4设置用户模式处理程序帧75
3.5重新启动被中断的系统调用78
3.6小结80
第4章内存管理和分配器81
4.1初始化操作81
4.2区域和节点87
4.2.1内存区域87
4.2.2内存节点89
4.3内存分配97
4.3.1页帧分配器98
4.3.2GFP掩码105
4.3.3slab分配器110
4.3.4vmalloc122
4.3.5连续内存分配器(CMA)124
4.4小结125
第5章文件系统和文件I/O126
5.1文件系统—高层视图126
5.1.1元数据127
5.1.2操作132
5.1.3附加功能134
5.2Linux内核中的文件系统135
5.3通用文件系统接口138
5.4特殊文件系统153
5.4.1procfs154
5.4.2sysfs156
5.4.3debugfs157
5.5小结157
第6章进程间通信158
6.1管道和FIFO158
6.2消息队列163
6.2.1SystemV消息队列163
6.2.2IX消息队列165
6.3共享内存167
6.3.1SystemV共享内存167
6.3.2IX共享内存170
信号量171
.1System号量171
.2IX信号量173
6.5小结174
第7章虚拟内存管理175
7.1进程地址空间175
7.1.1进程内存描述符177
7.1.2页表193
7.2小结195
第8章内核同步和锁196
8.1原子操作196
8.1.1原子整数操作197
8.1.2原子位操作198
8.2排斥锁199
8.2.1自旋锁199
8.2.2互斥锁207
8.2.3信号量217
8.2.4顺序锁221
8.2.5完成锁223
8.3小结226
第9章中断和延迟工作227
9.1中断信号和向量227
9.2可编程中断控制器229
9.2.1中断控制器操作230
9.2.2IRQ描述符表232
9.3不错中断管理接口235
9.3.1注册一个中断处理程序235
9.3.2注销一个中断处理程序237
9.3.3线程化中断处理程序237
9.3.4控制接口240
9.3.5中断栈241
9.4延迟工作241
9.4.1softirq242
9.4.2tasklet244
9.4.3工作队列248
9.5小结252
0章时钟和时间管理253
10.1时间表示253
10.2硬件抽象257
10.3Linux计时数据结构体、宏以及辅助函数260
10.3.1jiffies260
10.3.2timeval和timespec262
10.3.3跟踪和维护时间2
10.3.4节拍和中断处理265
10.3.5节拍设备267
10.4软件定时器和延迟函数267
10.4.1动态定时器268
10.4.2带有动态定时器的竞争条件270
10.4.3动态定时器处理271
10.4.4延迟函数271
10.5IX时钟272
10.6小结273
1章模块管理274
11.1内核模块274
11.1.1LKM的要素274
11.1.2加载和卸载操作277
11.2小结288
内容简介
本书介绍了Linux内核、内核的内部编排与设计,以及内核的各个核心子系统等知识。本书分为11章,具体内容包括:进程、地址空间和线程;进程调度器;信号管理;内存管理和分配器;文件系统和文件I/O;进程间通信;虚拟内存管理;内核同步和锁;中断和延迟工作;时钟和时间管理;模块管理。本书篇幅短小精悍,通过大量代码辅助介绍Linux内核的相关开发工作。通过学习本书,读者可以深入理解Linux内核的核心服务与机制,了解这个集中了集体智慧的Linux内核在保持其良好设计的同时,是如何保持其优雅特性的。本书适合Linux内核开发人员、底层开发人员阅读,还适合希望深入理解Linux内核及其各组成部分的系统开发人员学习。高校软件工程专业的学生也可以将本书当作了解Linux内核设计原理的参考指南。