给操作系统捋条线

374次阅读  |  发布于3年以前

前言

时隔四个多月,终于把 这个系列写完了,我把它们整合起来做成了这个 ,并命名为给操作系统捋条线。在写第一篇计算机启动的时候,我就说过想要通过 给操作系统的前前后后,里里外外捋一条线出来,让自己让大家都对操作系统有个清晰的认识。

可能有朋友还不知道 是个什么东西,都说 的 课程是学习操作系统的神级课程,而 就是其教学使用的操作系统。 这个系统本身很小,但麻雀虽小五脏俱全,基本的机制它都具备,用它来学习理清操作系统再好不过。从第一篇写到现在私以为把线捋得还是挺清楚的,有一个完整的逻辑闭环。在写之前我就有想过要用一条线一张图把操作系统各个方面给串起来,整个系列写完之后, 发觉有点异想天开了,尝试了很久没成功。

我分为了五个大的部分:启动,中断,文件系统,进程,控制台,其他部分比如说内存管理,锁等等都是分散在那五大部分里面。每个部分我都尽量细致到各个方面,并且附有详细的文字描述或者流程图

比如说启动流程图

再比如中断流程图

又比如读写文件的流程图

看着这些图感觉还行是吧,较为繁杂的部分基本都有类似的流程图,私以为将 捋得还是很顺很清楚的。《给操作系统捋条线》主要讲述了下面这些问题,看看你是否清楚:

计算机启动: 的计算机启动过程与常见的一些启动过程稍稍不同,主要是 和 揉在一起了,其他的没什么,比较常规,可能就是多处理器的情况可能大家不太熟悉,这一块大概有这么一些问题:

中断与系统调用:两者的过程差不太多,只不过一个中断源来源于外部,一个来源内部,在内核部分,两者的处理过程基本一样,这一块儿大概有这些问题:

文件系统: 将文件系统分为了 7 层,磁盘缓存日志目录路径文件描述符,大概有这些问题:

进程

内存管理:

锁:

控制台:

大概就这些吧,把这些问题捋清楚,那么对于操作系统的认识应该比较清楚了。

其实有自己的文档,我反复看过几遍,觉得其实不太适合上手阅读, 的文档只是讲述了一些重要部分,这不可避免的知识点分散。而我写的 系列文章大概涵盖了 的代码,重要部分,细节部分基本上完全覆盖,是真正地形成了一个完整详尽的逻辑闭环。

另外我也向诸位坦白地讲,本人的水平不高,其中的一些复杂机制我也不是太懂,比如说硬件部分,比如说锁的问题,再者有些机制为什么要这么设计,有什么好处,不这样设计行不行等等问题。关于 若略过一些细节只了解操作系统如何运作的,这件事还是很简单的,可一旦深入细节,多问自己几个为什么,一些看似简单的问题都可能变得很复杂,这似乎是自找麻烦,但学习不就是这样的吗?

对于《给操作系统捋条线》有什么问题还请批评指正,也欢迎大家来同我探讨学习交流,将其不断完善。最后, ......,这份资料确是我这几个月的心血,夜夜咖啡伴,头发根根掉,身体滑千丈,捋出一条线,若对大家却有帮助,还望关个注,在此拜谢。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8