¡¡¡¡Óû§³ÌÐòͨ³£´Óº¯Êýmain()¿ªÊ¼£¬Ö´ÐÐһϵÁеÄÖ¸Áî²¢ÇÒµ±Ö¸ÁîÖ´ÐÐÍê³Éºó½áÊø³ÌÐò¡£ÄÚºËÄ£¿éÓÐÒ»µã²»Í¬¡£ÄÚºËÄ£¿éҪô´Óº¯Êýinit_module »òÊÇÄãÓúêmodule_initÖ¸¶¨µÄº¯Êýµ÷ÓÿªÊ¼¡£Õâ¾ÍÊÇÄÚºËÄ£¿é µÄÈë¿Úº¯Êý¡£Ëü¸æËßÄÚºËÄ£¿éÌṩÄÇЩ¹¦ÄÜÀ©Õ¹²¢ÇÒÈÃÄÚºË×¼±¸ºÃÔÚÐèҪʱµ÷ÓÃËü¡£µ±ËüÍê³ÉÕâЩºó£¬¸Ãº¯Êý¾ÍÖ´ÐнáÊøÁË¡£Ä£¿éÔÚ±»Äں˵÷ÓÃǰҲʲô¶¼²»×ö¡£
¡¡¡¡ËùÓеÄÄ£¿é»òÊǵ÷ÓÃcleanup_module»òÊÇÄãÓúê module_exitÖ¸¶¨µÄº¯Êý¡£ÕâÊÇÄ£¿éµÄÍ˳öº¯Êý¡£Ëü³·ÏûÈë¿Úº¯ÊýËù×öµÄÒ»ÇС£ ÀýÈç×¢ÏúÈë¿Úº¯ÊýËù×¢²áµÄ¹¦ÄÜ¡£
¡¡¡¡ËùÓеÄÄ£¿é¶¼±ØÐëÓÐÈë¿Úº¯ÊýºÍÍ˳öº¯Êý¡£¼ÈÈ»ÎÒÃÇÓв»Ö»Ò»ÖÖ·½·¨È¥¶¨ÒåÕâÁ½¸ö º¯Êý£¬ÎÒ½«Å¬Á¦Ê¹Óá°Èë¿Úº¯Êý¡±ºÍ¡°Í˳öº¯Êý¡±À´ÃèÊö ËüÃÇ¡£µ«Êǵ±ÎÒÖ»ÓÃinit_module ºÍcleanup_moduleʱ£¬ÎÒÏ£ÍûÄãÃ÷°×ÎÒÖ¸µÄÊÇʲô¡£
¡¡¡¡Ä£¿é¿Éµ÷Óõĺ¯Êý
¡¡¡¡³ÌÐòÔ±²¢²»×ÜÊÇ×Ô¼ºÐ´ËùÓÐÓõ½µÄº¯Êý¡£Ò»¸ö³£¼ûµÄ»ù±¾µÄÀý×Ó¾ÍÊÇ printf()ÄãʹÓÃÕâЩC±ê×¼¿â£¬libcÌṩµÄ¿âº¯Êý¡£ÕâЩº¯Êý(Ïñprintf()) ʵ¼ÊÉÏÔÚÁ¬½Ó֮ǰ²¢²»½øÈëÄãµÄ³ÌÐò¡£ ÔÚÁ¬½ÓʱÕâЩº¯Êýµ÷ÓòŻáÖ¸Ïò Äãµ÷ÓõĿ⣬´Ó¶øʹÄãµÄ´úÂë×îÖÕ¿ÉÒÔÖ´ÐС£
¡¡¡¡ÄÚºËÄ£¿éÓÐËù²»Í¬¡£ÔÚhello worldÄ£¿éÖÐÄãÒ²ÐíÒѾעÒâµ½ÁËÎÒÃÇʹÓõĺ¯Êý printk() ȴûÓаüº¬±ê×¼I/O¿â¡£ÕâÊÇÒòΪģ¿éÊÇÔÚinsmod¼Ó ÔØʱ²ÅÁ¬½ÓµÄÄ¿±êÎļþ¡£ÄÇЩҪÓõ½µÄº¯ÊýµÄ·ûºÅÁ´½ÓÊÇÄÚºË×Ô¼ºÌṩµÄ¡£ Ò²¾ÍÊÇ˵£¬Äã¿ÉÒÔÔÚÄÚºËÄ£¿éÖÐʹÓõĺ¯ÊýÖ»ÄÜÀ´×ÔÄں˱¾Éí¡£Èç¹ûÄã¶ÔÄÚºËÌṩÁËÄÄЩº¯Êý·ûºÅ Á´½Ó¸ÐÐËȤ£¬¿´Ò»¿´Îļþ/proc/kallsyms¡£
¡¡¡¡ÐèҪעÒâµÄÒ»µãÊǿ⺯ÊýºÍϵͳµ÷ÓõÄÇø±ð¡£¿âº¯ÊýÊǸ߲ãµÄ£¬ÍêÈ«ÔËÐÐÔÚÓû§¿Õ¼ä£¬ Ϊ³ÌÐòÔ±Ìṩµ÷ÓÃÕæÕýµÄÔÚÄ»ºóÍê³Éʵ¼ÊÊÂÎñµÄϵͳµ÷Óõĸü·½±ãµÄ½Ó¿Ú¡£ÏµÍ³µ÷ÓÃÔÚÄÚºË Ì¬ÔËÐв¢ÇÒÓÉÄÚºË×Ô¼ºÌṩ¡£±ê×¼C¿âº¯Êýprintf()¿ÉÒÔ±»¿´×öÊÇÒ»¸öͨÓõÄÊä³öÓï¾ä£¬µ«Ëüʵ¼Ê×öµÄÊǽ«Êý¾Ýת»¯Îª·ûºÏ¸ñʽµÄ×Ö·û´®²¢ÇÒµ÷ÓÃϵͳµ÷Óà write()Êä³öÕâЩ×Ö·û´®¡£
¡¡¡¡ÊÇ·ñÏë¿´Ò»¿´printf()¾¿¾¹Ê¹ÓÃÁËÄÄЩϵͳµ÷ÓÃ? ÕâºÜÈÝÒ×£¬±àÒëÏÂÃæµÄ´úÂë¡£
ÒýÓÃ:#include
int main(void)
{ printf("hello"); return 0; }
¡¡
¡¡¡¡Ê¹ÓÃÃüÁîgcc -Wall -o hello hello.c±àÒë¡£ÓÃÃüÁî strace helloÐиÿÉÖ´ÐÐÎļþ¡£ÊÇ·ñºÜ¾ªÑÈ£¿Ã¿Ò»Ðж¼ºÍÒ»¸öϵͳµ÷ÓÃÏà¶ÔÓ¦¡£ strace[3] ÊÇÒ»¸ö·Ç³£ÓÐÓõijÌÐò£¬Ëü¿ÉÒÔ¸æËßÄã³ÌÐòʹÓÃÁËÄÄЩϵͳµ÷ÓúÍÕâЩϵͳµ÷ÓõIJÎÊý£¬·µ»ØÖµ¡£ÕâÊÇÒ»¸ö¼«ÓмÛÖµµÄ²é¿´³ÌÐòÔÚ¸ÉʲôµÄ¹¤¾ß¡£ÔÚÊä³öµÄĩ⣬ÄãÓ¦¸Ã¿´µ½ÕâÑùÀàËƵÄÒ»ÐÐ write(1, "hello", 5hello)¡£Õâ¾ÍÊÇÎÒÃÇÒªÕҵġ£²ØÔÚÃæ¾ßprintf() µÄÕæʵÃæÄ¿¡£¼ÈÈ»¾ø´ó¶àÊýÈËʹÓÿ⺯ÊýÀ´¶ÔÎļþI/O½øÐвÙ×÷(Ïñ fopen, fputs, fclose)¡£ Äã¿ÉÒԲ鿴man˵Ã÷µÄµÚ¶þ²¿·ÖʹÓÃÃüÁîman 2 write. ¡£man˵Ã÷µÄµÚ¶þ²¿·ÖרÃŽéÉÜϵͳµ÷ÓÃ(Ïñkill()ºÍread())¡£ man˵Ã÷µÄµÚÈý²¿·ÖÔòרÃŽéÉÜÄã¿ÉÄܸüÊìϤµÄ¿âº¯Êý£¬ (Ïñcosh()ºÍrandom())¡£
¡¡¡¡ÄãÉõÖÁ¿ÉÒÔ±àд´úÂëÈ¥¸²¸Çϵͳµ÷Óã¬ÕýÈçÎÒÃDz»¾ÃÒª×öµÄ¡£º§¿Í³£ÕâÑù×öÀ´ÎªÏµÍ³°²×°ºóÃÅ»òľÂí¡£ µ«Äã¿ÉÒÔÓÃËüÀ´Íê³ÉһЩ¸üÓÐÒæµÄÊ£¬ÏñÈÃÄÚºËÔÚÿ´ÎijÈËɾ³ýÎļþʱÊä³ö ¡° Tee hee, that tickles!¡± µÄÐÅÏ¢¡£
65.110.43.* ÓÚ 2006-12-04 15:31:14·¢±í:
Well done!
black jack games | internet poker room | poker machine | poker money | free black jack | online casinos | roulette free games | play casino games | gambling casinos | 10 best online casinos
72.232.250.* ÓÚ 2006-12-04 15:29:43·¢±í:
Good design!
casino games | poker casino | internet blackjack | free online casino games | free poker games | free slot machines | pacific poker | free no deposit casinos | casino bonuses | gamble poker
72.232.93.* ÓÚ 2006-12-04 15:29:05·¢±í:
Well done!
play blackjack free | paigow poker | free slot machine downloads | free on line slots | casino game online | casino on line | free online poker games | sims free slots | texas hold em | poker game online
72.232.250.* ÓÚ 2006-12-04 15:28:40·¢±í:
Thank you!
gambling online | slot games free | sims slots | free on line poker | poker usa open | online holdem | texas holdem | free online slots | free online slot machines | free on line games
65.110.43.* ÓÚ 2006-12-04 15:28:22·¢±í:
Well done!
casino royale | play free slot machine game | poker games online | online blackjack | poker for free | casino poker | free bingo cards | online poker reviews | free slot machine games | keno
65.110.43.* ÓÚ 2006-12-03 16:02:34·¢±í:
Thank you!
mp3 ringtone | free sms ringtones | free ringtones for alltel | converter mp3 ringtone t68i | free hifi ringtones | download free motorola ringtone | free ringtones us cellular | free siemens ringtones | free sprint pcs ringtones | nextel i730 ringtones free
65.110.43.* ÓÚ 2006-12-03 16:01:08·¢±í:
Thank you!
ringtone creator | free monophonic ringtones | ringtone jukebox ringtone jukebox | mobile phone ringtone | free cellular one ringtones | free ringtone creator | download free ringtone nokia | motorola razr v3 ringtones | free ringtones for sprint | free polyphonic ringtones motorola
72.232.92.* ÓÚ 2006-12-03 16:00:35·¢±í:
Thank you!
kyocera ringtones | motorola v265 mp3 ringtones | downloads free mp3 ringtone | free ringtones verizon | free ringtones for nextel | free polyphonic ringtone downloads | 50 cent ringtones | downloads free nextel ringtone | simpsons ringtone simpsons ringtone | free tracfone ringtones
65.110.43.* ÓÚ 2006-12-03 16:00:10·¢±í:
Thank you!
free downloadable ringtones | ringtone websites | free ringtones for tracfones | composer motorola free ringtones | free sprint ringtone downloads | download i730 nextel ringtone | free sanyo ringtones | free motorola ringtones cellular | suncom ringtones | free samsung ringtones
72.232.250.* ÓÚ 2006-12-03 15:59:58·¢±í:
Good design!
ringtones for us cellular | free polyphonic ringtone | free mobile phone ringtone | i830 nextel ringtone software | cell phone download ringtones | sony ericsson ringtones | free logos ringtones | funny ringtone mp3 | 24 ctu ringtone nokia | christian song ringtones
65.110.43.* ÓÚ 2006-12-02 17:18:11·¢±í:
Well done!
pai gow poker | casino royale | holdem poker online | free play slot machines | free black jack | free casino online | slots for free | online poker game | no deposit bingo online | paradise poker review
72.232.250.* ÓÚ 2006-12-02 17:16:30·¢±í:
Great work!
on line casino | free no deposit online casinos | free online slot games | free slot games | monopoly slots | computer poker games | machine games | gambling games | poker game free | free monopoly slots
65.110.43.* ÓÚ 2006-12-02 17:15:42·¢±í:
Well done!
playing poker | game poker | free blackjack game | casino download | free blackjack | casino game online | slot online | casino on line | poker club | play online poker
65.110.43.* ÓÚ 2006-12-02 17:15:19·¢±í:
Thank you!
blackjack game | poker rooms accepting usa | internet poker room | strip black jack | online poker usa | no deposit bonus casinos | online texas hold em | free online texas hold em | free poker games | caribbean poker
65.110.43.* ÓÚ 2006-12-02 17:15:06·¢±í:
Great work!
live poker | poker websites | absolute poker | online poker reviews | play slot machines | on line gambling | free casino | free roulette | casino games free | play free slot machines
72.232.93.* ÓÚ 2006-11-30 08:17:50·¢±í:
Well done!
free on line games | game poker | gambling online | online poker tournament | play casino game | video slots | free on line slot machines | play free blackjack online | keno | free slot machines
65.110.43.* ÓÚ 2006-11-30 08:06:39·¢±í:
Good design!
online poker review room | no download games | free poker on line | online video poker | casino no deposit | free poker download | best casinos | free poker games online | poker texas holdem | no deposit casino
72.232.93.* ÓÚ 2006-11-30 07:55:36·¢±í:
Nice site!
gambling casinos | casino games | world poker tour | blackjack game | poker rooms | gamble poker | on line gambling | poker review | play free slots online | play roulette online
72.232.93.* ÓÚ 2006-11-30 07:46:54·¢±í:
Nice site!
free texas holdem | poker room review | poker accept us | poker site us | holdem poker texas | download casino games | free money casinos | poker websites | free bingo cards | online texas holdem
72.232.206.* ÓÚ 2006-11-29 16:20:37·¢±í:
Nice site!
My homepage | Cool site
intelligent ÓÚ 2006-11-23 09:42:30·¢±í:
¡¡¡¡Device Drivers
¡¡¡¡Ò»ÖÖÄÚºËÄ£¿éÊÇÉ豸Çý¶¯³ÌÐò£¬ÎªÊ¹ÓÃÓ²¼þÉ豸ÏñµçÊÓ¿¨ºÍ´®¿Ú¶ø±àд¡£ ÔÚUnixÖУ¬ÈκÎÉ豸¶¼±»µ±×÷·¾¶/dev µÄÉ豸Îļþ´¦Àí£¬²¢Í¨¹ýÕâЩÉ豸ÎļþÌṩ·ÃÎÊÓ²¼þµÄ·½·¨¡£ É豸Çý¶¯ÎªÓû§³ÌÐò·ÃÎÊÓ²¼þÉ豸¡£¾ÙÀýÀ´Ëµ£¬Éù¿¨É豸Çý¶¯³ÌÐòes1370.o½«»á°ÑÉ豸Îļþ /dev/soundͬÉù¿¨Ó²¼þEnsoniq IS1370ÁªÏµÆðÀ´¡£ÕâÑùÓû§³ÌÐòÏñ mp3blaster ¾Í¿ÉÒÔͨ¹ý·ÃÎÊÉ豸Îļþ/dev/sound ÔËÐжø²»±ØÖªµÀÄÇÖÖÉù¿¨Ó²¼þ°²×°ÔÚϵͳÉÏ¡£
¡¡¡¡Major and Minor Numbers
¡¡¡¡ÈÃÎÒÃÇÀ´Ñо¿¼¸¸öÉ豸Îļþ¡£ÕâÀïµÄ¼¸¸öÉ豸Îļþ´ú±í×ÅÒ»¿éÖ÷IDEÓ²ÅÌÉϵÄÍ·Èý¸ö·ÖÇø£º
¡¡¡¡×¢Òâһϱ»¶ººÅ¸ô¿ªµÄÁ½ÁС£µÚÒ»¸öÊý×Ö±»½Ð×öÖ÷É豸ºÅ£¬µÚ¶þ¸ö±»½Ð×ö´ÓÉ豸ºÅ¡£ Ö÷É豸ºÅ¾ö¶¨Ê¹ÓúÎÖÖÉ豸Çý¶¯³ÌÐò¡£Ã¿ÖÖ²»Í¬µÄÉ豸¶¼±»·ÖÅäÁ˲»Í¬µÄÖ÷É豸ºÅ£» ËùÓоßÓÐÏàͬÖ÷É豸ºÅµÄÉ豸Îļþ¶¼ÊDZ»Í¬Ò»¸öÇý¶¯³ÌÐò¿ØÖÆ¡£ÉÏÃæÀý×ÓÖÐµÄ Ö÷É豸ºÅ¶¼Îª3£¬±íʾËüÃǶ¼±»Í¬Ò»¸öÇý¶¯³ÌÐò¿ØÖÆ¡£
¡¡¡¡´ÓÉ豸ºÅÓÃÀ´Çø±ðÇý¶¯³ÌÐò¿ØÖƵĶà¸öÉ豸¡£ÉÏÃæÀý×ÓÖеĴÓÉ豸ºÅ²»ÏàͬÊÇÒòΪËüÃDZ»Ê¶±ðΪ¼¸¸öÉ豸¡£
¡¡¡¡É豸±»´ó¸ÅµÄ·ÖΪÁ½Àࣺ×Ö·ûÉ豸ºÍ¿éÉ豸¡£Çø±ðÊÇ¿éÉ豸Óлº³åÇø£¬ËùÒÔËüÃÇ¿ÉÒÔ¶ÔÇëÇó½øÐÐÓÅ»¯ÅÅÐò¡£ Õâ¶Ô´æ´¢É豸ÓÈÆäÖØÒª£¬ÒòΪ¶ÁдÏàÁÚµÄÎļþ×ܱȶÁдÏà¸ôºÜÔ¶µÄÎļþÒª¿ì¡£ÁíÒ»¸öÇø±ðÊÇ¿éÉ豸ÊäÈëºÍÊä³ö ¶¼ÊÇÒÔÊý¾Ý¿éΪµ¥Î»µÄ£¬µ«ÊÇ×Ö·ûÉ豸¾Í¿ÉÒÔ×ÔÓɶÁдÈÎÒâÁ¿µÄ×Ö½Ú¡£´ó²¿·ÖÓ²¼þÉ豸Ϊ×Ö·ûÉ豸£¬ÒòΪËüÃÇ ²»ÐèÒª»º³åÇøºÍÊý¾Ý²»ÊÇ°´¿éÀ´´«ÊäµÄ¡£Äã¿ÉÒÔͨ¹ýÃüÁîls -lÊä³öµÄÍ·Ò»¸ö×Öĸʶ±ðÒ»¸ö É豸ΪºÎÖÖÉ豸¡£Èç¹ûÊÇ'b' ¾ÍÊÇ¿éÉ豸£¬Èç¹ûÊÇ'c'¾ÍÊÇ×Ö·ûÉ豸¡£ÒÔÉÏÄã¿´µ½µÄÊÇ¿éÉ豸¡£Õâ¶ù»¹ÓÐһЩ×Ö·ûÉ豸Îļþ£¨´®¿Ú£©£º
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡Èç¹ûÄãÏë¿´Ò»ÏÂÒÑ·ÖÅäµÄÖ÷É豸ºÅ¶¼ÊÇЩʲôÉ豸¿ÉÒÔ¿´Ò»ÏÂÎļþ /usr/src/linux/Documentation/devices.txt¡£
¡¡¡¡ÏµÍ³°²×°Ê±£¬ËùÓеÄÕâЩÉ豸Îļþ¶¼ÊÇÓÉÃüÁîmknod½¨Á¢µÄ¡£È¥½¨Á¢Ò»¸öеÄÃû½Ð coffee'£¬Ö÷É豸ºÅΪ12ºÍ´ÓÉ豸ºÅΪ2µÄÉ豸Îļþ£¬Ö»Òª¼òµ¥µÄ Ö´ÐÐÃüÁîmknod /dev/coffee c 12 2¡£Äã²¢²»ÊDZØÐ뽫É豸Îļþ·ÅÔÚĿ¼ /devÖУ¬ÕâÖ»ÊÇÒ»¸ö´«Í³¡£Linus±¾ÈËÊÇÕâÑù×öµÄ£¬ËùÒÔÄã×îºÃÒ²²»ÀýÍâ¡£µ«ÊÇ£¬µ±Äã²âÊÔÒ»¸öÄ£¿éʱ£¬ÔÚ¹¤×÷Ŀ¼½¨Á¢Ò»¸öÉ豸ÎļþÒ²²»´í¡£ Ö»Òª±£Ö¤Íê³Éºó½«Ëü·ÅÔÚÇý¶¯³ÌÐòÕҵõ½µÄµØ·½¡£
¡¡¡¡ÎÒ»¹ÏëÉùÃ÷ÔÚÒÔÉÏÌÖÂÛÖÐÒþº¬µÄ¼¸µã¡£µ±ÏµÍ³·ÃÎÊÒ»¸öϵͳÎļþʱ£¬ ϵͳÄÚºËֻʹÓÃÖ÷É豸ºÅÀ´Çø±ðÉ豸ÀàÐͺ;ö¶¨Ê¹ÓúÎÖÖÄÚºËÄ£¿é¡£ÏµÍ³ Äں˲¢²»ÐèÒªÖªµÀ´ÓÉ豸ºÅ¡£ÄÚºËÄ£¿éÇý¶¯±¾Éí²Å¹Ø×¢´ÓÉ豸ºÅ£¬²¢ÓÃÖ®À´ Çø±ðÆä²Ù×ݵIJ»Í¬É豸¡£
¡¡¡¡ÁíÍ⣬ÎÒÕâ¶ùÌáµ½µÄÓ²¼þÊDZÈÄÇÖÖ¿ÉÒÔÎÕÔÚÊÖÀïµÄPCI¿¨ÉÔ΢³éÏóÒ»µãµÄ¶«Î÷¡£¿´Ò»ÏÂÏÂÃæµÄÁ½¸öÉ豸Îļþ£º
¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡ÄãÏÖÔÚÁ¢¼´Ã÷°×ÕâÊÇ¿ìÉ豸µÄÉ豸Îļþ²¢ÇÒËüÃÇÊÇÓÐÏàͬµÄÇý¶¯ÄÚºËÄ£¿éÀ´²Ù×Ý £¨Ö÷É豸ºÅ¶¼Îª2)£©¡£ÄãÒ²ÐíÒ²Òâʶµ½ËüÃǶ¼ÊÇÄãµÄÈíÅÌÇý¶¯Æ÷£¬¼´Ê¹Äãʵ¼ÊÉÏÖ»ÓÐÒ»¸öÈíÅÌÇý¶¯Æ÷¡£ÎªÊ²Ã´ÊÇÁ½¸öÉ豸Îļþ£¿ÒòΪËüÃÇÆäÖеÄÒ»¸ö´ú±í×Å ÄãµÄ1.44 MBÈÝÁ¿µÄÈíÇý£¬ÁíÒ»¸ö´ú±í×ÅÄãµÄ1.68 MBÈÝÁ¿µÄ£¬±»Ä³Ð©È˳ÆΪ¡°³¬¼¶¸ñʽ»¯¡±µÄÈíÇý¡£ Õâ¾ÍÊÇÒ»¸ö²»Í¬µÄ´ÓÉ豸ºÅ´ú±í×ÅÏàͬӲ¼þÉ豸µÄÀý×Ó¡£ÇëÇå³þµÄÒâʶµ½ÎÒÃÇÌáµ½µÄÓ²¼þÓÐʱ¿ÉÄÜÊǷdz£³éÏóµÄ¡£
intelligent ÓÚ 2006-11-23 09:41:24·¢±í:
¡¡¡¡Óû§¿Õ¼äºÍÄں˿ռä
¡¡¡¡ÄÚºËȫȨ¸ºÔð¶ÔÓ²¼þ×ÊÔ´µÄ·ÃÎÊ£¬²»¹Ü±»·ÃÎʵÄÊÇÏÔʾ¿¨£¬Ó²ÅÌ£¬»¹ÊÇÄÚ´æ¡£ Óû§³ÌÐò³£ÎªÕâЩ×ÊÔ´¾ºÕù¡£¾ÍÈçͬÎÒÔÚ±£´æÕâ·ÝÎĵµÍ¬Ê±±¾µØÊý¾Ý¿âÕýÔÚ¸üС£ Îҵıà¼Æ÷vim½ø³ÌºÍÊý¾Ý¿â¸üнø³ÌͬʱҪÇó·ÃÎÊÓ²ÅÌ¡£Äں˱ØÐëʹÕâЩÇëÇóÓÐÌõ²»ÎɵĽøÐУ¬¶ø²»ÊÇËæÓû§µÄÒâÔ¸Ìṩ¼ÆËã»ú×ÊÔ´¡£ Ϊ·½±ãʵÏÖÕâÖÖ»úÖÆ£¬ CPU ¿ÉÒÔÔÚ²»Í¬µÄ״̬ÔËÐС£²»Í¬µÄ״̬¸³Ó費ͬµÄÄã¶Ôϵͳ²Ù×÷µÄ×ÔÓÉ¡£Intel 80836 ¼Ü¹¹ÓÐËÄÖÖ״̬¡£ UnixֻʹÓÃÁËÆäÖÐ µÄÁ½ÖÖ£¬×î¸ß¼¶µÄ״̬(²Ù×÷״̬0,¼´¡°³¬¼¶×´Ì¬¡±£¬¿ÉÒÔÖ´ÐÐÈκβÙ×÷)ºÍ×îµÍ¼¶µÄ״̬ (¼´¡°Óû§×´Ì¬¡±)¡£
¡¡¡¡»ØÒäÒÔÏÂÎÒÃǶԿ⺯ÊýºÍϵͳµ÷ÓõÄÌÖÂÛ£¬Ò»°ã¿âº¯ÊýÔÚÓû§Ì¬Ö´ÐС£ ¿âº¯Êýµ÷ÓÃÒ»¸ö»ò¼¸¸öϵͳµ÷Ó㬶øÕâЩϵͳµ÷ÓÃΪ¿âº¯ÊýÍê³É¹¤×÷£¬µ«ÊÇÔÚ³¬¼¶×´Ì¬¡£ Ò»µ©ÏµÍ³µ÷ÓÃÍê³É¹¤×÷ºóϵͳµ÷Óþͷµ»Øͬʱ³ÌÐòÒ²·µ»ØÓû§Ì¬¡£
¡¡¡¡ÃüÃû¿Õ¼ä
¡¡¡¡Èç¹ûÄãÖ»ÊÇдһЩ¶ÌСµÄC³ÌÐò£¬Äã¿ÉΪÄãµÄ±äÁ¿ÆðÒ»¸ö·½±ãµÄºÍÒ×ÓÚÀí½âµÄ±äÁ¿Ãû¡£ µ«ÊÇ£¬Èç¹ûÄãдµÄ´úÂëÖ»ÊÇÐí¶àÆäËüÈËдµÄ´úÂëµÄÒ»²¿·Ö£¬ÄãµÄÈ«¾ÖһЩ¾Í»áÓëÆäÖеÄÈ«¾Ö±äÁ¿·¢Éú³åÍ»¡£ ÁíÒ»¸öÇé¿öÊÇÒ»¸ö³ÌÐòÖÐÓÐÌ«¶àµÄÄÑÒÔÀí½âµÄ±äÁ¿Ãû£¬ÕâÓֻᵼÖ±äÁ¿ÃüÃû¿Õ¼äÎÛȾ ÔÚ´óÐÍÏîÄ¿ÖУ¬±ØÐëŬÁ¦¼Çס±£ÁôµÄ±äÁ¿Ãû£¬»òΪ¶ÀÒ»ÎÞ¶þµÄÃüÃûʹÓÃÒ»ÖÖͳһµÄ·½·¨¡£
¡¡¡¡µ±±àдÄں˴úÂëʱ£¬¼´Ê¹ÊÇ×îСµÄÄ£¿éÒ²»áͬÕû¸öÄÚºËÁ¬½Ó£¬ËùÒÔÕâµÄÈ·ÊǸöÁîÈËÍ·Í´µÄÎÊÌâ¡£×îºÃµÄ½â¾ö·½·¨ÊÇÉùÃ÷ÄãµÄ±äÁ¿Îªstatic¾²Ì¬µÄ²¢ÇÒΪÄãµÄ·ûºÅʹÓÃÒ»¸ö¶¨ÒåµÄºÜºÃµÄǰ׺¡£´«Í³ÖУ¬Ê¹ÓÃСд×ÖĸµÄÄÚºËǰ׺¡£Èç¹ûÄã²»Ï뽫ËùÓеĶ«Î÷¶¼ÉùÃ÷Ϊstatic¾²Ì¬µÄ£¬ ÁíÒ»¸öÑ¡ÔñÊÇÉùÃ÷Ò»¸ösymbol table£¨·ûºÅ±í£©²¢ÏòÄÚºË×¢²á¡£ÎÒÃǽ«ÔÚÒÔºóÌÖÂÛ¡£
¡¡¡¡Îļþ/proc/kallsyms±£´æ×ÅÄÚºËÖªµÀµÄËùÓеķûºÅ£¬Äã¿ÉÒÔ·ÃÎÊËüÃÇ£¬ ÒòΪËüÃÇÊÇÄں˴úÂë¿Õ¼äµÄÒ»²¿·Ö¡£
¡¡¡¡´úÂë¿Õ¼ä
¡¡¡¡ÄÚ´æ¹ÜÀíÊÇÒ»¸ö·Ç³£¸´ÔӵĿÎÌâ¡£O'ReillyµÄ¡¶Understanding The Linux Kernel¡·¾ø´ó²¿·Ö¶¼ÔÚ ÌÖÂÛÄÚ´æ¹ÜÀí£¡ÎÒÃÇ ²¢²»×¼±¸×¨×¢ÓÚÄÚ´æ¹ÜÀí£¬µ«ÓÐһЩ¶«Î÷»¹ÊǵÃÖªµÀµÄ¡£
¡¡¡¡Èç¹ûÄãûÓÐÈÏÕ濼ÂǹýÄÚ´æÉè¼ÆȱÏÝÒâζ×Åʲô£¬ÄãÒ²Ðí»á¾ªÑȵĻñÖªÒ»¸öÖ¸Õë²¢²»Ö¸ÏòÒ»¸öÈ·ÇеÄÄÚ´æÇøÓò¡£µ±Ò»¸ö½ø³Ì½¨Á¢Ê±£¬ÄÚºËΪËü·ÖÅäÒ»²¿·ÖÈ·ÇеÄʵ¼ÊÄÚ´æ¿Õ¼ä²¢°ÑËü½»¸ø½ø³Ì£¬±»½ø³ÌµÄ´úÂ룬±äÁ¿£¬¶ÑÕ»ºÍÆäËüһЩ¼ÆËã»úѧµÄר¼Ò²ÅÃ÷°×µÄ¶«Î÷ʹÓÃ[4]¡£ÕâЩÄÚ´æ´Ó$0$ ¿ªÊ¼²¢¿ÉÒÔÀ©Õ¹µ½ÐèÒªµÄµØ·½¡£ÕâЩÄÚ´æ¿Õ¼ä²¢²»Öصþ£¬ËùÒÔ¼´Ê¹½ø³Ì·ÃÎÊͬһ¸öÄÚ´æµØÖ·£¬ÀýÈç0xbffff978£¬ÕæʵµÄÎïÀíÄÚ´æµØÖ·ÆäʵÊDz»Í¬µÄ¡£½ø³Ìʵ¼ÊÖ¸ÏòµÄÊÇÒ»¿é±»·ÖÅäµÄÄÚ´æÖÐÒÔ0xbffff978 ΪƫÒÆÁ¿µÄÒ»¿éÄÚ´æÇøÓò¡£¾ø´ó¶àÊýÇé¿öÏ£¬Ò»¸ö½ø³ÌÏñÆÕͨµÄ"Hello, World"²»¿ÉÒÔ·ÃÎʱðµÄ½ø³ÌµÄ ÄÚ´æ¿Õ¼ä£¬¾¡¹ÜÓÐʵÏÖÕâÖÖ»úÖƵķ½·¨¡£ÎÒÃǽ«ÔÚÒÔºóÌÖÂÛ¡£
¡¡¡¡ÄÚºË×Ô¼ºÒ²ÓÐÄÚ´æ¿Õ¼ä¡£¼ÈȻһ¸öÄÚºËÄ£¿é¿ÉÒÔ¶¯Ì¬µÄ´ÓÄÚºËÖмÓÔغÍжÔØ£¬ËüÆäʵÊǹ²ÏíÄÚºËµÄ ÄÚ´æ¿Õ¼ä¶ø²»ÊÇ×Ô¼ºÓµÓжÀÁ¢µÄÄÚ´æ¿Õ¼ä¡£Òò´Ë£¬Ò»µ©ÄãµÄÄ£¿é¾ßÓÐÄÚ´æÉè¼ÆȱÏÝ£¬Äں˾ÍÊÇÄÚ´æÉè¼ÆȱÏÝÁË¡£ Èç¹ûÄãÔÚ´íÎóµÄ¸²¸ÇÊý¾Ý£¬ÄÇôÄã¾ÍÔÚÆÆ»µÄں˵ĴúÂë¡£Õâ±ÈÏÖÔÚÌýÆðÀ´µÄ»¹Ôã¡£ËùÒÔ¾¡Á¿Ð¡ÐĽ÷É÷¡£
¡¡¡¡Ë³±ãÌáһϣ¬ÒÔÉÏÎÒËùÖ¸³öµÄ¶ÔÓÚÈκε¥ÕûÌåÄں˵IJÙ×÷ϵͳ¶¼ÊÇÕæʵµÄ[5]¡£ Ò²´æÔÚÄ£¿é»¯Î¢Äں˵IJÙ×÷ϵͳ£¬Èç GNU Hurd ºÍ QNX Neutrino¡£