Linux教程

linux内核学习的非必要性

本文主要是介绍linux内核学习的非必要性,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

在这里插入图片描述
这本《深入Linux内核》相信很多程序员的书柜上都有这本书,但是真正能够啃完理解其中技术的在我看来可能少之又少,不知道有没有它书籍销量的百分之一。

这里我不禁就产生了一个疑问:Linux内核是不是需要大多数程序员都去了解学习?

对于本身正在从事或就要从事内核开发的人来说,这个当然不是一个问题。但是对于那些用户态写server的人,学内核的目的是什么,学到的知识能不能/要不要/如何用到日常开发中,这是值得思考的。

所以你是为什么要去学习Linux内核的?

我学习Linux内核一个原因是目前在工作上需要掌握内核相关的知识。系统移植升级,性能优化,软硬件裁剪,客制化,安全加强,基础软件trouble shooting,都需要对Linux尤其是内核有一定的掌握。但最重要的还是掌握内核能让我看问题看的更深刻。

当然这是很清楚自己的需求,对于Linux内核自己有明确的学习技术提升点。但是不可否认的是也有不少的朋友,只是单纯的觉得这个玩意儿很厉害,我要去学学看。但是可能对于自己的工作及技术方向的提升作用微乎其微,反而半懂不懂徒增自己的烦恼,打击自己的自信心。

1.那需要Linux内核,我们需要提前准备哪些知识点?
在这里插入图片描述
2.其次我们需要了解Linux内核的特点:

结合了unix操作系统的一些基础概念
在这里插入图片描述

在这里插入图片描述
3.Linux主要学习的技术点是什么?

内存管理

  • 内存原理
  • 虚拟内存
  • 内存系统调用

设备驱动

  • 设备子系统
  • Linux设备模型
  • 字符设备驱动
  • 块设备驱动
  • 网卡设备驱动
  • 蓝牙子系统

网络

  • 网络基础架构
  • 网络协议栈
  • 系统API调用

文件系统

  • 虚拟文件系统VFS
  • 磁盘文件系统
  • 用户空间系统

至少我们在学习之前至少我们是需要明白,对于这个技术内容的简单概述,它所提供的内容是不是我们所需要的。

如果逢人就推荐阅读 Linux 内核源码,就像向每个学数据结构的人推荐 TAOCP 一样,是中文网络上特有的现象,这种情况是很无语的。现在的不少面试官也是,明明在公司的所有项目都用不到半点的技术内容,还拿在面试过程中,重点考核,就很无语~

所以,学习还是不要盲目,事倍功半的事可不好想!

最后,给合适学习及想学习Linux内核的朋友推荐一些资料:

Linux内核本身的代码量是十分庞大的,如果你不是内核狂热者,建议还是从前人的总结中去学习提升。

书籍

入门:《Linux内核设计与实现》、《奔跑吧linux内核:入门篇》
在这里插入图片描述

《Linux内核设计与实现》是五星推荐,作为一个初学者而言,如何刚开始就接触《深入理解Linux内核》的话,不夸张的说,可能会打击到自己的学习积极性。而这本《Linux内核设计与实现》就特别合适初学者,全书300多页,但是技术点却很全面。

进阶:《深入理解Linux内核》
在这里插入图片描述

作为一名中高级Linux内核开发者的话,这本《深入理解Linux内核》永远不是绕不过的一道坎。
这本书写的很全面,基本上涉及了linux内核所有核心的内容。可以说是必看!但是正如我在文章开始所说,往往买了就是劝退。如果能真正学下来,那收获还是十分丰厚的。

视频教程

关于Linux内核的视频教程网上有很多,但是大家搜过的都知道,很多都是入门级别的,能够深入的讲解Linux内核的视频很少。这里就不做推荐了。

最后

书籍视频看的再多,自己不动手的话,也不会有什么效果,分享给大家一些我的Linux学习笔记参考
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这篇关于linux内核学习的非必要性的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!