首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

大家都是怎么学习Linux内核

2012-09-17 
大家都是如何学习Linux内核。我是一个C#/Jave程序员,作为爱好从今年三初开始学习Linux内核。开始是直接读Lin

大家都是如何学习Linux内核。
我是一个C#/Jave程序员,作为爱好从今年三初开始学习Linux内核。开始是直接读Linux内核代码,读了几天后,发现实在是无法读懂。后来只好看书,在看书的过程中按照Linux内核的概念写了一个简单的OS的例子(加上启动只有16000行左右)。现在快三个月了书也看的差不多了,我想开始再读Linux内核代码,不过Linux内核代码函数,参数,变量名字实在是太抽象了,对此现在我还心有余悸(我对无处不在的缩写,和没有namespace非常不习惯)。
不知道大家都是如何学习Linux内核的?有什么没有经验?还有觉得内核那些部分比较难,原因是什么?


[解决办法]
我也正要学内核,我决定先搞linux下的开发,再去读内核。
[解决办法]
贵在坚持。
[解决办法]
为什么要读内核……
[解决办法]
为什么刚开始就去读内核代码呢?
先把Linux操作系统机制弄清楚会好一些。
设备驱动程序占内核代码一半以上,
先把这个东西搞清楚吧。

另外,十分佩服楼主的毅力~
[解决办法]
学生中,一直都在打基础,打算暑假开始研究研究
[解决办法]

探讨
>为什么要读内核……
为了兴趣;另外C#/Java开发久了我都不觉得自己是个程序员,还是C语言好呀,想写些什么就写什么,爽!!!

[解决办法]
先熟悉 linux 环境,然后 shell 编程,再是应用程序,最后再涉足核心


[解决办法]
路过……
[解决办法]
赵炯那本内核解析,看那本吧
[解决办法]
为什么不合ulk和ldd配合着看呢

[解决办法]
mark
顺便帮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内核(第三版) (08年度畅销榜TOP50) 

市场价 :¥98.00
普通会员 : ¥78.40
1-3星会员: ¥76.44
4-5星会员: ¥73.50(75折)
校园优惠价 :¥76.44(78折) (马上了解) 

中文版价格
[解决办法]
我也是初学者,但是我觉得应该坚持以下步骤循序渐进
1.使用Linux
2.了解Linux系统
3.应用程序开发-user space


4.驱动程序开发-kernel space
[解决办法]
加油,看来 楼主是打算做linux 嵌入式 驱动开发了.
[解决办法]
up

[解决办法]
深入理解Linux内核
[解决办法]
菜鸟路过,刚要学linux来着,内核还很遥远
[解决办法]
我在搞防火墙开发,好像不需要对内核有深入的了解
[解决办法]

在看书的过程中按照Linux内核的概念写了一个简单的OS的例子(加上启动只有16000行左右)。


感觉有点不可意思,能只按概念 写一个简单的OS 的人,在这个版里,没几个人能做到!
反而,看Linux源代码却感觉生涩。Linux最难的部分感觉(尤其是对于没有嵌入式经验),应该就是x86下保护模式的编程。
我也是内核新手,不过看了robert love的书,以及啃了大坂本深入理解内核后,反而很多函数名字 参数类型是很亲切的。
但是要我自己写个仿Linux的内核OS,决计做不到。所以对你的言论不可信。
[解决办法]









看unix的源码分析吧,莱昂氏unix源码分析,

unix操作系统的设计和实现 .
[解决办法]
我只是来看看学习驱动设计中
[解决办法]
按照Linux内核的概念写了一个简单的OS的例子(加上启动只有16000行左右)。
-------------------------------------
楼主已经很强了
情景分析代码量很大
网上建议是先看深入理解

[解决办法]
linux内核源代码情景分析(上下)不错啊,我也正在学习中。。。。。
[解决办法]
其实学习内核,只要能坚持下去就行,不懂的地方就上GOOGLE,或者自己看书,比上来请教什么学习方法有用,学习方法人和人是不一样的,你是有经验的人,这个你应该相当了解啊
[解决办法]

探讨
引用:
>为什么要读内核……
为了兴趣;另外C#/Java开发久了我都不觉得自己是个程序员,还是C语言好呀,想写些什么就写什么,爽!!!


一句话形容你的心态, 老婆总是别人的好。 呵呵。
任何语言,工具,系统,模式,框架, 都只是工具。

若真是兴趣,你能坚持10年20年吗 ?

盲目的读内核代码是没有意义的,
先读lkd, 了解linux的大体框架,
再读ldd, 了解kernel中常用的api。
再…

[解决办法]
很多人提议从ldd看起,但linux的精髓并不在驱动。看linux源码,内存管理,进程管理和文件系统是必须过关的,不管你花多长时间,这部分过关,你会觉得自己的突发猛进,对于其他部分的理解帮助非常大;进程才是操作系统的精髓,内存管理为进程提供运行的空间,文件管理为进程提供存储的地方,外设驱动是为延升进程的能力。
[解决办法]
kernel代码要经常参照看。 看完ldd3的前半部就差不多了。然后搞点实际的
[解决办法]
厉害。
[解决办法]
路过
[解决办法]
看你对哪一部分感兴趣,然后专门看这部分的源码即可,触类旁通
[解决办法]
能把那个简单的OS的源码,传给我吗?
发过来看看,开源嘛!
[解决办法]
正要学习linux内核,却不知如何下手
[解决办法]
收回我自己的说的话,你是个牛人,加油!
[解决办法]
先学会基础的C/C++然后学写驱动,然后再深入内核来看。看内核要把握住框架,不能直接就探进去,结果会更晕。
[解决办法]
兄弟,你写的那 16000 行 os 可以运行么?
[解决办法]
牛人,都是牛人。。。
------解决方案--------------------


真牛逼,我只知道裁减内核,裁减文件系统,UNIX.LINUX下的应用,嵌入式开发,shell之类的。。我看过1小时内核,不知道有什么用。放弃了。。

楼主是牛人。
[解决办法]

探讨
在看书的过程中按照Linux内核的概念写了一个简单的OS的例子(加上启动只有16000行左右)。
============================================
别的不说,但看这一句,楼主已经比这个版块百分之九十八的人都厉害了,而且还有那么多年的工作经验,应该

知道怎么去进入一个全新的领域吧?何况这个对你来说也未必是全新的...

所以楼主还是按照自己的方式学下去吧,别来这里征求什么建议了,一群不如你的人,能给你什么有价值…

热点排行