Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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½á¹¹¡¢Óëÿ¸öÄ


Ïà¹ØÎĵµ£º

Book Note: Linux Device Driver Dos and Don'ts

Book Note: Linux Device Driver Dos and Don'ts
http://janitor.kernelnewbies.org/docs/driver-howto.html
what a hardened (robust) device
driver should mean and how it should be implemented and measured.
1.3 Robust device drivers
-Follows the Linux CodingStyle.
-Efficient in managing faults and ha ......

Linux»»ÐÐÎÊÌâ

WindowsÓëLinuxÖеĻ»ÐÐÊDz»Ò»ÑùµÄ£¬ÒѾ­Óöµ½¹ýºÃ¼¸´ÎÎÊÌâÁË¡«ÅúÁ¿Ð½¨Óû§µÄʱºò£¬ÐÂÓû§²»ÄܵǼ£¬ÒòΪÎÒµÄÎı¾ÊÇÔÚWindowsÏÂÉú³ÉµÄ£¬»»ÐÐÊÇWindows¸ñʽ£¬¶øLinuxÖÐʹÓÃnewusersÃüÁîµ¼Èëµ½passwdÎļþ£¬ÊÇÖ±½Ó¸´ÖƹýÈ¥µÄ¡«²»ÄÜÒ»ÐÐÒ»Ðеĸİ¡¡«ºÇºÇ£¬¸Õ¸Õѧµ½ÁËÒ»ÕС£
×Ö·ûÎļþÔÚÁ½¸öϵͳ֮¼ä¿½±´Ö®ºó£¬¿ÉÒÔʹÓÃdos2unix» ......

linuxÄÚºËÉè¼ÆÓëʵÏÖ£¨9£©¶¨Ê±Æ÷ºÍʱ¼ä¹ÜÀí

linuxÄÚºËÉè¼ÆÓëʵÏÖ£¨9£©¶¨Ê±Æ÷ºÍʱ¼ä¹ÜÀí
ʱ¼ä¹ÜÀíÔÚÄÚºËÖÐÕ¼Óзdz£ÖØÒªµÄµØÎ»¡£Ïà¶ÔÓÚʼþÇý¶¯£¬ÄÚºËÖÐÓдóÁ¿µÄº¯Êý¶¼ÊÇ»ùÓÚʱ¼äÇý¶¯µÄ¡£Äں˱ØÐë¹ÜÀíϵͳµÄÔËÐÐʱ¼äÒÔ¼°µ±Ç°µÄÈÕÆÚºÍʱ¼ä¡£
      ÖÜÆÚ²úÉúµÄʼþ¶¼ÊÇÓÉϵͳ¶¨Ê±Æ÷Çý¶¯µÄ¡£ÏµÍ³¶¨Ê±Æ÷ÊÇÒ»Öֿɱà³ÌÓ²¼þоƬ£¬ËüÒѹ̶¨ÆµÂʲúÉúÖ ......

Linux ûÓж¨ÒåµÄ·ûºÅ µ÷ÊÔ·½·¨ nmÃüÁî


nmÃüÁî
[
ÔÚGNU CÓïÑÔ¿âÌṩµÄÄÚÈÝÖУ¬ÓнӿڿÉÒÔÓÃÀ´×öÕâ¼þÊ¡£ÓÃÏÂÃæµÄÃüÁî²é¿´£º
nm -D /lib/libc.so.6 | grep log
]
nmÃüÁÊDZȽϼòµ¥¶øÇÒÇ¿´óµÄ¡£ËüÓÃÀ´ÁгöÒ»¸öÄ¿±êÎļþÖеĸ÷ÖÖ·ûºÅ¡£·ûºÅµÄÖÖÀàºÜ¶à£¬ÒÔÏÂÊÇһЩ³£¼ûµÄ·ûºÅÀàÐÍ
nmÊä³ö×Ö·û
º¬Òå
R
Read only symbol. ±ÈÈçÔÚ´úÂëÖÐÓÐÒ»¸öconst MAXDATA ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ