当前位置: 技术问答>linux和unix
学习LINUX内核有效方法
来源: 互联网 发布时间:2016-09-13
本文导语: 学习Linux内核真的很困扰新手,不知道从何学起,有人说自上而下一遍再自下而上一遍估计就差不多有个大概,这样行吗?另外大家有借助什么工具来辅助学习吗,比如用source insight来看有中文注释的内核文档...
学习Linux内核真的很困扰新手,不知道从何学起,有人说自上而下一遍再自下而上一遍估计就差不多有个大概,这样行吗?另外大家有借助什么工具来辅助学习吗,比如用source insight来看有中文注释的内核文档?
请各位前辈分享一下自己的经历,谢谢!
请各位前辈分享一下自己的经历,谢谢!
|
不知道我的想法对不对,不过我一直都这样做,只要适合自己,那就是最好的。
个人之见,如果是一个内核爱好者的话,那么请选择楼主兴趣的模块去研究一下吧,没有必要也没有这个能力去把整个内核都研究。我想,就连Linux内核开发者与维护者都只能对自己负责的模块有较深的理解,对于不是自己方向的模块,能知道是什么意思,在本模块需要相关的接口、数据结构时会用、用得好就可以了。他们都不能把整个Linux内核通吃,更何况我们这些小儿。
比如网络模块,你需要对网络相关的协议有较深入的了解,协议堆、TCP/IP协议等都是你必须要有的要求。不信楼主自己动手试试怎么自动识别IP,相信楼主应该知道是实现而非应用。
又比如,内存管理,如果对虚拟内存与实际物理内存之间的算法都不知道,怎么看,读懂了指命,你懂其中的原理不,段式,页式,段页式管理,虚拟内存替换算法等这些,不是看代码能看懂的。
中断与定时是内核中一个重要点,进程调度是在中断与定时的基础上进行的,如果连什么是中断,中断需要做些什么,什么是定时器,定时器有什么硬件要求,时钟频率,外部时钟,内时钟,都不清楚,怎么看得懂,那一串指命一般的人都能看得懂,难懂的是其原理。中断共享,可重入函数,不可重入函数,上下文环境等相关问题不了解,怎么看。
其实还有很多问题想说的,怕楼主没有兴趣看下去,所以在此不说了,上面的这些只是一点最基本的要求。真正的高要求没有说。
个人之见,如果是一个内核爱好者的话,那么请选择楼主兴趣的模块去研究一下吧,没有必要也没有这个能力去把整个内核都研究。我想,就连Linux内核开发者与维护者都只能对自己负责的模块有较深的理解,对于不是自己方向的模块,能知道是什么意思,在本模块需要相关的接口、数据结构时会用、用得好就可以了。他们都不能把整个Linux内核通吃,更何况我们这些小儿。
比如网络模块,你需要对网络相关的协议有较深入的了解,协议堆、TCP/IP协议等都是你必须要有的要求。不信楼主自己动手试试怎么自动识别IP,相信楼主应该知道是实现而非应用。
又比如,内存管理,如果对虚拟内存与实际物理内存之间的算法都不知道,怎么看,读懂了指命,你懂其中的原理不,段式,页式,段页式管理,虚拟内存替换算法等这些,不是看代码能看懂的。
中断与定时是内核中一个重要点,进程调度是在中断与定时的基础上进行的,如果连什么是中断,中断需要做些什么,什么是定时器,定时器有什么硬件要求,时钟频率,外部时钟,内时钟,都不清楚,怎么看得懂,那一串指命一般的人都能看得懂,难懂的是其原理。中断共享,可重入函数,不可重入函数,上下文环境等相关问题不了解,怎么看。
其实还有很多问题想说的,怕楼主没有兴趣看下去,所以在此不说了,上面的这些只是一点最基本的要求。真正的高要求没有说。
|
多看书 首推ulk3 赵炯的那系列书也不错
多看代码
多动手 用什么浏览 source insight很强大 如果喜欢你也可以用gvim 等
多看代码
多动手 用什么浏览 source insight很强大 如果喜欢你也可以用gvim 等
|
sourceinsight很好啊,最好对照内核或体系结构的书看,
|
哎,在看linux 0.11 赵炯的书,可是看的过程中遇到很多问题...
进度很慢...
进度很慢...
|
推荐一本书深入剖析Linux系统内核(第三版)个人觉得这本书不错,需要有C语言和汇编语言的基础,值得一看
|
记得大四的时候读过赵炯的那本,好像是第一版。对文件系统那部分看的比较深,启动那部分云里雾里的。分析其中的一个部分,全部看的话打击积极性,一家之言。
|
我现在看的是于渊的入门书。你也可以试试看
|
http://blog.csdn.net/fudan_abc/category/655796.aspx
推荐《《Linux内核修炼之道》精华分享与讨论》系列.
推荐《《Linux内核修炼之道》精华分享与讨论》系列.
|
我也刚开始接触内核,看的是《linux内核设计与实现》