对于技术人来说,你的工作多少离不开 Linux,回想你用的 Google 搜索,淘宝购物,用 QQ、微信聊天的时候,这些软件和服务的背后,都是成千上万 Linux 服务器在支撑。
无数优秀软件,比如数据库 MySQL、消息队列 RabbitMQ、大数据 Hadoop 等,都运行在 Linux 上。可以说,在编程世界中,Linux 就是主流。
Linux 操作系统需要处理多种基本事务,比如管理与配置内存、操作网络与管理文件系统等,还要负责调度执行所有的用户程序,使计算机完成特定的任务,可谓是计算机的“大管家”,重要程度自然不用多说。
对软件工程师来说,如果你无法熟练地操作 Linux,基本上等于少了一半的功力,也少了一半的机会。
我做开发那会儿就发现,越是高薪工作,对操作底层原理的考量越明显。可是很多人在学习过程中很容易迷路,主要有下面两个原因:
1、操作系统涉及方方面面的知识,包括数据结构与算法、计算机组成原理、网络协议、编译原理等等 CS 专业的硬核知识,可以说是最复杂的软件系统;
2、理解操作系统需要理论与实践深度结合,很多具体的编程问题,比如并发、网络编程、性能调优等等,都需要你理解操作系统的工作原理。
最近我看到一个操作系统相关的故事,感觉很有意思:假设我们在做一家外包公司,目标是把这家公司做上市,其中,操作系统可以看做这家外包公司的老板,把公司做上市的过程就是 Linux 操作系统的工作流程,涉及到的知识点都串联在下面这张图里了。
这一系列操作系统“故事”,出自专栏《趣谈 Linux 操作系统》,作者是刘超,他是网易杭州研究院云计算技术部首席架构师,QCon2019 广州专题出品人,有着 15 年云计算领域研发及架构经验,出版过《Lucene 应用开发解密》。
之前刘超还写过一个《趣谈网络协议》专栏,48000+的订阅量,写得通俗易懂,口碑很好,而这个《趣谈 Linux 操作系统》可以算是兄弟篇,上线之后也备受好评,现在订阅量有26000+了。
第一个特色是“趣谈”。刘超通过故事化的方式,把枯燥的基础知识结合场景,生动具体的讲述出来了,来帮你加深理解、巩固记忆、夯实基础。他延伸了这家外包公司的故事,把它的发展分为几个阶段,并在专栏详细地逐一给你讲解。 第二个特色是“图解”。所谓“一图胜千言”,专栏通过图谱的方式,把 Linux 复杂的概念、数据结构、流程表现出来,用一张图串起一篇文章的知识点。如果你能把这些图都掌握,你的知识就会形成体系和连接,在此基础上再进行深入学习,就会如鱼得水、易如反掌。