自学内容网 自学内容网

谁能跟我比操作系统?

哈喽,我是子牙老师
这两天《手写Linux内核之memblock》招生,总有学员问:你做的课程,《手写操作系统》、《实战Linux内核》、《手写Linux内核》,跟你后面要做的《手写Linux》,有什么区别呢?每次解释也麻烦,一两句话也讲不清,写篇短文详细说下吧

我先解释下这几门课

一、《手写操作系统》,其实就是基于计算机专业课《操作系统导论》+《计算机组成原理》写一个操作系统。大学学过这两门课程的应该都有这样的感觉:学的时候觉得自己特牛,动手能力是一点都没有,要是有人把这两门枯燥的没概念的课做成一个实战课就好了,于是我就做了这个课程

添加图片注释,不超过 140 字(可选)

手写操作系统我做了两个课程:手写x86单核操作系统、手写x64多核操作系统。写一个x64多核操作系统,国内大学甚至都没教,市面上的书也只有一本,而且写得巨复杂。得亏有ChatGPT,加我做x86单核操作系统的功底,加上我在滴水跟唐老师学过Windows内核跟CPU虚拟化,才能搞出来

如果你非计算机科班,强烈建议你学习下这门课,补下操作系统,不然你会发现你在学习跟工作过程中,遇到操作系统相关的术语、底层原理,是没有概念的,很难理解,学起来就很慢。当前录播,仅2000左右,视频+笔记+代码+1V1答疑

二、《实战Linux内核》,其实我做手写操作系统课程,就是奔着拿下Linux内核去的。事实证明,自己有能力写一个操作系统,自己写出一个操作系统,再去研究Linux内核,效率会高很多很多

市面上有那么多写Linux内核的书,讲Linux内核的视频,我为什么还做呢?因为我意识到,其实这些书跟视频,并不能让一个人学会Linux内核。基本都是给你讲原理、讲源码,连单步调试Linux内核的环境都不会教,更别提在Linux内核中做实验了

添加图片注释,不超过 140 字(可选)

在Linux内核中做实验

添加图片注释,不超过 140 字(可选)

其实我最开始没有想到要做《手写Linux内核》跟《手写Linux》,一个是误打误撞,一个是学员给的启发

因为我想把《实战Linux内核》做好,我就得透彻理解Linux内核的核心源码。而Linux内核本身非常复杂,包含很多子系统,各个子系统的代码交织在一起,非常难理解,尤其是内存子系统!所以我就想到在我自己写的操作系统上,把Linux内核中的代码抽出来,然后构造数据去测去理解。想着既然代码都写了,既然我通过这样的方式把Linux内核吃透了,干脆做成课程吧,这就是《实战Linux内核》的由来

我写的Linux内核物理内存管理系统:伙伴系统

添加图片注释,不超过 140 字(可选)

我写的Linux内核早期物理内存管理系统:memblock

添加图片注释,不超过 140 字(可选)

《手写Linux》又是什么玩意呢?就是实现Linux内核的用户态!

添加图片注释,不超过 140 字(可选)

今天我们所知的centOS、Ubuntu、红帽、Android、鸿蒙,都是这样的存在!

总结一下:

1、《手写操作系统》是基于计算机专业课《操作系统导论》《计算机组成原理》写的一个操作系统,这个操作系统跟Windows内核、Linux内核,是同一个维度的,跟它们只相似,没任何关系。你写任何操作系统,都要这么干。言外之意,你写了这个操作系统,你就具备搞懂任何操作系统的基础
2、《实战Linux内核》就是带你通过单步调试Linux内核+在Linux内核中做实验,帮助你理解Linux内核中的核心子系统:内存、进程、调度、文件系统、网络
3、《手写Linux内核》比《实战Linux内核》更深一层,会带你把Linux内核中的核心源码写出来,并带你透彻理解
4、《手写Linux》就是基于Linux内核实现它的用户态,你或者理解成手写centOS、手写ubuntu、手写Android就可以了
OK,讲清楚了!


原文地址:https://blog.csdn.net/b98982016/article/details/142816342

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!