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

LinuxÖеÄÄÚ´æ·ÖÅäºÍÊÍ·ÅÖ®slab·Ö¸îÆ÷

  slab·ÖÅäÆ÷ÐÎÏóµØ˵¾ÍÊÇÏÈÓÉ»ï°é»úÖÆÉêÇë¿ÕÏÐÄÚ´æ¿Õ¼ä£¬È»ºóslab·ÖÅäÆ÷ÔÙ°ÑÕâ¸öÄÚ´æ¿Õ¼ä½øÐзָ°´Í¬Ñù´óСÀ´½øÐзָ×îºóÔÙÓÃһЩÊý¾Ý½á¹¹À´½øÐйÜÀí¡£ÉÏÃæÖ»ÊÇÐÎÏóµØ˵·¨¡£ÎÒÃÇƽʱ°ÑÓÉslab½øÐзָîºóµÄÄÚ´æÎÒÃdzÆ֮Ϊ¸ßËÙ»º´æÄÚ´æ¡£ÕâÑù¿´À´¾ÍÖªµÀËùνµÄ¸ßËÙ¾ÍÊÇ˵²»ÊÇÿ´Î·ÖÅäºÍÊÍ·ÅÄڴ涼ҪÕÒ»ï°é»úÖÆ£¬¿ÉÒÔÏÈ·ÃÎÊÕâЩ¸ßËÙÄÚ´æµÄ£¬ºÍÎÒÃÇÇ°ÃæÎÄÕÂÖÐÌáµ½µÄÀäÈÈÇøÊÇÒ»¸ö×÷Óõġ£ÎÒÃǻᷢÏÖÎÒÃÇÔ­À´ËµµÄÀäÈÈÇøºÍ»ï°é»úÖÆ£¬¶¼ÊÇÒÔҳΪµ¥Î»½øÐзÖÅäµÄ¡£Õâ¾ÍÓеãÏÞÖÆÁË£¬ÎªÊ²Ã´ÎÒ²»¿ÉÒÔÔÙ°´Ð¡µãµÄÄÚ´æÈ¥·ÖÅäÄØ£¿ËùÒԾͲúÉúÁËslab·ÖÅäÆ÷ÁË¡£
  µ±ÎÒÃÇ´Ó¸ßËÙ»º´æÄÚ´æÖзÖÅä¶ÔÏóʱ£¨ÕâÀïÎÒÃDz»ÔÙ˵ÄÚ´æÒ³ÁË£¬ÎÒÃǸÃΪ¶ÔÏ󣬼´ÄÚ´æ¶ÔÏ󣩣¬Ê×Ïȼì²é¶ÔÓ¦´¦ÀíÆ÷µÄ¸ßËÙ»º´æÄÚ´æÕóÁÐÖÐÊÇ·ñÓÐδʹÓõÄÄÚ´æ¶ÔÏó¡£Ê²Ã´ÊÇ´¦ÀíÆ÷µÄ¸ßËÙ»º´æÄÚ´æÕóÁУ¿--kmem_cache_t½á¹¹ÀïÃæҲΪÿ¸ö´¦ÀíÆ÷Ô¤ÁôÒ»¸ö¸ßËÙ»º³åÄÚ´æÕóÁУ¨struct array_cache£©£¬ÎÒÃǶ¼ÊÇÓÃÆä³ÉÔ±*array[NR_CPUS]Õâ¸öÖ¸ÕëÊý×éÀïÃæµÄÿ¸ö³ÉÔ±¶¼ÊÇÖ¸Ïòstruct array_cache½á¹¹±äÁ¿£¬½ô¸úÔÚstruct array_cache½á¹¹ºóÃæµÄÊÇÁ¬Ðø´æ·ÅµÄ¸Ãstruct array_cache½á¹¹Ö¸¶¨¸öÊýµÄ¶ÔÏóÖ¸Õ룬ÕâЩָÕëÖ¸ÏòµÄ¶ÔÏó¾ÍÊǽ«À´Òª±»·ÖÅäµÄ¿Õ¼ä¡£kmem_cache_t½á¹¹¾ÍÊÇËãÊÇÎÒÃÇ˵µÄ¸ßËÙ»º´æÄÚ´æµÄÃèÊö½á¹¹¡£
  Èç¹ûÎÒÃÇ·¢ÏÖ¶ÔÓ¦´¦ÀíÆ÷µÄ¸ßËÙ»º´æÄÚ´æÕóÁÐÖÐÓÐδʹÓõÄÄÚ´æ¶ÔÏó£¬Ö±½Ó°ÑÎÒÃǸղÅ˵µÄstruct arrary_cache½á¹¹Ö¸¶¨¸öÊýµÄ¶ÔÏóÖ¸Õë´«¸øµ÷ÓÃÕß¡£Èç¹ûûÓУ¬ÄÇôÊ×ÏȲéÕÒ¹²Ïí¸ßËÙ»º´æÄÚ´æÕóÁÐÖÐÊÇ·ñÓпÉÓõĶÔÏó£¬ÔÚ¸ßËÙ»º´æÄÚ´æÃèÊö½á¹¹£¨struct kmem_cache_t£©ÖÐÓÐÒ»¸ö³ÉÔ±¿ÉÒÔ·ÃÎʵ½Ëü£¬¾ÍÊÇstruct kmem_list3 listsÖеÄshare³ÉÔ±¡£ÆäʵÕâ¸öÊÇÕæÕý¶à¸öcpuµÄʱºò²Å»á²ÉÈ¡µÄ·½°¸¡£Èç¹û·¢ÏÖÕâÀïÓпÉÓÃÄÚ´æ¶ÔÏóµÄ»°£¬ÎÒÃÇÏÈ°ÑÄÚ´æ¶ÔÏóµÄµØÖ·¸´ÖƵ½¶ÔÓ¦´¦ÀíÆ÷µÄ¸ßËÙ»º´æÄÚ´æÕóÁÐÖУ¬ÔÙ´Ó´¦ÀíÆ÷µÄ¸ßËÙ»º´æÄÚ´æÕóÁÐÖзÖÅä¶ÔÏó¡£
  Ò»°ãÇé¿öÈç¹û¹²Ïí¸ßËÙ»º´æÄÚ´æÕóÁÐÖÐҲûÓпÉÓöÔÏóʱ£¬ÎÒÃǾÍÈ¥²éÕÒ²¿·Ö¿ÕÏкÍÈ«²¿¿ÕÏÐslabÁÐ±í¡£struct kmem_list3 listsÊǸßËÙ»º´æÄÚ´æÃèÊö½á¹¹struct kmem_cache_tµÄ³ÉÔ±£¬Õâ¸öÁ´±í½á¹¹¾ÍÊÇÓÃÀ´ÃèÊöÉÏÊöµÄslabÁÐ±í¡£Á´±í½á¹¹ÃèÊöÁËÈýÖÖ¸ßËÙ»º´æÄڴ浥룬ÓÉÒ»¸östruct slab½á¹¹¹ÜÀíµÄÒ»×éÌض¨´óСµÄÄÚ´æ¶ÔÏó½Ð×öÒ»¸ö¸ßËÙ»º´æÄڴ浥룬һ¸öÄڴ浥λ°üÀ¨Ò»Ð©´óСһÖµÄÄÚ´æ¶ÔÏó¡¢Ò»Ð©É«¿é£¨²»»á±»µ÷Óõģ¬Ö»ÊÇÆ𵽶ÔÆëµÄÓÃ;£©¡¢Ò»¸östruct slab½á¹¹¡¢Óëÿ¸öÄ


Ïà¹ØÎĵµ£º

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

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

Linux studying

2010-3-8
Ò»¡¢gccµ÷ÊÔ£º
Èç¹û±àÒëʱ£¬Ê¹ÓÃÏÂÃæµÄÖ¸Áî(Ôö¼ÓÁ˲ÎÊý-g)£¬¾Í»áÉú³É´øÔ´´úÂëµ÷ÊÔ·ûºÅµÄ¿ÉÖ´ÐÐÎļþ¡£±àÒëÐγɵĿÉÖ´ÐÐÎļþÓÐ7KB¡£Ö®ËùÒÔÔö¼ÓÁË2KB£¬¾ÍÊÇÒòΪÔö¼ÓµÄµ÷ÊÔ·ûºÅ¡£
gcc -o calc calcutlator.c -g
½øÒ»²½µØ£¬¾Í¿ÉÒÔÖ´ÐÐÏÂÃæµÄÖ¸ÁîÆô¶¯µ÷ÊÔ¹¤¾ß½øÈëµ÷ÊÔ»·¾³¶Ô³ÌÐò½øÐе÷ÊÔÁË¡£
gdb calc
ÔÚµ÷ÊÔ»·¾³Ï ......

linux module Makefile

²»ÖªµÀÔÚʲçÛʱºò£¬×ªÔØLinux ³öÏÖÁË module ÕâÖÖ¶«Î÷£¬µÄÈ·£¬ËüÊÇ Linux µÄÒ»´ó¸ïС£ÓÐÁË module Ö®ºó£¬Ð´
device driver ²»ÔÙÊÇÒ»Ïî¶ñÃΣ¬ÐÞ¸Ä kernel Ò²²»ÔÙÊÇÒ»¼þÍ´¿àµÄÊÂÁË¡£ÒòΪÄã²»ÐèҪÿ´ÎÒª²âÊÔ driver ¾ÍÖØÐÂ
compile kernel Ò»´Î¡£ÄǼòÖ±ÊÇ»áÀÛËÀÈË¡£Module ¿ÉÒÔÔÊÐíÎÒÃǶ¯Ì¬µÄ¸Ä±ä kernel£¬¼ÓÔØ device
dri ......

linux ¿ªÆô¹Ø±Õ·À»ðǽ

Çл»µ½rootÓû§ÏÂ,
service iptables status  ÓÃÓڲ鿴ÊÇ·ñÓпªÆô·À·½Ç½.
service iptables stop    ÓÃÓڹرշÀ»ðǽ.
service iptables start   ÓÃÓÚ´ò¿ª·À»ðǽ.
·À»ðǽµÄ¿ªÆôÓÐʱ»áÏÞÖÆÍⲿ·ÃÎÊ·þÎñÆ÷ÉϵĶ˿Úʧ°Ü. ......

LinuxϵĽø³ÌͨÐÅ£¨IPC£©

      LinuxϵĽø³ÌͨÐÅÊֶλù±¾ÉÏÊÇ´ÓUnixƽ̨ÉϵĽø³ÌͨÐÅÊֶμ̳жøÀ´µÄ¡£¶ø¶ÔUnix·¢Õ¹×ö³öÖØ´ó¹±Ï×µÄÁ½´óÖ÷Á¦AT&TµÄ±´¶ûʵÑéÊÒ¼°BSD£¨¼ÓÖÝ´óѧ²®¿ËÀû·ÖУµÄ²®¿ËÀûÈí¼þ·¢²¼ÖÐÐÄ£©ÔÚ½ø³Ì¼äͨÐÅ·½ÃæµÄ²àÖصãÓÐËù²»Í¬¡£Ç°Õ߶ÔUnixÔçÆڵĽø³Ì¼äͨÐÅÊֶνøÐÐÁËϵͳµÄ¸Ä½øºÍÀ©³ä£¬ÐγÉÁË“ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ