之前一段时间对linux非常感兴趣,于是疯狂找资料来学习,在学习的过程中发现这个东西说实话不太简单,门槛肯定是有的redhat linux下载,坑也有不少。我刚开始学习的是linux驱动开发,越学越发现似乎需要先了解linux的内核才能更好地理解驱动的代码。于是就先把驱动丢一边啃起了linux内核。但是问题又来了linux内核完全注释 pdf,linux发展到现在,内核已经有许多个版本,代码量也愈发庞大,到底从哪个版本开始学呢?我个人认为,既然要学习linux内核就要学它的精髓,而那些版本比较新的linux添加了各种复杂的驱动和算法,这些东西肯定会成为我钻研内核路上的绊脚石,而且不管是哪个版本,越是基础越是早期的东西就越应该是相通的。另一方面,既然是学习肯定需要查阅各种资料,那么linux各版本内核资料的多少又是一个决定性因素。综上考虑,linux0.11是一个很好的选择。
从我的学习历程和踩过的坑来看,学习linux0.11内核我强烈推荐大家去上哈工大李志军老师的网课,这门课程是免费的,在MOOC慕课网上可以直接学习。
这门课程可以说是以linux0.11版本源码为蓝本,将操作系统的各个关键知识知识点进行代码级的剖析,比某些老师照着PPT念强100倍。另一方面这门课程对应的实验课也可以在网上自主完成,大家可以访问实验楼网站,李志军安排的9个实验都可以在这里进行,省去了繁杂的环境搭建过程,并且实验楼提供了每个实验的引导,完成实验后的实验报告也可以进行分享,从而能够看见其他学员的实验过程、结果和感悟从而得到一定的启发。
李志军老师还出了一本书《操作系统原理、实现与实践》,这本书对linux0.11的方方面面讲解得非常详细,配合视频阅读node.js安装linux,效果非常好。
当然,阅读linux0.11源码肯定少不了赵炯博士的神书《linux内核完全剖析》,这本书不仅对linux内核的各个模块进行专题讲解,还对源码进行来了逐句解读,肯定会成为你学习路上的最好的无言导师。
另外,由于早期的linux0.11内核是基于x86架构写的,因此了解x86架构下的8086/286/386系列CPU的特性至关重要linux内核完全注释 pdf,例如内核的指令集和中断管理、上电启动过程中的内存分布以及实模式与保护模式下的异同辨析和指令区别等这些都是很基础却又至关重要的东西。推荐大家阅读下《x86汇编语言从实模式到保护模式》。
最后给大家安利一本学习汇编语言的书,因为linxu操作系统中包括启动代码以及涉及底层硬件操作的都是用汇编写的,因此x86汇编也是必须了解的,推荐学习王爽老师的《汇编语言》,这本书对于枯燥指令的讲解可以说是深入浅出循循善诱,然后读完一章还想接着读,爱不释手。