所有分类
  • 所有分类
  • 电子书
  • 电子杂志订阅下载

Linux内核精髓

  经过近20年的发展,Linux操作系统已经成为当今最成功的开源软件之一,使用广泛,影响深远。随着Linux操作系统功能的不断丰富和完善,Linux内核的源代码也从最初的几万行增加到如今的数百万行,庞大无比,对于Linux内核的研究者和开发者而言,要系统研究Linux内核绝非易事。鉴于此,《Linux内核精髓:精通Linux内核必会的75个绝技》选取了资源管理(CPU、内存、进程等)、文件系统、网络、虚拟化、省电、调试、概要分析、追踪、内核调整等Linux内核的核心主题进行了深入剖析和讲解,总结出了75个能有助于读者深刻理解Linux内核精髓的技巧和最佳实践。

编辑推荐

  一线内核技术专家经验和智慧结晶,深刻解读Linux内核的资源管理、文件系统、网络、虚拟化、省电技术、调试、性能调优、分析与追踪等核心主题。

作者简介

  高桥 浩和(Hirokazu Takahashi) 毕业于北海道大学电子工学系。从VAX全盛时代开始致力于各种UNIX系列操作系统的功能强化和内核调整,以及大规模系统的实时操作系统的设计等。以ISP的服务器构建为契机,开始正式研究Linux。
池田 宗广(Munehiro IKEDA) 大学时代,亲眼看到X68000的gcc生成比主流编译器还要快好几倍的代码,因此开始确信免费软件\/开源软件的可能性。此后,在历经咖啡店店员、生产技术人员、硬件工程师后,终于开始从事Linux内核开发。这个行业最吸引人的就是能够跨公司甚至跨国界与世界最优秀的技术人员进行交流。现居住在美国,爱好音乐演奏,当过鼓手,也当过主唱,最近几年一直在弹贝斯。不管是作为技术人员还是贝斯手都喜欢做幕后工作,只不过天生就不喜欢半途而废。

目录

编者与作者介绍
主编致辞
前言
第1章 内核入门
HACK #1 如何获取Linux内核
HACK #2 如何编译Linux内核
HACK #3 如何编写内核模块
HACK #4 如何使用Git
HACK #5 使用checkpatch.pl检查补丁的格式
HACK #6 使用localmodconfig缩短编译时间
第2章 资源管理
HACK #7 Cgroup、Namespace、Linux容器
HACK #8 调度策略
HACK #9 RT Group Scheduling 与RT Throttling
HACK #10 Fair Group Scheduling
HACK #11cpuset
HACK #12 使用Memory Cgroup限制内存使用量
HACK #13 使用Block I\/O控制器设置I\/O优先级
HACK #14 虚拟存储子系统的调整
HACK #15 ramzswap
HACK #16 OOM Killer的运行与结构
第3章 文件系统
HACK #17 如何使用ext
HACK #18 向ext4转换
HACK #19 ext4的调整
HACK #20 使用fio进行I\/O的基准测试
HACK #21FUSE
第4章 网络
HACK #22 如何控制网络的带宽
HACK #23 TUN\/TAP设备
HACK #24 网桥设备
HACK #25 VLAN
HACK #26 bonding驱动程序
HACK #27 Network Drop Monitor
第5章 虚拟化
HACK #28 如何使用Xen
HACK #29 如何使用KVM
HACK #30 如何不使用DVD安装操作系统
HACK #31 更改虚拟CPU分配方法,提高性能
HACK #32 如何使用EPT提高客户端操作系统的性能
HACK #33 使用IOMMU提高客户端操作系统运行速度
HACK #34 使用IOMMU+SR-IOV提高客户端操作系统速度
HACK #35 SR-IOV带宽控制
HACK #36 使用KSM节约内存
HACK #37 如何挂载客户端操作系统的磁盘
HACK #38 从客户端操作系统识别虚拟机环境
HACK #39 如何调试客户端操作系统
第6章 省电
HACK #40 ACPI
HACK #41 使用ACPI的 S状态
HACK #42 使用CPU省电(C、P状态)
HACK #43 PCI设备的热插拔
HACK #44 虚拟环境下的省电
HACK #45 远程管理机器的电源
HACK #46 USB的电力管理
HACK #47 显示器的省电
HACK #48 通过网络设备节省电能
HACK #49 关闭键盘的LED来省电
HACK #50 PowerTOP
HACK #51 硬盘的省电
第7章 调试
HACK #52 SysRq键
HACK #53 使用diskdump提取内核崩溃转储
HACK #54 使用Kdump提取内核崩溃转储
HACK #55 崩溃测试
HACK #56 IPMI看门狗计时器
HACK #57 NMI看门狗计时器
HACK #58 soft lockup
HACK #59 crash命令
HACK #60 核心转储过滤器
HACK #61 生成用户模式进程的进程核心转储
HACK #62 使用lockdep查找系统的死锁
HACK #63 检测内核的内存泄漏
第8章 概要分析与追踪
HACK #64 使用perf tools的概要分析(1)
HACK #65 使用perf tools的概要分析(2)
HACK #66 进行内核或进程的各种概要分析
HACK #67 追踪内核的函数调用
HACK #68  ftrace的插件追踪器
HACK #69 记录内核的运行事件
HACK #70 使用trace-cmd的内核追踪
HACK #71 将动态追踪事件添加到内核中
HACK #72 使用SystemTap进行内核追踪
HACK #73 使用SystemTap编写对话型程序
HACK #74 SystemTap脚本的重复利用
HACK #75 运用SystemTap

精彩书摘

  第1章
内核入门
一提起内核包,总会让人感觉似乎困难至极、如临深渊一般。但其基本的操作与其他开放源代码软件包并没有什么不一样,都是首先获取源代码,进行解读,然后修改或者添加新功能对应的代码,并编译、测试。本章将介绍这些内核包操作中最基础的知识,以及Linux内核特有的方法。
HACK #1 如何获取Linux内核
本节介绍获取Linux内核源代码的各种方法。“获取内核”这个说法看似简单,其实Linux内核有很多种衍生版本。要找出自己想要的源代码到底是哪一个,必须首先理解各种衍生版本的意义。
接下来将简单介绍Linux内核的开发模式,并分析各种衍生版本在其中所处的地位,然后介绍获取这些衍生版本的源代码的方法。
内核的种类
想要获取正确的Linux内核源代码,首先必须了解Linux内核的开发模式。
Linux内核是由多个开发者以分散型的模式进行开发的。这里出现的“分散型”,是指多个衍生源码树同时存在。下面将简单介绍一些具有代表性的源码树及其地位。
……

前言/序言

  内核是操作系统的核心,操作系统的基本功能都是由内核提供的。文件生成和数据包传输等也是通过内核的功能实现的。但这些都不是简单的任务。平时可能意识不到,但这其中确实包含了很多先进技术。例如,在文件系统方面,配置文件时尽量减少磁盘扫描,在网络方面,由于路由表的入口数量庞大,因此设计时尽量保证对系统整体影响较小的设计。在内存管理、进程管理方面也作出了很多努力。解读这种先进技术也是内核构建的魅力之一。
然而,最近的Linux所提供的并不只有基本功能。随着功能的不断发展,现在已经出现了很多特定领域的便捷功能和独特功能。即使是内核黑客也很少有人能够完全掌握。
本书从Linux内核的众多先进功能中选取了一些必备并且有趣的内容进行介绍,同时也对内部的运行机制和结构进行了阐述。此外,本书还介绍了熟练使用这些功能所需的工具、设置方法以及调整方法等。
省电就是其中一项内容。除了使用方法以外,本书还介绍了省电的理念、与硬件的关系等。此外,还提到了当前广受关注的虚拟化、资源管理、标准文件系统中所采用的ext4等已有功能和新功能。对于已有功能,本书结合最新的源码,介绍它的更改内容和新增功能。其中也包括文档中没有记载,且必须对内核内部有一定理解才能得知的信息,因此,即使是比较了解这个功能的人也可能会有新的发现。另外,本书还介绍了内核的相关工具,其中gcore在重要的系统中就是非常可靠的工具。
最新的Linux内核中安装了强大的追踪、概要分析功能,具备很多方便实用的功能。这些功能不仅能够很方便地达到预期的目的,而且对于分析内核功能也非常有用。甚至对于内核构建的高手也有一定帮助。
全书列举了非常多的实例,让读者更快地学会如何使用。对于想要熟练使用内核的读者来说,本书也是非常好的参考书。
本书还为想要了解Linux内核的读者以及读过本书后开始对Linux内核开发产生兴趣的读者,介绍了获取内核源码的方法和内核开发方法等内核构建入门所需的信息。我们希望读者能够通过本书更加了解Linux的世界。
在电脑刚刚诞生的时候,有一段时期人们认为“如果想要提高编程水平就查看UNIX代码”。因为最快的方式就是参考天才所编写的最先进的代码并进行模仿。而在阅读Linux内核的代码时,相信大家也会深有同感。
Linux内核是开源软件,无论是谁都可以参与开发。Linux内核的代码花费了大量的时间和精力来编写。各领域都由具有专业知识的维护人员进行长期的管理,从而得到不断的改进。基于电子邮件的开发也在不断进行,因此可以看到各种讨论,并了解到当前代码的发展历程。每次看到Linux内核的代码,都会让人感叹其中凝聚的智慧和努力,也感受到当时的辛苦。希望读者能够从本书开始接触Linux这个不一般的世界,诞生更多的内核高手。
本书主要内容
本书介绍的是Linux内核所提供的功能。不仅有比较基础的功能,还有一些功能需要具有一定的知识才能使用。
此外,还介绍了使用功能时需要用到的信息和命令。除了内核以外,本书还将介绍相关的应用程序。基本上是基于TUI进行说明的,但也有一部分关于GUI的介绍。
涉及的主要版本为Linux内核2.6.18到写作时最新的Linux内核3.0注1。其中一部分还介绍了Red Hat Enterprise Linux 4(RHEL4:基于Linux内核2.6.9)的功能。示例代码已经在工作中经常使用的RHEL和任何用户都可以使用的Fedora、CentOS等中进行过严格测试。
本书不涉及Linux内核的实际安装和以算法等为主体的内容。
本书使用方法
本书可以按顺序依次阅读,另外由于每一节之间都是独立的,因此也可以从感兴趣的章节开始阅读。第1章介绍了内核的基础知识,如果是第一次接触内核,建议先学习第1章。本书在介绍已有功能时也加入了一些新的信息。相信即使是经验丰富的人也可以在本书中有新的发现,因此希望各位读者能够将本书从头到尾完整读一遍。本书还收录了一些作者珍藏的信息。详细内容请参见参考文献。

这本书怎么样?

点击星号为它评分!

平均评分 0 / 5. 投票数: 0

到目前为止还没有评分!成为第一位为此书评分。

资源下载
书名:Linux内核精髓: 精通Linux内核必会的75个绝技
作者: Munehiro IKEDA / Naohiro Ooiwa / Hiroshi Shimamoto / Akio Takebe / Masami Hiramatsu
译者:杨婷
出版社: 机械工业出版社华章公司
ISBN:9787111410492
豆瓣评分:7.0

评论0

请先