我,子牙老师,一个手写过操作系统、编程语言、Java虚拟机、docker、Ubuntu系统,玩透Windows内核、Linux内核的…硬核男人
经常有学员问我:为什么要学Linux内核、学Linux内核有什么用、需要什么基础才能看懂Linux内核、Linux内核调试环境如何搭建、现在玩哪个Linux内核版本是主流、有没有书籍推荐、你觉得把Linux内核玩通了的标志是什么……
为什么要学Linux内核呢?我从自己的角度来说:其一、Linux内核是今天科技世界的地基:服务器70%用的是Linux系统、IOT经常用Android或直接Linux内核,Android内核用的是Linux内核、绝大多数车机系统用的是Linux内核、大模型100%用的是Linux系统…市场非常庞大,前途或钱途非常光明,拿下它的门槛又很高,能真正拿下的人极少,拿下了,就可以躺着赚钱,所以我才愿意花费巨大的时间与精力研究它。其二、实力的证明,Linux内核是全球所有TOP级别的程序员写出来的,软件架构、设计思想、代码水平,都是一绝,拿下它,不用言说,不会有人怀疑你的实力。其三、因为是全球所有TOP级别的程序员写的,所以阅读它的代码,是一种享受,能学到很多很多先进的思想与经验

学Linux内核有什么用?我觉得两个方面:**一、能提升你的技术实力、技术视野,从而提升你当前所处行业你能够到的天花板。**比如学Linux内核之前,你只能玩应用层,c、c++、汇编以下的,一点玩不了,或者勉强能玩,学完Linux内核,直到硬件层,随便玩。很多人只对升职加薪四个字敏感,能做到此,不就是升职加薪吗?但是升职加薪不会自动到你手上,你得去争。有实力,才有底气争啊!二、看你是否愿意相信,学会Linux内核,未来有机会,或者你运气好,遇到了机会,因为Linux内核在整个科技圈的应用太广了,处处皆是Linux内核

我不知道你可有过这样的感受:看到那些技术大拿受万人敬仰,心里会暗暗告诉自己,我也要成为这样的人;学习上或工作上遇到问题,自己的技术实力受限,下不去,需要讨好的问别人,心里暗暗告诉自己,与其求人不如求己,我要自己成为实力的拥有者……这些,都是我的曾经,所以今天,我成为了技术大牛。我今天的实力,在计算机的世界,我想玩什么就可以玩,想写什么就可以写,一切尽在掌控中的感觉…
需要什么基础才能玩转Linux内核呢?汇编、C语言、操作系统导论、计算机组成原理,缺一不可。外面那些汇编、C语言教程的水平,你学了达不到看懂Linux内核的要求,你需要精通汇编、C语言,并能将它们融会贯通才可以。你可以学习我讲的汇编、C语言视频,去我个人简介,获取
操作系统导论、计算机组成原理,是大学计算机系专业课,也是计算机考研408必考课。这两门课,光看视频是没用的,需要动手实战,最好的项目肯定是写一个操作系统,才能真正理解真正掌握这两门课。你也可以自己在外面找资料看,也可以学习我的99元的手写操作系统先导课,或者259元的纯汇编写操作系统课
99元的手写操作系统先导课:感兴趣的小伙伴可以去我个人简介,获取
259元的纯汇编写操作系统课:感兴趣的小伙伴可以去我个人简介,获取
Linux内核调试环境如何搭建?我给你全网最简单便捷的吧,gdb+clion,图形界面

如何搭建呢:
- 在Windows系统中安装虚拟机VMware,建议最新版,注册码自己去百度找
- 在虚拟机中安装Ubuntu16,一般玩底层都是这样玩
- 把Linux5.4.259内核的源码copy到Ubuntu16中,解压,编译
- 使用clion打开,调试模式运行Linux内核
- 配置clion+gdb,调试Linux内核
如何编译Linux内核呢?先安装依赖

再配置编译选项
改这几项即可
编译

当你看到这个界面,表示编译成功了

调试模式将Linux内核运行起来

下断点:init/main.c

使用clion启动gdb连接内核



大功告成!
玩哪个版本的Linux内核是主流?玩5.4的就够了
有没有书籍推荐?讲真,在做这个课程的时候,我把所有讲Linux内核的书都看了,实在话,没有特别好的
学通Linux内核的标志,我觉得有三个:
- 有能力动手编译Linux内核,单步调试Linux内核
- 有能力写Linux内核驱动代码做实验
- 有能力给Linux内核做扩展
编译Linux内核,单步调试Linux内核已经给你了,剩下的两个,你们自行研究吧,有的人说现在有AI了,不需要别人教,借助AI自己可以学会,大家也可以去试试
当然,如果你想快速学会,可以了解我的课程《实战Linux内核》

除了操作系统、Linux内核系列课程,我还做了很多底层课程

学底层,找子牙就对了!
705

被折叠的 条评论
为什么被折叠?



