下载APP
关闭
讲堂
客户端下载
兑换中心
企业版
渠道合作
推荐作者

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

2019-02-04 倪朋飞
Linux性能优化实战
进入课程

讲述:冯永吉

时长05:34大小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 性能分析和调优的基本思路,并具体讲解,如何借助动态追踪等性能工具,分析并优化各种性能问题。同时,这本书也介绍了很多性能工具的使用方法,可以当作你性能优化过程的工具参考书。

最后,我还想再说一句,读书不在多,而在精。

今天我推荐的这些书,你可能或多或少都看过一部分,但这远远不够。要真正掌握它们的核心内容,不仅需要你理解书中讲解的内容,更需要你用大量实践来融汇贯通。

有些书,你可能会觉得很难啃下来,还不如现在层出不穷的新技术时髦。但要注意,这些内容都是基本不会过时的硬知识,多花点儿时间坚持啃下来,相信你一定会有巨大的收获。

© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
上一篇
32 | 答疑(四):阻塞、非阻塞 I/O 与同步、异步 I/O 的区别和联系
下一篇
33 | 关于 Linux 网络,你必须知道这些(上)
 写留言

精选留言(15)

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

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

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

    作者回复: 建议了解下

  • MJ
    2019-02-04
    3
    正在读深入理解计算机系统,每天10页
    展开

    作者回复: 👍 加油

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

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

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

    作者回复: 嗯呢

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

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

  • ninuxer
    2019-02-13
    1
    打卡day34
    开工,赶紧补补落下的课程,深入理解Linux内核架构和性能之巅已经开始啃了,需要很大的毅力啊~
    展开
  • Anker
    2019-02-12
    1
    性能之巅不错,作为工具书使用
    展开
  • 马殿军
    2019-02-04
    1
    很棒!
    展开
  • 辣椒
    2019-02-04
    1
    老师辛苦,大年三十还推专栏。列举的书都是经典,我虽然是做开发的,也想买来读一下

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

  • void *
    2019-04-10
    买了本性能之巅,摩拜下大神的巨作
    展开
  • 如果
    2019-03-20
    打卡
    展开
  • hbprotoss
    2019-02-24
    还好CSAPP这本书大学啃过😂
    展开
  • 我来也
    2019-02-05
    [D33打卡]
    这几本书里 《linux程序设计》很早之前就看了一遍,《深入 Linux 内核架构》很早就买了,但只看了其中部分章节。
    我看的书不多,老师提到的这篇文章里就有两本。😄这概率
    展开

    作者回复: 😄

  • JohnT3e
    2019-02-04
    看过三本,最后一本放入读书计划。谢谢分享
    展开