当前位置: 技术问答>linux和unix
大家都是如何学习Linux内核。
来源: 互联网 发布时间:2016-12-25
本文导语: 我是一个C#/Jave程序员,作为爱好从今年三初开始学习Linux内核。开始是直接读Linux内核代码,读了几天后,发现实在是无法读懂。后来只好看书,在看书的过程中按照Linux内核的概念写了一个简单的OS的例子(加上启动...
我是一个C#/Jave程序员,作为爱好从今年三初开始学习Linux内核。开始是直接读Linux内核代码,读了几天后,发现实在是无法读懂。后来只好看书,在看书的过程中按照Linux内核的概念写了一个简单的OS的例子(加上启动只有16000行左右)。现在快三个月了书也看的差不多了,我想开始再读Linux内核代码,不过Linux内核代码函数,参数,变量名字实在是太抽象了,对此现在我还心有余悸(我对无处不在的缩写,和没有namespace非常不习惯)。
不知道大家都是如何学习Linux内核的?有什么没有经验?还有觉得内核那些部分比较难,原因是什么?
不知道大家都是如何学习Linux内核的?有什么没有经验?还有觉得内核那些部分比较难,原因是什么?
|
看unix的源码分析吧,莱昂氏unix源码分析,
unix操作系统的设计和实现 .
|
在看书的过程中按照Linux内核的概念写了一个简单的OS的例子(加上启动只有16000行左右)。
感觉有点不可意思,能只按概念 写一个简单的OS 的人,在这个版里,没几个人能做到!
反而,看Linux源代码却感觉生涩。Linux最难的部分感觉(尤其是对于没有嵌入式经验),应该就是x86下保护模式的编程。
我也是内核新手,不过看了robert love的书,以及啃了大坂本深入理解内核后,反而很多函数名字 参数类型是很亲切的。
但是要我自己写个仿Linux的内核OS,决计做不到。所以对你的言论不可信。
|
linux内核源代码情景分析(上下)不错啊,我也正在学习中。。。。。
|
很多人提议从ldd看起,但linux的精髓并不在驱动。看linux源码,内存管理,进程管理和文件系统是必须过关的,不管你花多长时间,这部分过关,你会觉得自己的突发猛进,对于其他部分的理解帮助非常大;进程才是操作系统的精髓,内存管理为进程提供运行的空间,文件管理为进程提供存储的地方,外设驱动是为延升进程的能力。
|
其实学习内核,只要能坚持下去就行,不懂的地方就上GOOGLE,或者自己看书,比上来请教什么学习方法有用,学习方法人和人是不一样的,你是有经验的人,这个你应该相当了解啊
|
我也正要学内核,我决定先搞linux下的开发,再去读内核。
|
贵在坚持。
|
为什么要读内核……
|
为什么刚开始就去读内核代码呢?
先把Linux操作系统机制弄清楚会好一些。
设备驱动程序占内核代码一半以上,
先把这个东西搞清楚吧。
另外,十分佩服楼主的毅力~
先把Linux操作系统机制弄清楚会好一些。
设备驱动程序占内核代码一半以上,
先把这个东西搞清楚吧。
另外,十分佩服楼主的毅力~
|
学生中,一直都在打基础,打算暑假开始研究研究
|
一句话形容你的心态, 老婆总是别人的好。 呵呵。
任何语言,工具,系统,模式,框架, 都只是工具。
若真是兴趣,你能坚持10年20年吗 ?
盲目的读内核代码是没有意义的,
先读lkd, 了解linux的大体框架,
再读ldd, 了解kernel中常用的api。
再尝试 写驱动,读驱动。
写自己的内存管理,进程调度,文件系统。
硬件知识也不可少,路漫漫,何其长远,非1日1年之功。
|
先熟悉 linux 环境,然后 shell 编程,再是应用程序,最后再涉足核心
|
路过……
|
赵炯那本内核解析,看那本吧
|
为什么不合ulk和ldd配合着看呢
|
mark
顺便帮lz加加人气、。
顺便帮lz加加人气、。
|
来帮忙顶顶。来学习学习方法~~~
|
在看书的过程中按照Linux内核的概念写了一个简单的OS的例子(加上启动只有16000行左右)。
============================================
别的不说,但看这一句,楼主已经比这个版块百分之九十八的人都厉害了,而且还有那么多年的工作经验,应该
知道怎么去进入一个全新的领域吧?何况这个对你来说也未必是全新的...
所以楼主还是按照自己的方式学下去吧,别来这里征求什么建议了,一群不如你的人,能给你什么有价值的建议吗?(包括我)
============================================
别的不说,但看这一句,楼主已经比这个版块百分之九十八的人都厉害了,而且还有那么多年的工作经验,应该
知道怎么去进入一个全新的领域吧?何况这个对你来说也未必是全新的...
所以楼主还是按照自己的方式学下去吧,别来这里征求什么建议了,一群不如你的人,能给你什么有价值的建议吗?(包括我)
|
7楼的兄弟说得很在理,工作中学习,学习中工作,如果只看书只看代码,坚持10年也只能当教授
|
过来分享经验的~~
|
中文版
为了透彻理解Linux的工作机理,以及为何它在各种系统上能顺畅运行,你需要深入到内核的心脏。CPU与外部世界的所有交互活动都是由内核处理的;哪些程序会分享处理器的时间,以什么样的顺序来分享。内核不遗余力地管理有限的内存,以使数以千计的进程有效地共享系统资源。内核还精心组织数据传送,使得 CPU不再受限于慢速硬盘。
《深入理解Linux内核》第三版将引领你畅游内核中用到的最主要数据结构、算法和编程技巧。如果你的确想了解计算机内部的实现机理,那么作者透过现象探寻本质,提供了颇有价值的深入分析。本书针对具体的Intel平台,讨论了其重要特征,逐行剖析了相关的代码片段。但是,本书涵盖的内容不仅仅局限于代码的机理,还解释了Linux运作方式的理论支撑。
本书第三版涵盖Linux 2.6,从中可以看到几乎内核每个子系统都有相当大的变化,首当其冲的是内存管理和块设备部分。本书集中讨论了如下内容:
●内存管理,包括文件缓冲、进程交换以及直接内存访问(DMA)
●虚拟文件系统层和第二及第三扩展文件系统
●进程创建及调度
●信号、中断及设备驱动程序的主要接口
●定时
●内核中的同步
●进程间通信(IPC)
●程序执行
本书将使你熟悉Linux所有的内在工作机理,但本书不仅仅是一种学术演练。你将了解到什么条件会促使Linux产生最佳性能,你还会看到,Linux在各种环境下如何满足进程调度、文件访问及内存管理期间系统提出的快速响应要求。本书有助于你充分展现Linux系统的魅力。
影印版
市场价 :¥98.00
普通会员 : ¥88.20
1-3星会员: ¥86.24
4-5星会员: ¥83.30
校园优惠价 :¥86.24(88折) (马上了解)
为了透彻理解Linux的工作机理,以及为何它在各种系统上能顺畅运行,你需要深入到内核的心脏。CPU与外部世界的所有交互活动都是由内核处理的;哪些程序会分享处理器的时间,以什么样的顺序来分享。内核不遗余力地管理有限的内存,以使数以千计的进程有效地共享系统资源。内核还精心组织数据传送,使得 CPU不再受限于慢速硬盘。
《深入理解Linux内核》第三版将引领你畅游内核中用到的最主要数据结构、算法和编程技巧。如果你的确想了解计算机内部的实现机理,那么作者透过现象探寻本质,提供了颇有价值的深入分析。本书针对具体的Intel平台,讨论了其重要特征,逐行剖析了相关的代码片段。但是,本书涵盖的内容不仅仅局限于代码的机理,还解释了Linux运作方式的理论支撑。
本书第三版涵盖Linux 2.6,从中可以看到几乎内核每个子系统都有相当大的变化,首当其冲的是内存管理和块设备部分。本书集中讨论了如下内容:
●内存管理,包括文件缓冲、进程交换以及直接内存访问(DMA)
●虚拟文件系统层和第二及第三扩展文件系统
●进程创建及调度
●信号、中断及设备驱动程序的主要接口
●定时
●内核中的同步
●进程间通信(IPC)
●程序执行
本书将使你熟悉Linux所有的内在工作机理,但本书不仅仅是一种学术演练。你将了解到什么条件会促使Linux产生最佳性能,你还会看到,Linux在各种环境下如何满足进程调度、文件访问及内存管理期间系统提出的快速响应要求。本书有助于你充分展现Linux系统的魅力。
影印版
市场价 :¥98.00
普通会员 : ¥88.20
1-3星会员: ¥86.24
4-5星会员: ¥83.30
校园优惠价 :¥86.24(88折) (马上了解)