【该文章知识来源《极客时间刘超老师-趣谈Linux操作系统》向大神致敬。
趣谈Linux操作系统(极客时间)链接:
http://gk.link/a/10iXZ
欢迎大家来一起交流学习,一起探索Linux内核的奥秘,一起修炼硬本领,升职加薪。哈哈】
目录
1.为什么要学习Linux操作系统
无论是从个人的职业发展角度,还是从公司招聘候选人的角度来看,扎实的基础知识是很多人的诉求。
底层需求,社会现状:拥有扎实的基础知识的程序员才能立于社会之林,所以我们要不断深入,反复研究学习Linux内核,打磨自己的硬本领,为社会贡献自己一份力量。
同志们,Linux内核基础知识这条道路要坚持走下去。
2.我们学习Linux内核的什么
研究 Linux 内核代码,你能学到数据结构与设计模式的落地实践。学习每个模块的内核框架,熟能生巧,举一反三,应用到我们日常工作中,创造社会价值。
3.“趣谈 Linux 操作系统”专栏设计理念
在设计“趣谈 Linux 操作系统”专栏的时候,我主要秉承两大原则,希望能够帮你打开 Linux 操作系统这扇门。
第一个原则仍然是“趣谈”。
我希望通过故事化的方式,将枯燥的基础知识结合某个场景,给你生动、具象地讲述出来,帮你加深理解、巩固记忆、夯实基础。
架构师就是牛逼,认知水平极高,把抽象宏观的Linux操作系统,简化成通俗易懂的东西,这点我们要好好学习。
鉴于操作系统这个“大管家”的角色,我设计了一个故事,将各个知识点串起来,来帮助你理解和记忆。假设,我们现在就是在做一家外包公司,我们的目标是把这家公司做上市。其中,操作系统就是这家外包公司的老板。
我们把这家公司的发展阶段分为这样几个时期:
初创期:这个老板基于开放的营商环境(x86 体系结构),创办一家外包公司(系统的启动)。因为一开始没有其他员工,老板需要亲自接项目(实模式)。
发展期:公司慢慢做大,项目越接越多(保护模式、多进程),为了管理各个外包项目,建立了项目管理体系(进程管理)、会议室管理体系(内存管理)、文档资料管理系统(文件系统)、售前售后体系(输入输出设备管理)。
壮大期:公司越来越牛,开始促进内部项目的合作(进程间通信)和外部公司合作(网络通信)。
集团化:公司的业务越来越多,会成立多家子公司(虚拟化),或者鼓励内部创业(容器化),这个时候公司就变成了集团。大管家的调度能力不再局限于一家公司,而是集团公司(Linux 集群),从而成功上市(从单机操作系统到数据中心操作系统)
第二个原则就是图解。
Linux 操作系统中的概念非常多,数据结构也很多,流程也复杂,一般人在学习的过程中很容易迷路。所谓“一图胜千言”,我希望能够通过图的方式,将这些复杂的概念、数据结构、流程表现出来,争取用一张图串起一篇文章的知识点。最终,整个专栏下来,你如果能把这些图都掌握了,你的知识就会形成体系和连接。在此基础上再进行深入学习,就会如鱼得水、易如反掌。
建立自己的知识宫殿。
例如,这张图就表示了文件操作在各个层的数据结构的关联。只要你学完之后,能对着这张图将它们之间的关系讲清楚,对于文件系统的部分,你就会了然于心了。