如何学习Linux内核?该学习哪些方面的知识?谢谢!!!

我买了《深入理解Linux内核》这本书,看了前三章,可是看不懂,里边概念太抽象了,而且很多函数也不知道,感觉看得很艰难,请问高手:我该怎么样学习Linux内核?或者需要先看些什么书?是不是该编写程序?可又不会!很茫然!
谢谢!!!

最早接触inux是看了《linux操作系统实用教程》,98~99年的光景,学习了简单的操作和内核编译,那时候开始注意并学习内核。看的第一本是《Unix环境高级编程》,看了一部分没看完,开始对
if(!(p=fork()))
{
…………
}
else
{
……
}
结构恨意很疑惑,这和一般的应用程序逻辑相背,因此想搞明白内核在干什么,怎么干的。开始买了《操作系统设计与实现》,上下册,下册全是minix操作系统内核代码。它和linux完全不同的,一个是微内核,一个单内核。即便看懂了minix,linux也要从头看起,反之亦然。因此后来没钻进去。我看的第一本Linux内核书是李善平老师的《linux操作系统实验教程》,当时市面上关于内核的书很少,这本是讲2.0.35版的好像,似懂非懂。就开始边看边读源代码,间或看点操作系统原理的书,有不懂得在论坛上提问,这样慢慢琢磨,就有点懂了。现在比当时好多了,很多内核的书,各方面剖析得很详尽。不过要学懂,还是要:1、有好奇心和兴趣 2、看书、读代码,这样能够比较懂。要进一步提高的话还要学会修改内核。有以下书籍可以参考:
1、《linux内核完全剖析》0.11版内核
2、《深入理解linux内核》(1、2、3版) ,3个版本分别对应2.2、2.4、2.6版的内核。
3、《linux内核源代码情景分析》2.4.0版内核
4、《linux内核设计与实现》
5、《linux设备驱动程序》
温馨提示:内容为网友见解,仅供参考
第1个回答  2020-11-27
想要学好Linux,需要具备以下能力:
1. 基本功要扎实
学习任何一种语言,必备的基本功是必须要有的,一方面可以提高效率,另一方面可以拓宽思路。
对于Linux基本知识的学习,对一些初学者来说是枯燥乏味的,可以通过理解再背诵的方式先进行代码及语法的学习,然后进行实践操作,必须手动输入命令行,不要借助工具,这样可以更快速有效的掌握Linux。
2. 学以致用
Linux学习的目的是应用,Linux基本知识是一些零散的技术,当没有应用在项目上时,我们无法理解他的真实价值,所以打好基本功之后,最紧迫的是多做几个完整的项目,刚开始可以是功能简单的项目,之后可以选择稍微复杂的项目,勤于动手,敢于实践,一定能学好Linux。
3. 学会使用Linux联机帮助
任何一种教材都不会完全讲述Linux知识,一般讲的都是比较常用的或者是比较有代表性的知识,但是,我们在项目应用中往往有些功能的实现是需要一些生僻知识和技能的,那么,如何查找我们所需的知识呢,推荐查阅Linux帮助文档,主流的Linux都自带详细的帮助文档,很方便解决问题!
4. 在网上找资源
在Linux的学习和应用中,难免会遇到一些没有思路、不知道如何解决的问题,这时就要借助网络力量,可以通过搜索引擎搜索查找,也可以咨询资深技术人员,最终实现问题的解决,这是Linux知识积累的一个重要的途径!
5. 查阅英文技术文档
如果想深入学习Linux,查阅英文技术文档是十分必要的,往往最新的技术都是采用英文文档的方式发布的,而且更全面,因此,对于Linux人员来说,多看一些Linux技术文档,对于掌握前沿技术和加深知识是十分有必要的!
第2个回答  2011-10-27
您好。我觉得学习内核,首先需要对操作系统熟悉,能够熟练安装、操作linux,这些可能不是很难,就像你熟练操作windows一样;然后,需要掌握计算机操作系统原理;最后需要掌握c语言,因为linux的内核是C语言写的,所以你必须要熟练使用c语言。
以上是我个人的观点。
第3个回答  2019-11-22
可以先看 《操作系统原理》这本书。
第4个回答  2011-10-26
最好先看看 计算机操作系统
相似回答