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µÈÐÒé ......
£¨L2CAPÐÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPÐÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼Á¬½Ó¿ØÖƺÍÊÊÅäÐÒé (L2CAP) ΪÉϲãÐÒéÌṩÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àÐÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãÐÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......
"procÎļþϵͳÊÇÒ»¸öαÎļþϵͳ£¬ËüÖ»´æÔÚÄÚ´æµ±ÖУ¬¶ø²»Õ¼ÓÃÍâ´æ¿Õ¼ä¡£ËüÒÔÎļþϵͳµÄ·½Ê½Îª·ÃÎÊϵͳÄÚºËÊý¾ÝµÄ²Ù×÷Ìṩ½Ó¿Ú¡£Óû§ºÍÓ¦ÓóÌÐò¿ÉÒÔͨ¹ýprocµÃµ½ÏµÍ³µÄÐÅÏ¢£¬²¢¿ÉÒԸıäÄں˵ÄijЩ²ÎÊý¡£"
ÕâÀォ½éÉÜÈçºÎ´Ó/procÎļþϵͳÖлñÈ¡Óë·À»ðǽÏà¹ØµÄһЩÐÔÄܲÎÊý£¬ÒÔ¼°ÈçºÎͨ¹ý/procÎļþϵͳÐÞ¸ ......
linuxÓÐ×Ô¼ºÒ»Ì×ÍêÕûµÄÆô¶¯Ìåϵ£¬×¥×¡ÁËlinuxÆô¶¯µÄÂöÂ磬linuxµÄÆô¶¯¹ý³Ì½«²»ÔÙÉñÃØ¡£
ÔĶÁ֮ǰ½¨ÒéÏÈ¿´Ò»Ï¸½Í¼¡£
±¾ÎÄÖмÙÉèinittabÖÐÉèÖõÄinit treeΪ£º
/etc/rc.d/rc0.d
/etc/rc.d/rc1.d
/etc/rc.d/rc2.d
/etc/rc.d/rc3.d
/etc/rc.d/rc4.d
/etc/rc.d/rc5.d
/etc/rc.d/rc6.d
/etc/rc.d/init.d
1. ¹ØÓÚlinux ......