gitbook/趣谈Linux操作系统/docs/130518.md
2022-09-03 22:05:03 +08:00

86 lines
7.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 结束语 | 永远别轻视任何技术,也永远别轻视自己
你好我是刘超。又一次时隔5个多月“趣谈Linux操作系统”专栏终于结束了。
之所以说“终于”二字是因为这门课实在是太硬核了。写作的过程中几乎每篇文章都超长。极客时间的要求是每篇3000字左右而这个专栏差不多每篇6000字左右。我之前规划好的很多主题本来写一篇最后都变成了上、中、下三篇。最终在我十分“搂着”的情况下这个专栏从最初计划的52篇扩展到67篇。
说实话,写完这个专栏,我觉得我自身实现了一定的升华,这其中真的产生了非常多的感悟,我在这里跟你分享一下。
## 第一,永远敬畏技术,坚持不懈,持续深耕
当极客时间想让我再写一个基础知识专栏的时候我很快就想到了Linux操作系统。
毕竟我平时几乎天天和Linux操作系统打交道。安装、运维、调优从操作到内核原理从来没有放下过按理来说写一个专栏趣谈一下应该不是问题。
于是,我很快构建了一个创业公司的故事大纲,和编辑做好了课程设计,写出了各节的标题,觉得不用太长,就能写清楚。刚开始写前几篇的时候,还没有涉及内核代码的解读,感觉一切可控,该说原理说原理,该讲故事讲故事。
可是,真的到了后面硬核的内核代码部分,我发现,写起来和想起来完全是两码事。
我个人特别喜欢读优秀的开源软件代码,从中可以学习原理。我一度认为,只要是给我代码看,我还能搞不定原理?毕竟自己原来也跟过内核代码的流程,写专栏按说应该驾轻就熟。但是我发现,内核代码的变化超出我的想象,我自己也迷失在代码的汪洋大海里面了……
内核代码分析特别像走迷宫通关有时候你觉得自己进入了一个房间左看右看也就这么多内容了刚刚欣喜一把就会突然发现角落里有个门打开以后很可能是一个更大的房间。最终就算通了关你也无法保证你能够看到整个全貌。这不由得让我对Linux内核更加敬畏也对技术更加敬畏。
任何一个开源软件,以当前的快速迭代速度,如果三年没碰,肯定面目全非;五年没碰,你就当自己不懂就行了。所以,对于开源软件,千万不要当下能用就好,完全不管原理。那些面试官问你开源软件背后的机制,这不是故意刁难,也不是“面试造航母,上班拧螺丝”,因为在大规模复杂场景下,无论如何重视基座的稳定,都是不过分的。
永远敬畏技术,别轻视技术,你轻视它。它就会静静地看着你,直到某一个时刻给你当头一棒,而且,这一刻来得越晚,这一棒就会打得越狠,打得你爬不起来。
在工作中,当架构的系统因为长期忽略技术被“打倒”的时候,很多人期盼有一个电视里面的老中医,哪怕你一生都不爱惜身体,他也能一副药妙手回春。其实世界上哪有风清扬,令狐冲走投无路,被他指点几招就能秒杀田伯光,做技术要像郭靖练习功夫,先练个十八年马步,再一掌一掌地劈下去。
## 第二,对自己狠一点,发现还是有潜力可挖
写这个专栏虽然很辛苦,但是,我很庆幸,自己还是咬着牙完成了。我不敢保证这个专栏一定是最全面的,也不敢保证里面的一定毫无错漏,但是我敢说,专栏每一节的论述都是有佐证和凭据的。因为除了看代码,我还看了大量的参考书。我在云盘里专门建立了一个单独的文件夹,里面放了我平时写专栏的参考资料,方便随时随地查询。
有的时候,弄清楚一个知识点的内容,就像打开迷宫中一扇门,里面不是一个房间,而是一片草原,需要看几本书才能搞定。那怎么办呢?不服就干呗!
于是磕磕绊绊坚持写完整个专栏。当我再次打开那个文件夹的时候我发现我竟然看了这么多书。数了一下总共32本书。我在这里列一下骄傲一把。
```
《自己动手写操作系统》
《UNIX 环境高级编程》
《一个操作系统的实现》
《系统虚拟化原理与实现》
《深入理解Linux虚拟内存管理》
《深入理解Linux内核》
《深入Linux内核架构》
《穿越计算机的迷雾》
《程序员的自我修养:链接、装载与库》
《操作系统真象还原》
《操作系统设计与实现》
《x86汇编语言从实模式到保护模式》
《linux内核设计的艺术图解》
《Linux设备驱动开发详解》
《Linux内核完全注释》
《Linux内核设计与实现》
《Linux多线程服务端编程》
《Linux 内核分析及编程》
《IBM PC汇编语言程序设计》
《深入理解计算机系统》
《性能之巅:洞悉系统、企业与云计算》
《Linux内核协议栈源代码解析》
《UNIX网络编程》
《Linux/UNIX系统编程手册》
《深入Linux设备驱动程序内核机制》
《深入理解Linux驱动程序设计》
《Linux Device Drivers》
《TCP/IP详解卷》
《The TCP/IP Guide》
《深入理解LINUX网络技术内幕》
《Linux内核源代码情景分析》
《UNIX/Linux系统管理技术手册》
```
现在如果你问我,操作系统这么多人都在讲,学你这个专栏还有啥用,我可以自豪地说,我没有做啥“原创”的事情。你也同样可以选择将上面的书看完,然后对照着自己去解读最新的代码。你自己想想,觉得哪个选择更好呢?
很多读者留言说,读这个专栏非常吃力,难以坚持下去。我想说的是,别轻言放弃,逼自己一把,就像我逼自己咬牙看上面的那些书一样,你会发现自己潜力无穷。
当然,“逼”自己,也是要讲究方法的。如果你基础比较好,你可以在上下班路上听一听,作为复习巩固。对于真正解析流程和数据结构的那些章节,建议你还是坐下来拿着笔边记边读;对于里面的程序,还有课后练习,也不要偷懒,建议你全部做一下,才会有上手的感觉。
一遍看不懂,那就多看几遍。我这里推荐一种方式,你可以先从头到尾看一遍,看到总结的部分,将总结的图拿出来,每一节都打印成一张纸,对着流程从头再看一遍,最后把这些纸订成一个手册,这样就会好很多。
每当你坚持不下去的时候你可以想一想这门课一共60节课也就60个图啃下来这些就能掌握操作系统也不算难吧
你看,我都逼了自己一把,激发出来了一点潜力,写完了这个巨硬核的专栏,你要不要也逼自己一把呢?加油啊,愿我们能一起每日精进!
最后,我在这里放了一个[毕业调查问卷](https://jinshuju.net/f/t3epe1)。如果你对这个专栏或者我本人有什么建议,可以通过这个问卷进行反馈,我一定会认真查看每一封的内容。期待你的反馈!