打印

大家讨论一下读kernel的方法

我读的是linuxe情景分析,也就是毛德操胡希明的那本,但同时我也读了linuxe0.11内核注释,是一个叫博佳科技写的,
情景分析有一些问题说法太片面了,
0.11 内核注释太简单了,有些基础的东西没交代请
博众家之长把

TOP

既然都是中国人,为什么不出中文版的?
ICQ:308926308∧ ∧︵MyIM:297403 酷狗:4060371ミ^ō^ミ灬)~

TOP

0.11只能入门,现在的变化很大,linux在技术上革新很多。最典型的是进程调度。

TOP

just do it !    ha ..
Thanks every one.

TOP

就我个人来说,一行行去看每行代码是不可行的。
  目前我采取的做法是:
           现在学习驱动的编程就边看书,边看涉及到的源代码 过些日子想看TCP/IP第二卷的东西,就想把网络部分的代码看了  
    就这样。
辽宁科技大学联络员 qq 110630957

TOP

呵呵....好像在这明白了不少东西!!!谢谢各位.......

TOP

I also do not know about 'user-mode',so who know it that tell us to learning it quickly.

TOP

As it turns out, many persons would like communicating with each other in English.

TOP

英语不怎么好可以学吗?

TOP

新手学习中,感觉东西太多,难度挻大,估摸着得花大时间,才能有点眉目

TOP

你们都笨,最好的方法就是直接读bzImage
  偶系大色狼,很色滴, 嗷嗷.

TOP

读源代码效率是非常低的,我最开始也是看毛德操的那边书,然后,找代码看,发现效率非常低,那边书也不多做评价,只是这种方式效率很低。 后来,我决定采取的办法,先阅读 "Intel® 64 and IA-32 Architectures Software Developer’s Manual.pdf"(intel 官网上面有), 然后,再看"Prentice.Hall.Operating.Systems.Design.and.Implementation.3rd.Edition",这本书的示例代码就是 大名鼎鼎的 MINIX,看这两本书,配合阅读  MINIX的源代码,虚拟机运行,调试,加打印信息,就可以把OS的架构与实现搞清楚,如“CPU的中断处理”, “保护模式与实地址模式切换”,“虚拟地址与实地址映射”等等。 最后,你可以利用 grub和 virtualbox,亲自动手进行 “实地址模块与保护模式”的编程,尝试着来写一下gdt 和idt表等。我在 github上面建了一个工程  linix(https://github.com/kartorz/linix),仓库地址是 "https://github.com/kartorz/linix.git"。 这个项目主要是可以从零开始,在linux上面编译出来一个 kernel,打包成boot iso, 利用virtual 和 grub来加载,最后在屏幕上面打印信息。我后续会继续往代码里面添加一些基本的功能。 你也可以直接找 grub的代码来看。 主要是了解如何从头开始编译一个kernel,已经系统如何被加载,接管cpu. ——这个路线,我觉得是比较科学,合理的。
当年,linus也是阅读了minix代码后,在minix代码的基础上,才动手做的linux。 现在linux作为一个宏内核系统, 已经非常臃肿,其中 80%以上的代码,又全是驱动代码,对学习kernel用处不大。 建议从minix 入手。 把minix搞清楚后,再回头看 linux,完全是小菜一碟。 不建议看那些 阅读内核源代码之类的书,大都是 浅入深处,一些简单的东西,搞得很复杂。

TOP