大家好,我是飞哥!
最近工作比较忙,所以好几周都没顾上更新公众号。这个周末终于抽出一点时间,来和大家聊聊新书的事情。目前咱们的新书《深入理解Linux进程与内存》已经进入到最后的印刷阶段了。
先说下为什么我要写这么一本书。我们国内大部分的开发者和公司都是从事应用层的开发,平时大家更多关注的是应用层的开发技术。
但应用层是建立在CPU内存硬件、操作系统内核、语言运行时等底层基础之上的。如果缺乏对这些底层的理解,驾驭技术的能力就无法精进。也很难开发出高性能、高稳定性的应用。
类比到赛车,如果一名赛车手做不到对发动机、变速器、制动系统、甚至是空气动力学有足够的理解,那么他也很难成为一名优秀的赛车手。
所以我又把用一本新书把之前写《深入理解Linux网络》时没有涉及到的 CPU、内存等方面的知识又给大家系统地梳理成了一本新书。
该书主要包括对CPU内存硬件、进程创建和调度原理、虚拟内存底层机制、Golang用户态协程实现、容器cgroup资源限制以及throttle、CPU利用率负载等性能指标统计原理、以及各种性能优化手段。
目前咱们这本新书的封面已经出来了。
一般一本新书的出版的流程需要经历几个阶段
先是内容规划和初稿。我在 2022 年出版完《深入理解Linux网络》后,就有想法开始再写写CPU和内存方面的书。原因是CPU和内存其实更为重要。所以之后很多技术文章都在朝这个方向迁移。最终到 2023 年 11 月的时候。我的新书规划和初稿就完成的差不多了。
三审三校阶段。书的出版非常的正式,所以在出版流程上也卡的很严。需要经历三轮审核和校对,每一轮出版社都会提出一些修改意见,我会和出版社老师针对每一条修改意见进行斟酌,再决定是否要修改。有的修改比较小,有的修改,比如一个专业术语的修改,可能修改范围涉及到好记章的范围,改动点比较多。
最后收尾阶段。这个阶段主要是排版、书名的确定,版号的申请(出版书的一大成本就是版号,一个版号需要几万块钱),以及最后封面的设计。这次的新书比上一本要厚的多,上一本是360多页,这一次新版是560页,整整多了200页,内容的丰富度相当的充实。
这次咱们新书的封面还是延续上次的风格。用卡通调皮的风格表达内核中进程调度器的核心原理。和上次一样,我还是准备了几千份的签名版。签名过程是出版社会寄给我一些专用签名纸,我在每一页中都签上名字。最后签名纸会在印刷厂进入到装订阶段后装订到每一本书中。下个周末我估计整个周末都得用来签名了~~~
另外还就是有不少读者朋友关心新书的目录,我刚给大家整理了一下。全书目录主要如下。
该书目录的编排整体脉络是:
先介绍CPU、内存的硬件原理。原因是CPU、内存中的硬件参数对软件性能影响非常大,所以这块是基础。
再绍进程和线程的关系,以及它们是如何创建出来的。这对大家理解手头写的程序的执行过程非常有好处。
接着讲述进程使用内存的方式。先是从内存的初始化讲起,再过度到栈内存、堆内存的工作原理。
进程调度器是非常重要的一章。因为进程只有被调度到的时候才是真正在执行。
再就是介绍了现在很火的协程,以golang为例介绍了协程的内部机制。
再往下是现在云原生里的基石,PID命令空间、CPU CGroup、内存CGroup的底层实现
最后就是性能相关的部分,各种调用是如何消耗性能的,性能指标又该如何观测,常见的性能优化手段又有哪些。
这本书倾注了我很多的心血。希望能再一次带领大家提升内功,提高驾驭技术的能力。
等印刷出来上市的时候我会在公众号发文。还没我微信的同学加我的信号 zhangyanfei748528,我到时候也会在朋友圈发布消息。
大家还有啥关于新书关注的问题,可在文下的留言区给我留言。