在好例子网,分享、交流、成长!
您当前所在位置:首页C/C++ 开发实例Linux内核编程 → Linux内核精髓-精通linux内核必会的75个绝技.pdf

Linux内核精髓-精通linux内核必会的75个绝技.pdf

Linux内核编程

下载此实例
  • 开发语言:C/C++
  • 实例大小:16.24M
  • 下载次数:61
  • 浏览次数:199
  • 发布时间:2020-08-12
  • 实例类别:Linux内核编程
  • 发 布 人:skpupil
  • 文件格式:.pdf
  • 所需积分:4
 相关标签: linux LIN 内核

实例介绍

【实例简介】内核是操作系统的核心,操作系统的基本功能都是由内核提供的。
文件生成和数据包传输等也是通过内核的功能实现的。但这些都不是简单的任务。平时可能意识不到,但这其中确实包含了很多先进技术。例如,在文件系统方面,配置文件时尽量减少磁盘扫描,在网络方面,由于路由表的入口数量庞大,因此设计时尽量保证对系统整体影响较小的设计。在内存管理、进程管理方面也作出了很多努力。解读这种先进技术也是内核构建的魅力之一。
然而,最近的Linux所提供的并不只有基本功能。随着功能的不断发展,现在已经出现了很多特定领域的便捷功能和独特功能。即使是内核黑客也很少有人能够完全掌握。
本书从Linux内核的众多先进功能中选取了一些必备并且有趣的内容进行介绍,同时也对内部的运行机制和结构进行了阐述。此外,本书还介绍了熟练使用这些功能所需的工具、设置方法以及调整方法等。省电就是其中一项内容。除了使用方法以外,本书还介绍了省电的理念、与硬件的关系等。此外,还提到了当前广受关注的虚拟化、资源管理、标准文件系统中所采用的ext4等已有功能和新功能。对于已有功能,本书结合最新的源码,介绍它的更改内容和新增功能。其中也包括文档中没有记载,且必须对内核内部有一定理解才能得知的信息,因此,即使是比较了解这个功能的人也可能会有新的发现。另外,本书还介绍了内核的相关工具,其中gcore在重要的系统中就是非常可靠的工具。
最新的Linux内核中安装了强大的追踪、概要分析功能,具备很多方便实用的功能。这些功能不仅能够很方便地达到预期的目的,而且对于分析内核功能也非常有用。甚至对于内核构建的高手也有一定帮助。
全书列举了非常多的实例,让读者更快地学会如何使用。对于想要熟练使用内核的读者来说,本书也是非常好的参考书。
【实例截图】from clipboard

【核心代码】

目 录
O’Reilly Media, Inc.介绍
编者与作者介绍
主编简介
作者简介
撰稿人简介
技术审校者简介
致谢
主编致辞
前言
本书主要内容
本书使用方法
本书约定
意见与提问
第1章 内核入门
HACK#1如何获取Linux内核
内核的种类
Linus树
如何获取上游内核
如何获取发布版内核
Ubuntu
小结
参考文献
HACK#2 如何编译Linux内核
内核编译的过程
需要的源码包
编译、安装上游内核
生成内核包
在源码树外编译模块
交叉编译内核
小结
参考文献
HACK#3 如何编写内核模块
内核模块
通过内核配置编写模块
编写特有的内核模块
添加内核模块
小结
参考文献
HACK#4 如何使用Git
分布式仓库型SCM
在本地仓库进行操作
与远程仓库进行共同作业
将开发分支rebase到最新状态
其他有用的命令
小结
HACK#5 使用checkpatch.pl检查补丁的格式
检查格式的示例
使用checkpatch.pl输出的主要错误或警告
小结
参考文献
HACK#6 使用localmodconfig缩短编译时间
localmodconfig的使用方法
localmodconfig的效果
localmodconfig的结构
小结
第2章 资源管理
HACK#7 Cgroup、Namespace、Linux容器
Cgroup
Namespace
Linux容器
小结
参考文献
HACK#8 调度策略
调度策略
关于调度策略的系统调用
chrt命令
小结
参考文献
HACK#9 RT Group Scheduling与RT Throttling
实时
RT Throttling
小结
参考文献
HACK#10 Fair Group Scheduling
Fair Group Scheduling
Fair Group Scheduling的使用方法
小结
HACK#11 cpuset
用法
小结
HACK#12 使用Memory Cgroup限制内存使用量
Memory Cgroup
用法
限制内存使用量
层次结构
显示统计信息
小结
参考文献
HACK#13 使用Block I/O控制器设置I/O优先级
使用Block I/O控制器的前提条件
尝试使用Block I/O控制器
Block I/O控制器提供的特殊文件
关于Block I/O控制器的CFQ设置用虚拟文件
限制事项
小结
参考文献
HACK#14 虚拟存储子系统的调整
虚拟空间存储方式
虚拟空间超额使用量的调整
小结
HACK#15 ramzswap
使用论坛版ramzswap
ramzswap disk的使用方法
backing swap的使用方法
使用上游内核的ramzswap
小结
参考文献
HACK#16 OOM Killer的运行与结构
确认运行、日志
进程的选定方法
计算分数的方法
关于OOM Killer的proc文件系统
RHEL5的特征
RHEL4的运行
小结
参考文献
第3章 文件系统
HACK#17 如何使用ext4
ext4的生成与挂载
关于mount选项
开发版ext4的获取方法
小结
参考文献
HACK#18 向ext4转换
转换
关于功能标志
小结
参考文献
HACK#19 ext4的调整
小结
参考文献
HACK#20 使用fio进行I/O的基准测试
安装fio
基本执行方法
模拟实验的例子和输出的意义
小结
HACK#21 FUSE
FUSE概要
安装FUSE文件系统
卸载
使用FUSE的文件系统
小结
参考文献
第4章 网络
HACK#22 如何控制网络的带宽
设置带宽控制
启动脚本
确认带宽控制
小结
参考文献
HACK#23 TUN/TAP设备
TUN/TAP设备
TUN设备
TAP设备
应用程序示例
使用TUN/TAP设备的程序设计示例
小结
HACK#24 网桥设备
brctl命令
使用网桥功能的示例
网桥的设置
RedHat系列的情况
虚拟机的网桥连接
小结
HACK#25 VLAN
使用命令进行设置
使用设置文件进行设置
MAC-VLAN
参考文献
HACK#26 bonding驱动程序
使用方法
关于激活备份模式
参考文献
HACK#27 Network Drop Monitor
dropwatch的使用方法
小结
参考文献
第5章 虚拟化
HACK#28 如何使用Xen
Xen的概要
Xen的半虚拟化客户端的使用方法
Xen的全虚拟化客户端的使用方法
小结
HACK#29 如何使用KVM
KVM的概要
KVM的使用方法
KVM的网络选项
小结
参考文献
HACK#30 如何不使用DVD安装操作系统
需要的准备
小结
HACK#31 更改虚拟CPU分配方法,提高性能
使用virt-manager的物理CPU分配方法
概要分析
小结
参考文献
HACK#32 如何使用EPT提高客户端操作系统的性能
MMU
影子页表
EPT
如何使用EPT
小结
参考文献
HACK#33 使用IOMMU提高客户端操作系统运行速度
虚拟环境下客户端操作系统的I/O方式
关于DMA
IOMMU
KVM的IOMMU的使用方法
Xen的IOMMU的使用方法
小结
参考文献
HACK#34 使用IOMMU SR-IOV提高客户端操作系统速度
SR-IOV
SR-IOV的功能
在KVM中使用SR-IOV的方法
小结
HACK#35 SR-IOV带宽控制
Intel 82576的带宽控制
Intel 82576的带宽控制的使用方法
尝试测量带宽
小结
参考文献
HACK#36 使用KSM节约内存
使用方法
sysfs
小结
参考文献
HACK#37 如何挂载客户端操作系统的磁盘
guestfish
lomount
kpartx
小结
参考文献
HACK#38 从客户端操作系统识别虚拟机环境
CPUID命令
固有文件
ACPI DSDT/FADT的OEM ID
System Management BIOS(SMBIOS)
virt-what
小结
参考文献
HACK#39 如何调试客户端操作系统
Xen的情况
KVM的情况
小结
参考文献
第6章 省电
HACK#40 ACPI
ACPI的用语
G状态与S状态
D状态
C状态
P状态
ACPI的结构
两个编程模型
ACPI寄存器
ACPI系统描述表
ACPI命名空间和AML(ASL)
查看ACPI的表
小结
参考文献
HACK#41 使用ACPI的S状态
S3状态的使用方法
S3状态的结构
S4状态的使用方法
小结
HACK#42 使用CPU省电(C、P状态)
C状态的使用方法
P状态的使用方法
小结
参考文献
HACK#43 PCI设备的热插拔
Hot-add的流程
Hot-remove的流程
确认热插拔功能
Linux的热插拔子系统
小结
HACK#44 虚拟环境下的省电
虚拟环境下的省电思想
Xen的P状态
Xen的C状态
KVM的C/P状态
小结
参考文献
HACK#45 远程管理机器的电源
Wake On LAN
IPMI
小结
参考文献
HACK#46 USB的电力管理
概要
设置方法
小结
参考文献
HACK#47 显示器的省电
显示器的电源控制
显示器的亮度控制
小结
参考文献
HACK#48 通过网络设备节省电能
禁用WOL
降低速度
进行改造
小结
参考文献
HACK#49 关闭键盘的LED来省电
PS/2键盘
各式各样的键盘
参考文献
HACK#50 PowerTOP
概要
PowerTOP的详细情况和结构
小结
参考文献
HACK#51 硬盘的省电
LPM
显示正在使用的硬盘信息
关于省电的设置
关于I/O性能的设置
参考文献
第7章 调试
HACK#52 SysRq键
使用方法
SysRq键的输入方法
SysRq命令键
上游内核的SysRq键显示的例子
各种情况下的使用方法
小结
参考文献
HACK#53 使用diskdump提取内核崩溃转储
内核崩溃转储
diskdump的限制事项
启用diskdump
使用压缩和部分转储功能缩小转储文件的大小
发生故障时通过邮件通知
将转储输出到的设备冗长化
小结
参考文献
HACK#54 使用Kdump提取内核崩溃转储
启用崩溃转储
使用makedumpfile缩小转储的文件大小
向远程服务器传输崩溃转储
小结
参考文献
HACK#55 崩溃测试
小结
HACK#56 IPMI看门狗计时器
IPMI看门狗计时器
IPMI看门狗计时器的使用方法
设置示例
确认运行
其他看门狗计时器
参考文献
HACK#57 NMI看门狗计时器
NMI看门狗计时器
NMI看门狗计时器的使用方法
关于NMI的其他参数
HACK#58 soft lockup
soft lockup的结构
soft lockup的设置
soft lockup的确认
锁定检测的限制
避免soft lockup的错误检测
小结
HACK#59 crash命令
支持范围
安装与启动的方法
实用工具命令(utility command)
参照内核信息的命令
扩展命令
crash选项
参考文献
HACK#60 核心转储过滤器
使用方法
sysctl
小结
参考文献
HACK#61 生成用户模式进程的进程核心转储
使用案例
安装
使用crash参照用户进程的符号信息的方法
支持范围
注意事项
参考文献
HACK#62 使用lockdep查找系统的死锁
lockdep的结构
创建启用了lockdep的内核
尝试使用lockdep功能
小结
参考文献
HACK#63 检测内核的内存泄漏
编译内核
使用方法
小结
参考文献
第8章 概要分析与追踪
HACK#64 使用perf tools的概要分析(1)
perf tools
确认perf tools的运行
小结
参考文献
HACK#65 使用perf tools的概要分析(2)
使用perf进行概要分析的步骤
进行缓存未命中的概要分析
小结
HACK#66 进行内核或进程的各种概要分析
使用perf stat获取综合统计信息
使用perf script进行追踪
使用自己的脚本处理数据
小结
参考文献
HACK#67 追踪内核的函数调用
ftrace
创建启用ftrace的内核
操作ftrace的debugfs接口
使用ftrace追踪函数调用
小结
参考文献
HACK#68 ftrace的插件追踪器
获取函数的调用关系
进行函数的概要分析
调查占用内核栈最大的位置
测量中断的延迟
小结
参考文献
HACK#69 记录内核的运行事件
调查可使用的追踪事件
调查事件的格式
控制事件
使用ftrace的事件加强其他的追踪器输出
小结
参考文献
HACK#70 使用trace-cmd的内核追踪
trace-cmd的获取与创建
使用trace-cmd进行追踪
使用trace-cmd进行后台追踪
使用trace-cmd结束追踪
使用trace-cmd获取远程机器的追踪
小结
HACK#71 将动态追踪事件添加到内核中
动态追踪事件
经由ftrace将动态追踪事件添加到内核中
使用perf probe将动态追踪事件添加到内核中
启用调试信息和动态追踪事件构建内核
perf probe的使用方法
小结
参考文献
HACK#72 使用SystemTap进行内核追踪
概述
准备
样本脚本
测量时间
定义探测点
尝试执行
小结
参考
HACK#73 使用SystemTap编写对话型程序
使用SystemTap进行输出界面控制
使用SystemTap接受来自键盘、鼠标的输入
小结
参考文献
HACK#74 SystemTap脚本的重复利用
使用别名分离逻辑
编写Tapset
SystemTap脚本的Shebang
小结
HACK#75 运用SystemTap
在后台执行SystemTap
将SystemTap作为服务启动
小结
参考资料

标签: linux LIN 内核

实例下载地址

Linux内核精髓-精通linux内核必会的75个绝技.pdf

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警