寻求理解内核的伙伴!
看内核源代码实在是有点盲人摸象的感觉,感觉推进的速度实在慢的惊人,希望能有和我一样热衷的伙伴一起探讨一起分析,这样会不断的增加一点成就感,加快推进的速度。本人属于入门级初学者,但分析问题的能力自信还有一点,目前正在研读《linux内核源代码情景分析》、《understanding the liunx kernel》和赵炯博士的《linux内核代码完全注释》,我的联系方式:
qq: 3581862
msn: [email protected]
mail: [email protected]
真心的期待!! QQ:84437129
我也是刚学内核的
请多多指教 nice to meet you again here,
i am reading books you mentioned too,
my email is [email protected] 读内核时,最好分几遍进行,首先是对整个
系统的把握。比如,当你看进程管理时,你可以
只对几个重要的数据结构研究,对一些需要调度
的东西了解一下,然后可以看内存管理,再与
进程中的内存管理的东西联系一下,往下依次
学习文件管理,网络及设备管理,都是重点研
究数据结构。在不懂的时候先放过,等你对内
核有了全面的了解,再仔细去研究内核中的原码,
研究其中的具体实现。 谢谢davidfox兄的箴言 我也在读LINUX内核。
我刚看完MM的核心内存管理部分(伙伴系统,SLAB,ZONE ALLOCATOR,BOOTMEM,HIGHMEM,PKMAP),看用户空间时看不下去了,因为跟进程关系太大。
我就转去看中断及进程了,刚看完中断处理(IRQSTAT,BH),现在看进程,刚看完SWITCH_TO.
我的路还很长。
我用的书是UNDERSTAND LINUX KERNEL V2。情景分析,陈利君的LINUX2.4内核分析。还有INTERNET上的LINUX-MM CODE COMMENTARY 及LINUX-MM COMMENTARY.后两本书可以说看LINUX-MM的宝典了。
我看的内核是LINUX2.4.20.
用的工具是SOURCE INSIGHT.
我的路还很长,非常希望能交一个志同道合的朋友,一起进步。
QQ:199842164
MAIL:[email protected] 我也是,willamwang-at-hotmail-dot-com 我看到进程管理了,最近受了打击,没看一个星期了,今天又开始看了, :roll: 内容太多了,很难联系起来. me too
qq:2851065
msn: [email protected] 想交流的,可以家我qq:172872381 噢,这么多人呀!
那位牛人给看一下这段代码,谢先了!!
static inline int strcmp(const char * cs,const char * ct)
{
int d0,d1;
register int __res;
__asm__ __volatile__(
"1:\tloadsb\n\t"
"scasb\n\t"
"jne 2f\n\t"
"testb %%al,%%al\n\t"
"jne 1b\n\t"
"xorl %%eax,%%eax\n\t"
"jmp 3f\n"
"2:\tsbbl %%eax,%%eax\n\t"
"orb $1,%%al\n"
"3:"
:"=a"(__res),"=&S" (d0),"=&D" (d1)
:"1" (cs),"2"(ct));
return __res;
}
问题:
1、d0,d1有何用????
2、"=&S" (d0),"=&D" (d1)为何要加一个&符号???? :cry: 我是菜鸟,可我向往蓝天!!!!
望各位牛人多多指点一二!!!!
偶的QQ:12196603
E-Mail:[email protected]
:P 偶也开始看kernel,希望多多指教
多多交流。
毕竟kernel是个庞大的东西,如果就一个人
研究进展会很慢的。
e-mail/msn:[email protected]
QQ:461742 噢,这么多人呀!
那位牛人给看一下这段代码,谢先了!!
static inline int strcmp(const char * cs,const char * ct)
{
int d0,d1;
register int __res;
__asm__ __volatile__(
"1:\tloadsb\n\t"
"scasb\n\t"
"jne 2f\n\t"
"testb %%al,%%al\n\t"
"jne 1b\n\t"
"xorl %%eax,%%eax\n\t"
"jmp 3f\n"
"2:\tsbbl %%eax,%%eax\n\t"
"orb $1,%%al\n"
"3:"
:"=a"(__res),"=&S" (d0),"=&D" (d1)
:"1" (cs),"2"(ct));
return __res;
}
问题:
1、d0,d1有何用????
2、"=&S" (d0),"=&D" (d1)为何要加一个&符号???? :cry:
我在smth上回答过相同或类似的题。
页:
[1]
2