极客时间已完结课程限时免费阅读

加餐(一) | 书单推荐:性能优化和Linux 系统原理

加餐(一) | 书单推荐:性能优化和Linux 系统原理-极客时间

加餐(一) | 书单推荐:性能优化和Linux 系统原理

讲述:冯永吉

时长05:36大小5.11M

你好,我是倪朋飞。欢迎来到 Linux 性能优化专栏的加餐时间。
之前,很多同学留言让我推荐一些性能优化以及 Linux 系统原理方面的书,今天我就和你分享一些我认为不错的书。
Linux 系统原理和性能优化涉及的面很广,相关的书籍自然也很多。学习咱们专栏,你先要了解 Linux 系统的工作原理,基于此,再去分析、理解各类性能瓶颈,最终找出方法、优化性能。围绕这几个方面,我来推荐一些相应书籍。

Linux 基础入门书籍:《鸟哥的 Linux 私房菜》

咱们专栏的目标是优化 Linux 系统以及在 Linux 上运行的软件性能。那么,第一步当然是要熟悉 Linux 本身。所以,我推荐的第一本书,正是小有名气的 Linux 系统入门书——《鸟哥的 Linux 私房菜》。
这本书以 CentOS 7 为例,介绍了 Linux 系统的基本使用和管理方法,主要内容包括系统安装、文件和目录操作、磁盘和文件系统管理、编辑器、Bash 以及 Linux 系统的管理维护等。这些内容都是 Linux 初学者需要掌握的基础知识,非常适合刚入门 Linux 系统的新手。
当然,掌握这些基础知识,其实也是学习咱们专栏的基本门槛。比如,我在很多案例里提到的软件包的安装、Bash 命令的运行、grep 和 awk 等基本命令的使用、文档的查询方法等,这本书都有涉及。
另外,这本书的大部分内容,还可以在其繁体中文官方网站上在线学习。

计算机原理书籍:《深入理解计算机系统》

掌握 Linux 基础后,接下来就该进一步理解计算机系统的工作原理。所以,我推荐的第二本书,正是计算机系统原理的经典黑皮书——《深入理解计算机系统》。
这也是一本经典的计算机学科入门教材,它的英文版名称“Computer Systems: A Programmer’s Perspective”,其实更能体现本书的核心,即从开发者的角度来理解计算机系统。
这本书介绍了计算机系统最基本的工作原理,内容比较广泛。它主要包括信息的计算机表示,程序的编译、链接及运行,处理器体系结构,虚拟内存,存储系统 I/O,网络以及并发等内容。
书本身比较厚,内容也比较多,但作为一本优秀的入门书籍,这本书介绍的各个知识点虽然有点偏向于编程和系统底层,但并不会过于深入这些,对初学者来说非常合适。
此外,这本书的官方网站上还提供了丰富的资源,可以帮你进一步理解、深入书里的内容,还提供了多个实验操作,助你加深掌握。

Linux 编程书籍:《Linux 程序设计》和《UNIX 环境高级编程》

介绍完计算机系统工作原理的书籍,接下来,我要推荐的是编程相关的两本书,分别是《Linux 程序设计》和《UNIX 环境高级编程》。
之所以要推荐编程书籍,是因为优化性能的过程中,理解应用程序的执行逻辑至关重要。而要做到这一点,编程基础就是刚需。
我推荐的这两本书中,《Linux 程序设计》主要针对 Linux 系统中的应用程序开发,是一本入门书籍,内容包括 SHELL、标准库、数据库、多进程、进程间通信、套接字以及图像界面等。
《UNIX 环境高级编程》则被誉为 UNIX 编程圣经,是深入 UNIX 环境(包括 Linux)编程的必读书籍。主要内容包括标准库、文件 I/O、进程控制、多进程和进程间通信、多线程以及高级 I/O 等,这些内容都是开发高性能、高可靠应用程序的必备基础。
这两本书籍,可以让你更清楚 Linux 系统以及应用程序的执行过程,甚至在必要时帮你更好地理解应用程序乃至内核的源代码。

Linux 内核书籍:《深入 Linux 内核架构》

为了方便你学习和运用,我们专栏内容都是从 Linux 系统的原理出发,借助系统内置或外部安装的各类工具,找出瓶颈所在。所以,理解 Linux 系统原理也是我们的重点,同时,了解内核架构,也可以帮助你分析清楚瓶颈为什么发生。
所以,我推荐的第五本,就是关于 Linux 内核原理的一本书籍——《深入 Linux 内核架构》。这是一本大块头,涉及了 Linux 内核中的进程管理、内存管理、文件系统、磁盘、网络、设备驱动、时钟等大量知识。书中还引用了大量 Linux 内核的源码(内核版本为 2.6.24,虽然有些老,但不影响你理解原理),帮你透彻掌握相关知识点。
如果你是第一次读这本书,不要因为厚厚的页码或者部分内容看不懂就放弃。换个时间重新来看,你会有不同的发现。

性能优化书籍:《性能之巅:洞悉系统、企业与云计算》

最后一本,是我曾在 Linux 性能优化答疑(二)中提到过的《性能之巅:洞悉系统、企业与云计算》。
这本书,堪称 Linux 性能优化最权威的一本书,而作者 Brendan Gregg ,也是很多我们熟悉的性能优化工具和方法的开创者。
书里主要提供了 Linux 性能分析和调优的基本思路,并具体讲解,如何借助动态追踪等性能工具,分析并优化各种性能问题。同时,这本书也介绍了很多性能工具的使用方法,可以当作你性能优化过程的工具参考书。
最后,我还想再说一句,读书不在多,而在精。
今天我推荐的这些书,你可能或多或少都看过一部分,但这远远不够。要真正掌握它们的核心内容,不仅需要你理解书中讲解的内容,更需要你用大量实践来融汇贯通。
有些书,你可能会觉得很难啃下来,还不如现在层出不穷的新技术时髦。但要注意,这些内容都是基本不会过时的硬知识,多花点儿时间坚持啃下来,相信你一定会有巨大的收获。
分享给需要的人,Ta购买本课程,你将得20
生成海报并分享

赞 34

提建议

上一篇
58 | 答疑(六):容器冷启动如何性能分析?
下一篇
加餐(二) | 书单推荐:网络原理和 Linux 内核实现
unpreview
 写留言

精选留言(24)

  • hola
    2019-02-23
    花了一周,每天下班晚上追,晚上终于追到这里来了。 关于深入理解计算机系统这本书,我建议不要完全按照目录顺序阅读,这样会容易从入门到放弃。 可以从后面几章开始阅读,前面几张是偏操作系统硬件层面,后面是偏操作系统软件层面,更贴近我们平时的了解。比如系统级IO,网络编程等等

    作者回复: 嗯呢

    15
  • dahey
    2019-02-04
    谢谢老师推荐的书籍,虽然这几本我差不多都买了纸质书,但是深入理解计算机系统是真的难啃😢

    作者回复: 可以先把跟手头工作相关的部分啃下来,其他再慢慢来,这样效果更好

    共 2 条评论
    13
  • MJ
    2019-02-04
    正在读深入理解计算机系统,每天10页

    作者回复: 👍 加油

    7
  • crane
    2019-02-04
    这些书DBA有必须都看吗?

    作者回复: 建议了解下

    6
  • 大坏狐狸
    2019-02-14
    老师,我这个人比较笨,比如linux 鸟哥私房菜 服务器架设篇-- 那么厚的书,我是要读完这一本再读下一本,还是交叉的学习呢。

    作者回复: 这个看你的安排和学习习惯吧。我一般是看情况,有时间的化就按照书籍系统学习,但如果只对某个主题感兴趣,那就找几本相关书交叉学习。

    5
  • 辣椒
    2019-02-04
    老师辛苦,大年三十还推专栏。列举的书都是经典,我虽然是做开发的,也想买来读一下

    作者回复: 👍 这些都是开发必读的

    3
  • 2xshu
    2019-02-04
    哎呀呀,准备起来看网络呢。结果没更新

    作者回复: 现在已经更新两篇了

    3
  • ninuxer
    2019-02-13
    打卡day34 开工,赶紧补补落下的课程,深入理解Linux内核架构和性能之巅已经开始啃了,需要很大的毅力啊~
    2
  • KimiZhou
    2019-08-22
    谢谢老师的推荐。最近在解决一个多媒体服务进程的性能瓶颈问题,参考了老师推荐的一些方法,的确给了我很多指导和启发。谢谢~

    作者回复: 😊

    1
  • void *
    2019-04-10
    买了本性能之巅,摩拜下大神的巨作
    1
  • Dale
    2019-02-12
    性能之巅不错,作为工具书使用
    1
  • 马殿军
    2019-02-04
    很棒!
    1
  • maoxiajun
    2023-01-12 来自上海
    打卡
  • 无咎
    2022-09-15 来自广东
    建议搞的豆瓣的图书豆列。
  • Geek_0c1732
    2022-05-16
    学这些要会C吗
  • TomShine
    2021-08-14
    推荐的书都不错
  • aoe
    2020-10-13
    感谢老师推荐,找到对的书也是力气活。
  • 忆水寒
    2020-03-24
    晚来了一年了,该课程有很大收获。
  • bin.chen
    2020-02-25
    这么多书,边学边实践才能有所提高,书太多,怕自己坚持不下来
  • ~尘曦~
    2019-08-18
    深入理解Linux内核架构 里面有些C代码还是比较晕的