本专栏就是为了记录从一个普通开发的视角去学习操作系统基础知识的过程,其中的“笨”开发就是指作者我

面向的用户

  1. 可能没有系统学习过操作系统的基础知识,或是大学学了之后就忘了
  2. 常年的业务开发,却没有怎么了解操作系统相关的知识
  3. 看了操作系统的书就觉得困,觉得无法继续坚持

如果你和曾经的我一样,也有这样的问题,那么我觉得份专栏应该会对你有用。

学习的角度

我将从一个”笨”开发的学习视角让你从一个不一样的角度来学习操作系统的知识,我尽可能的做到简单易懂并且能联系实际,让知识本身不过于枯燥。

其实对于很多业务开发的工程师来说,操作系统是经常打交道的,但是一旦学习起来就会发现,它的知识大多是无法在实际的生产马上发挥作用的,对于这种及时正反馈很差的知识来说,学习起来就会变得很困难。

于是我就在学习的过程中开始整理,将学习的知识尽可能的联系我们的业务,或是代码的设计,或者是中间件的使用,从其他方面着手去理解和学习这些知识。希望我整理的整个学习过程和思路可以帮到准备开始迈出第一步的你。

广度和深度

作为一个普通的开发者,我觉得,对于操作系统来说,如果你不是做内核开发或是运维开发,或是嵌入式开发,总之如果你更多的是和业务打交道,那么操作系统的知识没必要了解的非常深入。当然这只是个人理解,因为毕竟也有人认为只有基础牢固,后面盖房子才不会倒塌。

所以我很多知识我都是浅浅的踩一脚,知道这个水有多深,这样之后在操作系统的海洋里面游泳就不会被直接淹没。

依赖的教材

首先请暂时放下你的 CSAPP ,我也有这本书,但是啃下来真的太难太难了,所以这次我选择了一些别的教程和材料,这样可能不会让我们直接丧失信心。

以下这些材料在后续的使用中也会提到,你可以选择性的边看边学: