打印

大家讨论一下读kernel的方法

[quote:0b41972202="jolly"]我问一个非常不专业的问题:我有RH9.0的安装盘,一共7张,源代码那几张用什么工具打开看?本人新手,还望高人指教[/quote]

可以用"source insight"工具打开!
学以致用

TOP

我想读网络部分,请给点建议!

TOP

用vi+tags

TOP

我支持有由整到部分读.

TOP

请问那本书有没有电子版,最好是PDF的,谢谢

TOP

source insight是windows下不错的阅读代码工具.
涉足不久,经验不多,共同交流,共同成长!

TOP

I read the linux kernel through classical books and linux source code. At the same time I learn kernel progamming. I believe that if only I could stick to learning I will succeed and I will become a expert in Linux! I hope all of us can meet our aims!
我的博客:http://blog.sina.com.cn/u/1222145851 介绍:名字叫做心灵俱乐部-姚新勇的博客 内容涉及:美文赏析,金庸小说,红楼闲谈(红楼梦),心理学,美学,影视鉴赏等等。大多是原创,欢迎光临!

TOP

内核看不懂,不过驱动程序倒是很容易看懂。

不一定要看懂内核,会移植内核就已经很牛了!
比如能把P4的linux移植到AMD的CPU上   
我的blog,linux内核开发精华参考:) http://blog.21ic.org/blog.asp?name=good02xaut

TOP

thanks

TOP

读KERNEL有一本说得很好呀!
要看就看哪些代码少的书呀1
我看过一本LINUX最初的kernel详解,还可以吧!
书上说如果要看现在的LINUX的kernel版本的话,没有一个人可以看完的呀!
看kernel主要是理解他的运行原理是思维的,而不是一味的看,哪本书虽然代码少但精,我受益不少呀!
好像是LINUX 1。0的版本的吧!反正很低的哪个了!?

TOP

是否要在看LINUX之前把LINUX用的很熟.
  先明白实现的方法,再看代码,也算是比较容易
什么也没有留下

TOP

My opinion is get overall understanding by reading some books and refer to source code. Then focus on the module you prefered (for me, it is Linux Networking especially on IP Networking).
I ever provided training on this part on version 2.2 and now I will update my training materials based on version 2.6. But my work on Linux is at my part time, so I can't track them by a tough plan.

TOP

我在windows下调试linux kernel source的方法如下:
(1)在windows下装个vmware及cygwin.
(2)在vmware中安装linux(配置一个串口,选择\\.\pipe\com_1,this end is the client,the other end is application.)
(3)把linux中的source打包拷贝到windows的一个盘下(example l:\linux2.6)解压.
(4)编译内核,在make menuconfig中要把kgdb编译进去.
(5)把编译的内核vmlinux拷贝到windows的一个盘下( l.
(6)在windows中运行一个程序pipetunnel.exe,如果需要可以提供原代码.自己编译.
(6)运行cygwin.
(7)在cygwin窗口中运行insight,在view菜单中选择control,依此加入以下命令
(gdb) directory /cygdrive/l/linux2.6
Source directories searched: /cygdrive/l/linux2.6:$cdir:$cwd

(gdb) symbol-file /cygdrive/l/vmlinux
(gdb) set remotebaud 115200
(gdb) target remote :9999
Remote debugging using :9999
0xc01033a8 in breakpoint () at arch/i386/kernel/traps.c:137
(gdb) list
132        {
133                set_intr_usr_gate(3,&int3); /* disable ints on trap */
134                set_intr_gate(1,&debug);
135                set_intr_gate(14,&page_fault);
136       
137                BREAKPOINT;
138        }
139        #define        CHK_REMOTE_DEBUG(trapnr,signr,error_code,regs,after)                \
140            {                                                                        \
141                if (!user_mode(regs)  ) \

(gdb)[/img]

TOP

我在看的<<linux0.11内核完全注释>>同济大学的赵炯博士写的一本书,感觉不错.
上面有建议一本<the design of unix operating systerm>
就是讲系统设计当中主要的算法和数据结构的...
还配套一个专门的网站www.oldlinux.org大家可以去看看...
浮沙不能筑高台!~

TOP

看完《情景》觉得在C编程上有不少收获,对于操作系统也有了更深一步的了解,但是想成为真正内核高手,我想最少要在实战上跌滚5年。

TOP