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

linuxÈíÖжϻúÖÆ


 
 
linuxÈíÖжϻúÖÆ
 
 
ÖжϷþÎñ³ÌÐòÍùÍù¶¼ÊÇÔÚCPU¹ØÖжϵÄÌõ¼þÏÂÖ´Ðеģ¬ÒÔ±ÜÃâÖжÏǶÌ×¶øÊ¹¿ØÖƸ´ÔÓ»¯¡£µ«ÊÇCPU¹ØÖжϵÄʱ¼ä²»ÄÜÌ«³¤£¬·ñÔòÈÝÒ×¶ªÊ§ÖжÏÐźš£Îª´Ë£¬ Linux½«ÖжϷþÎñ³ÌÐòÒ»·ÖΪ¶þ£¬¸÷³Æ×÷“Top Half”ºÍ“Bottom Half”¡£Ç°Õßͨ³£¶Ôʱ¼äÒªÇó½ÏΪÑϸñ£¬±ØÐëÔÚÖжÏÇëÇó·¢ÉúºóÁ¢¼´»òÖÁÉÙÔÚÒ»¶¨µÄʱ¼äÏÞÖÆÄÚÍê³É¡£Òò´ËΪÁ˱£Ö¤ÕâÖÖ´¦ÀíÄÜÔ­×ÓµØÍê³É£¬Top Halfͨ³£ÊÇÔÚCPU¹ØÖжϵÄÌõ¼þÏÂÖ´Ðеġ£¾ßÌåµØËµ£¬Top HalfµÄ·¶Î§°üÀ¨£º´ÓÔÚIDTÖеǼǵÄÖжÏÈë¿Úº¯ÊýÒ»Ö±µ½Çý¶¯³ÌÐò×¢²áÔÚÖжϷþÎñ¶ÓÁÐÖеÄISR¡£¶øBottom HalfÔòÊÇTop Half¸ù¾ÝÐèÒªÀ´µ÷¶ÈÖ´Ðеģ¬ÕâЩ²Ù×÷ÔÊÐíÑÓ³Ùµ½ÉÔºóÖ´ÐУ¬ËüµÄʱ¼äÒªÇó²¢²»Ñϸñ£¬Òò´ËËüͨ³£ÊÇÔÚCPU¿ªÖжϵÄÌõ¼þÏÂÖ´Ðеġ£
µ«ÊÇ£¬ LinuxµÄÕâÖÖBottom Half£¨ÒÔϼò³ÆBH£©»úÖÆÓÐÁ½¸öȱµã£¬Ò²¼´£º£¨1£©ÔÚÈÎÒâһʱ¿Ì£¬ÏµÍ³Ö»ÄÜÓÐÒ»¸öCPU¿ÉÒÔÖ´ÐÐBottom Half´úÂ룬ÒÔ·ÀÖ¹Á½¸ö»ò¶à¸öCPUͬʱÀ´Ö´ÐÐBottom Halfº¯Êý¶øÏ໥¸ÉÈÅ¡£Òò´ËBH´úÂëµÄÖ´ÐÐÊÇÑϸñ“´®Ðл¯”µÄ¡££¨2£©BHº¯Êý²»ÔÊÐíǶÌס£
ÕâÁ½¸öȱµãÔÚµ¥CPUϵͳÖÐÊÇÎ޹ؽôÒªµÄ£¬µ«ÔÚSMPϵͳÖÐÈ´ÊǷdz£ÖÂÃüµÄ¡£ÒòΪBH»úÖÆµÄÑϸñ´®Ðл¯Ö´ÐÐÏÔȻûÓгä·ÖÀûÓÃSMPϵͳµÄ¶àCPUÌØµã¡£Îª´Ë£¬Linux2.4ÄÚºËÔÚBH»úÖÆµÄ»ù´¡ÉϽøÐÐÁËÀ©Õ¹£¬Õâ¾ÍÊÇËùνµÄ“ÈíÖжÏÇëÇ󔣨softirq£©»úÖÆ¡£
Linux µÄsoftirq»úÖÆÊÇÓëSMP½ôÃܲ»¿É·ÖµÄ¡£Îª´Ë£¬Õû¸ösoftirq»úÖÆµÄÉè¼ÆÓëʵÏÖÖÐ×Ôʼ×ÔÖÕ¶¼¹á³¹ÁËÒ»¸ö˼Ï룺“Ë­´¥·¢£¬Ë­Ö´ÐД£¨Who marks£¬Who runs£©£¬Ò²¼´´¥·¢ÈíÖжϵÄÄǸöCPU¸ºÔðÖ´ÐÐËüËù´¥·¢µÄÈíÖжϣ¬¶øÇÒÿ¸öCPU¶¼ÓÉËü×Ô¼ºµÄÈíÖжϴ¥·¢Óë¿ØÖÆ»úÖÆ¡£Õâ¸öÉè¼ÆË¼ÏëҲʹµÃsoftirq »úÖÆ³ä·ÖÀûÓÃÁËSMPϵͳµÄÐÔÄܺÍÌØµã¡£
LinuxÔÚinclude/linux/interrupt.hÍ·ÎļþÖж¨ÒåÁËÊý¾Ý½á¹¹softirq_action£¬À´ÃèÊöÒ»¸öÈíÖжÏÇëÇó£¬ÈçÏÂËùʾ£º
/* softirq mask and active fields moved to irq_cpustat_t in
* asm/hardirq.h to get better cache usage. KAO
*/
struct softirq_action
{
void (*action)(struct softirq_action *);
void *data;
}
ÆäÖУ¬º¯ÊýÖ¸ÕëactionÖ¸ÏòÈíÖжÏÇëÇóµÄ·þÎñº¯Êý£¬¶øÖ¸ÕëdataÔòÖ¸ÏòÓÉ·þÎñº¯Êý×ÔÐнâÊ͵ÄÊý¾Ý¡£
»ùÓÚÉÏÊöÈíÖжÏÃèÊö·û£¬LinuxÔÚkernel/softirq.cÎļþÖж¨ÒåÁËÒ»¸öÈ«¾ÖµÄsoftirq_vec[32]Êý×飺
static struct softirq_action softirq_vec[32] __cachel


Ïà¹ØÎĵµ£º

½»²æ±àÒë»ùÓÚARMÌåϵ½á¹¹µÄLinuxÄÚºË

½»²æ±àÒë»ùÓÚARMµÄLinuxÄÚºË֮ǰ,ÎÒÃÇ×÷ÒÔϵÄ×¼±¸¹¤×÷£º
  1¡¢ÒѾ­°²×°ºÃÒ»Ì×ÄãÊìϤµÄ½»²æ±àÒ빤¾ß£¨½¨Á¢ºÃ½»²æ±àÒë»·¾³£©¡£
  2¡¢Ñ¡ÔñÒ»Ì×ÄãÊìϤµÄ¹¦ÄÜ×ã¹»ÄãʹÓõÄÄںˣ¬µ±È»£¬Õâ¸öÄÚºËÊÇÊʺÏÓÃÄãµÄ½»²æ±àÒ빤¾ß±àÒëµÄ¡£
  ÕÆÎÕÒÔÉÏ2µã£¬»ù±¾ÉϾͲ¶àÁË¡£ÕâÀïĬÈÏÄãÖªµÀµÄһЩ³£ÓÃ֪ʶ£­£­£­£­ÃüÁî£ ......

linux shell±à³ÌÈëÃÅ

ͨ³£Çé¿öÏ£¬ÎÒÃÇ´ÓÃüÁîÐÐÊäÈëÃüÁîÿÊäÈëÒ»´Î¾ÍÄܹ»µÃµ½ÏµÍ³µÄÒ»´ÎÏìÓ¦¡£Ò»µ©ÐèÒªÎÒÃÇÒ»¸ö½Ó×ÅÒ»¸öµÄÊäÈëÃüÁî¶ø×îºó²ÅµÃµ½½á¹ûµÄʱºò£¬ÕâÑùµÄ×ö·¨ÏÔÈ»¾ÍûÓÐЧÂÊ¡£Òª´ïµ½ÕâÑùµÄÄ¿µÄ£¬Í¨³£ÎÒÃÇÀûÓÃshell³ÌÐò»òÕßshell½Å±¾À´ÊµÏÖ¡£
Ò»¡¢¼ò½é
Shell±à³ÌÓкܶàÀàËÆCÓïÑÔºÍÆäËû³ÌÐòÓïÑÔµÄÌØÕ÷£¬µ«ÊÇÓÖûÓбà³ÌÓïÑÔÄÇÑù¸´ÔÓ¡£ ......

LinuxÇý¶¯µÄÅäÖúͱàÒë½Å±¾

  ÔÚÍê³ÉÁËÇý¶¯³ÌÐò´úÂëµÄ±àд֮ºó£¬½ÓÏÂÀ´µÄÈÎÎñ¾ÍÊDZàÒë¡£linuxÄں˱àÒëµÄ¹ý³ÌÊÇͨ¹ýÄÚºËÔ´ÂëµÄ¸ùĿ¼ºÍ¸÷×ÓĿ¼ÖеÄMakefile·Ö¼¶¹ÜÀíµÄ¡£ÆäÖиùĿ¼µÄMakefileÊÇ×îÖØÒªµÄ£¬Ëü¿ÉÒÔ¿´³ÉÊÇÆäËûMakefile×î³õµÄÈë¿Ú¡£Ëü¸ºÔð¶¨ÒåËùÓÐÓëÌåϵ½á¹¹Î޹صıäÁ¿ºÍÄ¿±ê£¬¶ÁÈ¡.configÎļþ£¬²¢¸ù¾ÝÆäÐÅÏ¢×îÖÕÉú³Évmlinux(elf¸ñʽµÄ ......

½èÖúsnifferÕï¶ÏLinuxÍøÂç¹ÊÕÏ


Ðá̽Æ÷(sniffer)ÔÚÍøÂ簲ȫÁìÓòÊÇÒ»°ÑË«Èн££¬Ò»·½Ãæ³£±»ºÚ¿Í×÷ÎªÍøÂç¹¥»÷¹¤¾ß£¬´Ó
¶øÔì³ÉÃÜÂë±»µÁ¡¢Ãô¸ÐÊý¾Ý±»ÇԵȰ²È«Ê¼þ£»ÁíÒ»·½ÃæÓÖÔÚЭÖúÍøÂç¹ÜÀíÔ±¼à²âÍøÂç×´¿ö¡¢Õï¶ÏÍøÂç¹ÊÕÏ¡¢ÅųýÍøÂçÒþ»¼µÈ·½ÃæÓÐ×Ų»¿ÉÌæ´úµÄ×÷Óá£Ðá̽Æ÷ÊÇÆóÒµ
±Ø²»¿ÉÉÙµÄÍøÂç¹ÜÀí¹¤¾ß¡£±¾ÎÄÒÔLinuxƽ̨ÏÂÈý¸ö³£ÓõÄÍøÂçÐá̽Æ÷Tcpdump¡¢Eth ......

linuxѹËõÃüÁî tar

root@linux ~]# tar [-cxtzjvfpPN] ÎļþÓëĿ¼ ....
²ÎÊý£º
-c £º½¨Á¢Ò»¸öѹËõÎļþµÄ²ÎÊýÖ¸Áî(create µÄÒâ˼)£»
-x £º½â¿ªÒ»¸öѹËõÎļþµÄ²ÎÊýÖ¸Á
-t £º²é¿´ tarfile ÀïÃæµÄÎļþ£¡
ÌØ±ð×¢Ò⣬ÔÚ²ÎÊýµÄÏ´ïÖУ¬ c/x/t ½öÄÜ´æÔÚÒ»¸ö£¡²»¿Éͬʱ´æÔÚ£¡
ÒòΪ²»¿ÉÄÜͬʱѹËõÓë½âѹËõ¡£
-z £ºÊÇ·ñͬʱ¾ßÓÐ gzip µÄÊôÐÔ£¿Ò ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ