《Linux内核完全剖析》读书笔记(一):前言

Linux 2018-04-26

起步

在读过Linux之父林纳斯自传的 《只是为了好玩》 ,他花半年时间完成 linux0.01 版本,那时候代码量只有 1 万行,而到 1.0 版本时候也才有 17 万行。这就让我萌生出阅读 linux 源码的兴趣了。

网上找了三本关于 linux 的设计和分析的书。其中我决定先阅读 《Linux内核完全注释》。这本书基于 0.12 的内核版本,代码量不算多,而且书中几乎所有代码都进行注解,是一本了解 linux 操作系统内核的入门读物。

早期版本的好处

0.12 版本显然不是 “珠穆朗玛峰”,但它肯定还是 “华山” 或 “泰山” 的级别。一样需要努力和一定的代价才能攀登上去。

早期版本的内核是所有新内核的一个精简版本。其中也包含了几乎所有的功能原理的内容。不足之处在于早期版本不包含对虚拟文件系统VFS的支持、对网络系统的支持。

20180426181325.png

林纳斯也说过,要理解一个软件系统的真正运行机制,一定要阅读其源代码。系统本身是一个完整的整体。0.12 版本大致有 2 万的代码量,麻雀虽小五脏俱全。也是林纳斯比较满意的内核版本。同时我也觉得这个版本比较合适自己当前的水平。

需要具备的基础知识

  • 一定的 C 语言基础;
  • Intel 32位 运行模式工作原理,寻址方式;
  • 一些Intel 汇编基础。

我的C语言基础读过C语言白皮书,读过 CPython 。汇编的话就只有大学时候的课程了,留着印象中也就只有 mov add jmp 了,看不懂的时候再查吧。

POSIX 标准

POSIX表示可移植操作系统接口(Portable Operation System Interface),主要是早期系统发展太快,分支版本之间相互竞争和不兼容越来越多。Linux作为一个从头开始研制的新操作系统,逐渐发展起来以后为了尽可能获得大量应用软件支持,也明智地选择了用POSIX作为API设计的标准。美国联邦信息处理标准规定联邦政府机构采购的产品必须符合POSIX标准。

小结

坚持下去,读完,后面还有几本等着呢。


本文由 hongweipeng 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

如果对您有用,您的支持将鼓励我继续创作!