Linux Kernelѧϰ±Ê¼Ç
Linux Kernelѧϰ±Ê¼Ç
Table of Contents
1. ´æ´¢Æ÷Ѱַ
2. É豸Çý¶¯³ÌÐò¿ª·¢
3. ×Ö·ûÉ豸Çý¶¯³ÌÐò
3.1. É豸ºÅ
3.2. É豸ºÅµÄ·ÖÅäºÍÊÍ·Å
3.3. ÖØÒªµÄÊý¾Ý½á¹¹
3.4. ¶ÁºÍд
4. PCIÉ豸
5. Äں˳õʼ»¯ÓÅ»¯ºê
6. ·ÃÎÊÄں˲ÎÊýµÄ½Ó¿Ú
7. Äں˳õʼ»¯Ñ¡Ïî
8. ÄÚºËÄ£¿é±à³Ì
8.1. ÈëÃÅ
8.2. Ϊģ¿éÌí¼ÓÃèÊöÐÅÏ¢
8.3. ÄÚºËÄ£¿é´¦ÀíÃüÁî½éÉÜ
9. ÍøÂç×Óϵͳ
9.1. sk_buff½á¹¹
9.2. sk_buff½á¹¹²Ù×÷º¯Êý
9.3. net_device½á¹¹
9.4. ÍøÂçÉ豸³õʼ»¯
9.5. ÍøÂçÉ豸ÓëÄں˵ŵͨ·½Ê½
9.6. ÍøÂçÉ豸²Ù×÷²ãµÄ³õʼ»¯
9.7. ÄÚºËÄ£¿é¼ÓÔØÆ÷
9.8. ÐéÄâÉ豸
9.9. 8139too.cÔ´Âë·ÖÎö
9.10. ÄÚºËÍøÂçÊý¾ÝÁ÷
10. ±¸Íü¼
Chapter 1. ´æ´¢Æ÷Ѱַ
ÔÚ80x86΢´¦ÀíÆ÷ÖУ¬ÓÐÈýÖÖ´æ´¢Æ÷µØÖ·£º
· Âß¼µØÖ·£¨logical address£©£¬°üº¬ÔÚ»úÆ÷ÓïÑÔÖ¸ÁîÖÐÓÃÀ´Ö¸¶¨Ò»¸ö²Ù×÷Êý»òÒ»ÌõÖ¸ÁîµÄµØÖ·¡£Ã¿¸öÂß¼µØÖ·¶¼ÓÉÒ»¸ö¶Î£¨segment£©ºÍÒ»¸öÆ«ÒÆÁ¿£¨offset£©×é³É¡£Æ«ÒÆÁ¿Ö¸Ã÷Á˴ӶεĿªÊ¼µ½Êµ¼ÊµØÖ·Ö®¼äµÄ¾àÀë¡£
· ÏßÐÔµØÖ·£¨linear address£©£¨Ò²³ÆÎªÐéÄâµØÖ·£¬virtual address£©£¬ËüÊÇÒ»¸ö32λÎÞ·ûºÅÕûÊý£¬¿ÉÓÃÒÔ±í´ï¸ß´ï4GµÄµØÖ·£¨2µÄ32´Î·½£©¡£Í¨³£ÒÔÊ®Áù½øÖÆÊý±íʾ£¬ÖµµÄ·¶Î§´Ó0X00000000µ½0Xffffffff¡£
· ÎïÀíµØÖ·£¨physical address£©£¬ÓÃÓÚ´æ´¢Æ÷оƬ¼¶´æ´¢µ¥ÔªÑ°Ö·£¬ËüÃÇÓë´Ó΢´¦ÀíÆ÷µÄµØÖ·Òý½Å·¢Ë͵½´æ´¢Æ÷×ÜÏßÉϵĵçÐźÅÏà¶ÔÓ¦¡£ÎïÀíµØÖ·ÓÉ32λÎÞ·ûºÅÕûÊý±íʾ¡£
CPU¿ØÖƵ¥ÔªÍ¨¹ýÒ»ÖÖ³ÆÎª·Ö¶Îµ¥Ôª£¨segmentation unit£©µÄÓ²¼þµç·°ÑÒ»¸öÂß¼µØÖ·×ª»»³ÉÏßÐÔµØÖ·;ÏßÐÔµØÖ·ÓÖͨ¹ýÒ»¸ö·ÖÒ³µ¥Ôª£¨paging unit£©µÄÓ²¼þµç·°ÑÒ»¸öÏßÐÔµØÖ·×ª»»³ÉÎïÀíµØÖ·¡£
Âß¼µØÖ·ÓÉÁ½²¿·Ý×é³É£¬Ò»¸ö¶Î±êʶ·ûºÍÒ»¸öÖ¸¶¨¶ÎÓÉÏà¶ÔµØÖ·µÄÆ«ÒÆÁ¿¡£¶Î±êʶ·ûÊÇÒ»¸ö16볤µÄ×ֶΣ¬³ÆÎª¶ÎÑ¡Ôñ·û£¨segment selector£©£¬Æ«ÒÆÁ¿ÊÇÒ»¸ö32볤µÄ×ֶΡ£
´¦ÀíÆ÷ÌṩרÃŵĶμĴæÆ÷ÒÔ¿ìËÙ´¦Àí¶ÎÑ¡Ôñ·û£¬¶Î¼Ä´æÆ÷µÄΨһĿµÄ¾ÍÊÇ´æ·Å¶ÎÑ¡Ôñ·û¡£¹²ÓÐ6¸ö¶Î¼Ä´æÆ÷£¬·Ö±ðÊÇcs¡¢ss¡¢ds¡¢es¡¢fsºÍgs¡£ÆäÖÐcs¡¢ss¡¢ds¼Ä´æÆ÷ÓÐרÃŵÄÓÃ;¡£
· csÊÇ´úÂë¶Î¼Ä´æÆ÷£¬Ö¸Ïò°üº¬³ÌÐòÖ¸ÁîµÄ¶Î¡£
· ssÊÇÕ»¼Ä´æÆ÷£¬Ö¸Ïò°üº¬µ±Ç°³ÌÐòÕ»µÄ¶Î¡£
· dsÊÇÊý¾Ý¶Î¼Ä´æÆ÷£¬Ö¸Ïò°üº¬¾²Ì¬Êý¾Ý»òÕßÍⲿÊý¾ÝµÄ¶Î¡£
cs¼Ä´æÆ÷ÓÐÒ»¸öÖØÒª¹¦ÄÜ£¬Ëü°üº¬ÓÐÒ»¸öÁ½Î»µÄ×Ö
Ïà¹ØÎĵµ£º
dns
/etc/resolv.conf
Ö÷»úÃû
1)#hostname tt.com
2)/etc/sysconfig/networkÖеÄhostname
3)ÐÞ¸Ä/etc/hostsÎļþ
=>sendmail->/etc/mail/local-host-names
gateway
etc/sysconfig/network
ip
/etc/sysconfig/network-scripts/ifcfg-eth0
1. ±ä¸üµ±Ç°Ö÷»úÃû
Á½ÖÖ·½·¨£º echo new-hostname > /proc/s ......
120-test:/# apt-get install hdparm
ÕæÊµ»úÆ÷120ÉϲâÊÔ½á¹û£º
²âÊÔ´ÅÅÌÐÔÄÜ£¨²»cache£©
120-test:/home/lai# hdparm -t /dev/sda
/dev/sda:
Timing buffered disk reads: 346 MB in 3.02 seconds = 114.65 MB/sec
²âÊÔ´ÅÅÌÐÔÄÜ£¨´øcache£©
120-test:/home/lai# hdparm -T /dev/sda
/dev/s ......
×î½üÔÚ×öÒ»¸öI2C¼üÅ̵ÄLinuxÇý¶¯£¬²Î¿¼ÁËÆäËûоƬµÄһЩ´úÂ룬ÆäÖÐÂ½Ðø·¢ÏÖÓÐЩÈÃÈËÃÔ»óµÄ¶«Î÷£¬°ÑÎÒµÄÃÔ»ó¼°Àí½âÔÚÕâÀï¼ÓÒԼǼ£º
1. i2c_driver½á¹¹ÌåµÄprobe³ÉÔ±µÄÔÐÍ£º
int (*probe)(struct i2c_client *, const struct i2c_device_id *);
¼´£ºprobeº¯Êý±»µ÷ÓÃʱ»á´ÓÉϱߴ«Á½¸ö¸ö²Î ......
ǰ¼¸Ìì֨װÁËwindowsϵͳ£¬µ¼ÖÂÒÔǰ°²×°µÄLinux½ø²»È¥ÁË£¬ÎÞ·¨½øÈëLinux£¬Óò»ÏëÖØÐ°²×°Linux£¬ÄÇÑùÌ«·ÑÊÂÁË£¬ÔÚÍøÉÏËÑË÷ÁËһϣ¬ÕÒµ½»Ö¸´LinuxÒýµ¼µÄ·½·¨£¬¾ÊµÑ飬֨ÐÂÒýµ¼½øÈëÔÀ´µÄLinuxϵͳ£¬Ôڴ˼òµ¥¼Ç¼һÏ£º
Ê×ÏÈ£¬ÏÂÔØÒ»¸öGrub4dos£¬½âѹµ½CÅ̸ùĿ¼Ï£¬°ÑÀïÃæµÄgrldr¸´ÖƵ½¸ùĿ¼Ï£¬ÐÞ¸Äboot.iniÎļþ£ ......
step 1)ÏÂÔØÔ´´úÂë°üµ½±¾µØLinuxÖ÷»ú£¬È»ºó½âѹËõ£¬½øÈë¸ÃĿ¼£¬½øÐÐÅäÖ㬱àÒëºÍ°²×°
ÏÂÔØmysql5Ô´Âëmysql-5.0.18.tar.gzµ½Ä¿Â¼/usr/local
cd /usr/local
tar xzvf mysql-5.0.18.tar.gz
cd mysql-5.0.18
./configure --prefix=/usr/local/mysql
make && make install
make¹ý³Ì»¨µÄʱ¼ä±È½Ï³¤
step 2)ÅäÖÃ
......