LinuxÄÚ´æ¹ÜÀí ÄÚ´æ·ÖÅ亯ÊýµÄÑ¡Ôñ
ÄÚ´æ·ÖÅ亯ÊýµÄÑ¡Ôñ
Èç¹ûÄãÐèÒªÁ¬ÐøµÄÎïÀíÒ³£¬¾Í¿ÉÒÔʹÓÃij¸öµÍ¼¶Ò³·ÖÅäÆ÷»òÕßkmalloc()¡£ÕâÊÇÄÚºËÖÐÄÚ´æ·ÖÅäµÄ³£Ó÷½Ê½£¬Ò²ÊÇ´ó¶àÊýÇé¿öÏÂÄã×Ô¼ºÓ¦¸ÃʹÓõÄÄÚ´æ·ÖÅ䷽ʽ¡£´«µÝ¸øÕâЩº¯Êý×î³£ÓõÄÁ½¸ö±êÖ¾ÊÇGFP_AUTOMICºÍGFP_KERNEL¡£GFP_AUTOMIC±íʾ½øÐв»Ë¯ÃߵĸßÓÅÏȼ¶·ÖÅä¡£ÕâÊÇÖжϳÌÐòºÍÆäËû²»ÄÜ˯ÃߵĴúÂë¶ÎµÄÐèÒª¡£¶ÔÓÚ¿ÉÒÔ˯ÃߵĴúÂ룬±ÈÈçûÓгÖ×ÔÐýËøµÄ½ø³ÌÉÏÏÂÎÄ´úÂ룬ÔòÓ¦¸ÃʹÓÃGFP_KERNEL»ñÈ¡ËùÐèÄÚ´æ¡£Õâ¸ö±êÖ¾±íʾ£¬Èç¹ûÓбØÒª£¬·ÖÅäʱ¿ÉÒÔ˯Ãß¡£
Èç¹ûÏë´Ó¸ß¶ËÄÚ´æ½øÐзÖÅ䣬¾ÍʹÓÃalloc_pages()¡£alloc_pages()º¯Êý·µ»ØÒ»¸öÖ¸Ïòstruct page½á¹¹µÄÖ¸Õ룬¶ø²»ÊÇÖ¸Ïòij¸öÂß¼µØÖ·µÄÖ¸Õë¡£ÒòΪ¸ß¶ËÄÚ´æºÜÓпÉÄܲ¢Ã»Óб»Ó³É䣬Òò´Ë·ÃÎÊËüµÄΨһ·½Ê½ÊÇͨ¹ýÏàÓ¦µÄstruct page½á¹¹¡£ÎªÁË»ñµÃÕæÕýµÄÖ¸Õ룬Ӧ¸Áµ÷ÓÃkmap()£¬°Ñ¸ß¶ËÄÚ´æÓ³Éäµ½Äں˵ÄÂß¼µØÖ·¿Õ¼ä¡£
Èç¹ûÄã²»ÐèÒªÎïÀíÉÏÁ¬ÐøµÄÒ³£¬¶ø½ö½öÐèÒªÐéÄâµØÖ·ÉÏÁ¬ÐøµÄÒ³£¬ ÄÇô¾ÍʹÓÃvmalloc()(²»¹ýÒª¼Çסvmalloc()Ïà¶Ôkmalloc()ÓÐÒ»¶¨µÄÐÔÄÜËðʧ)¡£vmalloc()·ÖÅäµÄÄÚ´æÐéÄâµØÖ·Ê½ÊÇÁ¬ÐøµÄ£¬µ«Ëü±¾Éí²¢²»Äܱ£Ö¤ÎïÀíÉϵÄÁ¬Ðø¡£ÕâÓëÓû§¿Õ¼äµÄ·ÖÅä·Ç³£ÀàËÆ£¬ËüÒ²ÊǰÑÎïÀíÄÚ´æ¿éÓ³Éäµ½Á¬ÐøµÄÂß¼µØÖ·¿Õ¼äÉÏ¡£
Èç¹ûÄãÒª´´½¨ºÍÏú»ÙºÜ¶à½Ï´óµÄÊý¾Ý½á¹¹£¬ÄÇôӦ¸Ã¿¼Âǽ¨Á¢slab¸ßËÙ»º´æ¡£Slab²ã»á¸øÃ¿¸ö´¦ÀíÆ÷ά³ÖÒ»¸ö¶ÔÏó¸ßËÙ»º´æ(¿ÕÏÐÁ´±í)£¬ÕâÖÖ¸ßËÙ»º´æ»á¼«´óµÄÌá¸ß¶ÔÏó·ÖÅäºÍ»ØÊÕµÄÐÔÄÜ¡£Slab²ã²»ÊÇÆµ·±µØ·ÖÅäºÍÊÍ·ÅÄڴ棬¶øÊÇΪÄã°ÑÊÂÏÈ·ÖÅäºÃµÄ¶ÔÏ󴿷ŵ½¸ßËÙ»º´æÖУ¬µ±ÄãÐèÒªÒ»¿éеÄÄÚ´æÀ´´æ·ÅÊý¾Ý½á¹¹Ê±£¬slab²ãÒ»°ãÎÞÐèÁíÍâÈ¥·ÖÅäÄڴ棬¶øÖ»Ðè´Ó¸ßËÙ»º´æÖеõ½Ò»¸ö¶ÔÏó¾Í¿ÉÒÔÁË¡£
Ïà¹ØÎĵµ£º
1. HCI²ãÐÒé¸ÅÊö£º
HCIÌṩһÌ×ͳһµÄ·½·¨À´·ÃÎÊBluetoothµ×²ã¡£ÈçͼËùʾ£º
´ÓͼÉÏ¿ÉÒÔ¿´³ö£¬Host Controller Interface(HCI) ¾ÍÊÇÓÃÀ´¹µÍ¨HostºÍModule¡£Hostͨ³£¾ÍÊÇPC£¬ ModuleÔòÊÇÒÔ¸÷ÖÖÎïÀíÁ¬½ÓÐÎʽ£¨USB,serial,pc-cardµÈ£©Á¬½Óµ½PCÉϵÄbluetooth Dongle¡£
ÔÚHostÕâÒ»¶Ë£ºapplication,SDP,L2capµÈÐÒé ......
"procÎļþϵͳÊÇÒ»¸öαÎļþϵͳ£¬ËüÖ»´æÔÚÄÚ´æµ±ÖУ¬¶ø²»Õ¼ÓÃÍâ´æ¿Õ¼ä¡£ËüÒÔÎļþϵͳµÄ·½Ê½Îª·ÃÎÊϵͳÄÚºËÊý¾ÝµÄ²Ù×÷Ìṩ½Ó¿Ú¡£Óû§ºÍÓ¦ÓóÌÐò¿ÉÒÔͨ¹ýprocµÃµ½ÏµÍ³µÄÐÅÏ¢£¬²¢¿ÉÒԸıäÄں˵ÄijЩ²ÎÊý¡£"
ÕâÀォ½éÉÜÈçºÎ´Ó/procÎļþϵͳÖлñÈ¡Óë·À»ðǽÏà¹ØµÄһЩÐÔÄܲÎÊý£¬ÒÔ¼°ÈçºÎͨ¹ý/procÎļþϵͳÐÞ¸ ......
Ò»¡¢Ê²Ã´ÊÇinit
¡¡¡¡initÊÇLinuxϵͳ²Ù×÷Öв»¿ÉȱÉٵijÌÐòÖ®Ò»¡£ ÊÇÒ»¸öÓÉÄÚºËÆô¶¯µÄÓû§¼¶½ø³Ì¡£
¡¡¡¡ÄÚºËÆô¶¯£¨ÒѾ±»ÔØÈëÄڴ棬¿ªÊ¼ÔËÐУ¬²¢Òѳõʼ»¯ËùÓеÄÉ豸Çý¶¯³ÌÐòºÍÊý¾Ý½á¹¹µÈ£©Ö®ºó£¬¾Íͨ¹ýÆô¶¯Ò»¸öÓû§¼¶³ÌÐòinitµÄ·½Ê½À´Æô¶¯ÆäËûÓû§¼¶µÄ½ø³Ì»ò·þÎñ¡£ËùÒÔ£¬initʼÖÕÊǵÚÒ»¸ö½ø³Ì£¨ÆäPIDʼÖÕΪ1£©¡£
¡¡¡¡ÄÚºË ......
Ò»°ãÔÚlinuxÏÂ²é¿´ÍøÂçÅäÖÿÉÒÔʹÓÃifconfigÃüÁ¿ÉÒÔÏÔʾµ±Ç°Íø¿¨µÄ»ù±¾ÅäÖÃÐÅÏ¢¡£
ÖÕ¶ËÊäÈëifconfig »á³öÏÖÒ»ÏÂÄÚÈÝ£º
eth0
Link encap:Ethernet HWaddr 00:0C:29:0C:4B:0F
inet addr:192.168.37.128 Bcast:192.168.37.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:33 er ......