Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

linux module Makefile

²»ÖªµÀÔÚʲçÛʱºò£¬×ªÔØLinux ³öÏÖÁË module ÕâÖÖ¶«Î÷£¬µÄÈ·£¬ËüÊÇ Linux µÄÒ»´ó¸ïС£ÓÐÁË module Ö®ºó£¬Ð´
device driver ²»ÔÙÊÇÒ»Ïî¶ñÃΣ¬ÐÞ¸Ä kernel Ò²²»ÔÙÊÇÒ»¼þÍ´¿àµÄÊÂÁË¡£ÒòΪÄã²»ÐèҪÿ´ÎÒª²âÊÔ driver ¾ÍÖØÐÂ
compile kernel Ò»´Î¡£ÄǼòÖ±ÊÇ»áÀÛËÀÈË¡£Module ¿ÉÒÔÔÊÐíÎÒÃǶ¯Ì¬µÄ¸Ä±ä kernel£¬¼ÓÔØ device
driver£¬¶øÇÒËüÒ²ÄÜËõ¶ÌÎÒÃÇ driver development µÄʱ¼ä¡£ÔÚÕâÆªÎÄÕÂÀÎÒ½«Òª¸ú¸÷λ½éÉÜһϠmodule
µÄÔ­Àí£¬ÒÔ¼°ÈçºÎдһ¸ö module¡£
module ·­Òë³ÉÖÐÎľÍÊÇÄ£¿é£¬²»¹ý£¬ÊÂʵÉÏÈ¥·­ÒëÕâ¸ö×ÖÒ»µã¶¼Ã»ÒâÒå¡£ÔÚ½²Ä£¿é֮ǰ£¬ÎÒÏȾÙÒ»¸öÀý×Ó¡£ÏàÐźܶàÈ˶¼Óùý RedHat¡£ÔÚ
RedHat ÀÎÒÃÇ¿ÉÒÔÖ´ÐÐ sndconfig£¬Ëü¿ÉÒÔ°ïÎÒÃÇ config Éù¿¨¡£config
ÍêÖ®ºóÈç¹û×½µÃµ½ÄãµÄÉù¿¨£¬ÄÇÄãµÄÉù¿¨ÂíÉϾͿÉÒÔ¶¯ÁË£¬¶øÇÒ»¹²»ÓÃÖØÐ¼¤»î¼ÆËã»ú¡£ÕâÊÇÔõçÛ×öµÄÄØ ? ¾ÍÊÇ¿¿module¡£module
ÆäʵÊÇÒ»°ãµÄ³ÌÐò¡£µ«ÊÇËü¿ÉÒÔ±»¶¯Ì¬Ôص½ kernel Àï³ÉΪ kernelµÄÒ»²¿·Ö¡£Ôص½ kernel ÀïµÄ module Ëü¾ßÓиú
kernel Ò»ÑùµÄȨÁ¦¡£¿ÉÒÔ access ÈκΠkernel µÄ data structure¡£ÄãÌý¹ý kdebug Âð ? ËüÊÇÓÃÀ´
debug kernel µÄ¡£Ëü¾ÍÊÇÏȽ«Ëü±¾ÉíµÄÒ»¸ö module ÔØµ½ kernel À¶øÔÚ user space µÄ gdb
¾Í¿ÉÒÔ¾­ÓɸúÕâ¸ö module ¹µÍ¨£¬µÃÖª kernel ÀïµÄ data structure µÄÖµ£¬³ý´ËÖ®Í⣬»¹¿ÉÒÔ¾­ÓÉÔØµ½ kernel µÄ
module È¥¸ü¸Ä kernel Àï data structure¡£
ÎÒÃÇÖªµÀ£¬ÔÚд C ³ÌÐòµÄʱºò£¬Ò»¸ö³ÌÐòÖ»ÄÜÓÐÒ»¸ö main¡£Kernel ±¾ÉíÆäʵҲÊÇÒ»¸ö³ÌÐò£¬Ëü±¾ÉíÒ²Óиö main£¬½Ð
start_kernel()¡£µ±ÎÒÃǰÑÒ»¸ö module ÔØµ½ kernel ÀïµÄʱºò£¬Ëü»á¸ú kernel ÕûºÏÔÚÒ»Æð£¬³ÉΪ kernel
µÄÒ»²¿·Ö¡£Çë¸÷λÏëÏ룬ÄÇ module ¿ÉÒÔÓÐ main Âð ? ´ð°¸ºÜÃ÷ÏԵģ¬ÊÇ No¡£ÀíÓɺܼòµ¥¡£Ò»¸ö³ÌÐòÖ»ÄÜÓÐÒ»¸ö main¡£ÔÚʹÓÃ
module ʱ£¬ÓÐÒ»µãÒª¼ÇסµÄÊÇ module ÊÇ´¦ÓÚ±»¶¯µÄ½ÇÉ«¡£ËüÊÇÌṩijЩ¹¦ÄÜÈñðÈËȥʹÓõġ£
Kernel ÀïÓÐÒ»¸ö±äÁ¿½Ð module_list£¬Ã¿µ± user ½«Ò»¸ö module ÔØµ½ kernel ÀïµÄʱºò£¬Õâ¸ö module
¾Í»á±»¼Ç¼ÔÚ module_list ÀïÃæ¡£µ± kernel ҪʹÓõ½Õâ¸ö module ÌṩµÄ function ʱ£¬Ëü¾Í»áÈ¥ search
Õâ¸ö list£¬ÕÒµ½ module£¬È»ºóÔÙʹÓÃÆäÌṩµÄ function »ò variable¡£Ã¿Ò»¸ö module ¶¼¿ÉÒÔ export
һЩ function »ò±äÁ¿À´ÈñðÈËʹÓᣳý´ËÖ®Í⣬module Ò²¿ÉÒÔʹÓÃÒѾ­Ôص½ kernel ÀïµÄ module ÌṩµÄ
function¡£ÕâÖÖÇéÐνÐ×ö module stack¡£±È·½Ëµ£¬mod


Ïà¹ØÎĵµ£º

VmwareÀïLinuxÔÚx windowsÓëÐéÄâÖÕ¶ËÖ®¼äÇл»·½·¨

    µ±ÎÒÃÇÔÚVmware»òÕ߯äËûÐéÄâ»úÖа²×°Linuxºó£¬ÏëÔÚX
WindowsÓëÐéÄâÖÕ¶ËÖ®¼äÇл»Ê±£¬È´·¢ÏÖCtrl+Alt+Fx²»Æð×÷Óã¬ÄÇôÎÒÃÇÈçºÎ½â¾öÕâ¸öÎÊÌâÄØ£¿Æäʵ·½·¨ºÜ¼òµ¥£¬ÎÒÃÇÖ»ÐèÒª½«Vmware»ò
Õ߯äËûÐéÄâ»úÈí¼þµÄÈȼü¸Ä³ÉCtrl+Alt+Shift¼´¿É£¬ÈçVmware¾ßÌå·½·¨ÈçÏ£ºÖÐÎİ旗ѡÔñ±à¼­—&mdash ......

ÓÃvmstat²éLINUXÖÐÐÔÄÜÊÇ·ñ×ã¹»

vmstat 5 10 ºÍ vmstat -d
r-->;ÔÚÔËÐжÓÁÐÖеȴýµÄ½ø³ÌÊý
b-->;ÔڵȴýioµÄ½ø³ÌÊý
w-->;¿ÉÒÔ½øÈëÔËÐжÓÁе«±»Ìæ»»µÄ½ø³Ì
memoy
swap-->;ÏÖʱ¿ÉÓõĽ»»»Äڴ棨k±íʾ£©
free-->;¿ÕÏеÄÄڴ棨k±íʾ£©
pages
re£­£­¡·»ØÊÕµÄÒ³Ãæ
mf£­£­¡··ÇÑÏÖØ´íÎóµÄÒ³Ãæ
pi£­£­¡·½øÈëÒ³ÃæÊý£¨k±íʾ£©
po£ ......

½«Linux´úÂëÒÆÖ²µ½WindowsµÄ¼òµ¥·½·¨(1)

Ò»£®Ç°ÑÔ
¡¡¡¡LinuxÓµÓзḻ¸÷ÖÖÔ´´úÂë×ÊÔ´,µ«ÊǴ󲿷ִúÂëÔÚWindowsƽ̨Çé¿öÊÇÎÞ·¨Õý³£±àÒëµÄ¡£Windowsƽ̨¸ù±¾ÎÞ·¨Ö±½ÓÀûÓÃÕâЩԴ´úÂë×ÊÔ´¡£Èç¹ûÏëҪʹÓÃÍêÕûµÄ´úÂ룬¾ÍÒª×öÒÆÖ²¹¤×÷¡£ÒòΪC/C++ LibraryµÄ²»Í¬ºÍÆäËûµÄһЩԭÒò£¬ÒÆÖ²C/C++´úÂëÊÇÒ»ÏîÀ§ÄѵŤ×÷¡£±¾ÎĽ«ÒÔÒ»¸öʵ¼ÊµÄÀý×Ó£¨Tar£©À´ËµÃ÷ÈçºÎ°ÑLinux´úÂëÒÆÖ² ......

linux¶àÏ̺߳ÃÎÄÕÂ


1
¡¢Ï̵߳Ĵ´½¨¡¢ÖÕÖ¹¼°¿ØÖÆ£º
      
Èκνø³ÌÔÚÆô¶¯Ê±¾ÍÒÑÓÐÁËÒ»¸öÖ÷Ị̈߳¬Èç¹ûÐèÒªÔÙÉú³ÉÏß³ÌÔòʹÓÃ
pthread_create
º¯Êý£¬Ôڸú¯ÊýÖпÉÒÔÖ¸¶¨Ï̵߳ÄÊôÐÔ¡¢Ïß³ÌÀý³Ì¡¢´«¸øÏß³ÌÀý³ÌµÄ²ÎÊý¡£Ïß³ÌÀý³ÌÊÇÒ»¸öÓû§×Ô¶¨ÒåµÄº¯Êý£¬¼°Ïß³ÌÖ´ÐеĴúÂë¡£µ±Ïß³ÌÀý³Ì·µ»ØÊ±£¬Ïß³ÌÔò½áÊøÔËÐУ¬ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ