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²ãÒ»°ãÎÞÐèÁíÍâÈ¥·ÖÅäÄڴ棬¶øÖ»Ðè´Ó¸ßËÙ»º´æÖеõ½Ò»¸ö¶ÔÏó¾Í¿ÉÒÔÁË¡£
Ïà¹ØÎĵµ£º
£¨L2CAPÐÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPÐÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼Á¬½Ó¿ØÖƺÍÊÊÅäÐÒé (L2CAP) ΪÉϲãÐÒéÌṩÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àÐÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãÐÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......
ÀýÒ»£º·¢ËÍSignaling Packet£º
Signaling CommandÊÇ2¸öBluetoothʵÌåÖ®¼äµÄL2CAP²ãÃüÁî´«Êä¡£ËùÒÔµÃSignaling CommandʹÓÃCID 0x0001.
¶à¸öCommand¿ÉÒÔÔÚÒ»¸öC-frame£¨control frame£©Öз¢ËÍ¡£
Èç¹ûÒªÖ±½Ó·¢ËÍSignaling Command.ÐèÒª½¨Á¢SOCK_RAWÀàÐ͵ÄL2CAPÁ¬½ÓSocket¡£ÕâÑù²ÅÓлú»á×Ô¼ºÌî³äCommand Code£¬Identi ......
Ò»£ºÇ°ÑÔ
×î½üÔÚÑо¿androidµÄsensor driver£¬Ö÷ÒªÊÇE-compass£¬ÆäÖÐÓõ½ÁËLinux input×Óϵͳ.ÔÚÍøÉÏÒ²¿´Á˺ܶàÕâ·½ÃæµÄ×ÊÁÏ£¬¸Ð¾õ»¹ÊÇÕâƪ·ÖÎöµÄ±È½ÏϸÖÂ͸³¹£¬Òò´ËתÔØÒ»ÏÂÒÔ±ã×Ô¼ºÑ§Ï°£¬Í¬Ê±ºÍ´ó¼Ò·ÖÏí£¡
£¨Õâƪ²©¿ÍÖ÷ÒªÊÇÒÔ¼üÅÌÇý¶¯ÎªÀýµÄ£¬²»¹ý½²½âµÄÊÇLinux Input Subsystem£¬¿ÉÒÔ×ÐϸµÄÑо¿Ò»Ï£¡£©
¼üÅÌÇý¶¯½«¼ì ......
ÎҼƻ®µÄѧϰÀú³Ì£º
1. cºÍc++µÄ»ù´¡ÖªÊ¶£¬Õâ¸öºÍ²Ù×÷ϵͳÎ޹أ¬ÔÚwindowsÉÏÒ²¿ÉÒÔѧ¡£cÓïÑÔÓï·¨Ïà¶Ô¼òµ¥Ò»µã£¬c++²»ÐèÒª°ÑËùÓеÄ֪ʶµã¶¼Ñ§»á£¬ÒªÖªµÀ»ù±¾µÄ·â×°£¬¼Ì³Ð£¬¶à̬֮ÀàµÄ£¬»¹ÓÐSTL¡£¸üÉîÈëµÄѧϰӦ¸ÃÊÇÔÚÒÔºóµÄ¹¤×÷ÖÐÓöµ½ÎÊÌâÁËÔÙÈ¥²é×ÊÁÏ¡£
2. ¿´Ê顶APUE¡·£¬×öÊéÉϵÄÏ°Ì⣬ÕÆÎÕÎļþ£¬ÏµÍ³µ÷Óã¬Ï̡߳¢½ø³Ì¡¢ ......
²»Í¬µÄ¹ú¼ÒºÍµØÇøÒòÎÄ»¯µÄ²îÒ죬ÔÚÈÕÆÚ¡¢Ê±¼äÒÔ¼°»õ±Ò·ûºÅµÈ±íʾ·½Ê½É϶¼²»ÍêÈ«Ïàͬ£¬×îΪÃ÷ÏԵľÍÊÇÓïÑÔ¡£ÓÐʱÔÚ±àдÈí¼þ¸øÓû§Ê¹ÓÃʱ£¬¿ª·¢Õß¡¢Î¬
»¤ÕßÒÔ¼°×îÖÕÓû§¿ÉÄÜ·Ö±ðÀ´×Ô²»Í¬µÄÇøÓò£¬¶øÒªÇóËûÃǾùʹÓÃͬһÖÖÓïÑÔÏÔÈ»ÊDz»Ã÷ÖªµÄ£¬Òò´Ëµ±Ò»¸ö³ÌÐò»òÕßÈí¼þ±àд¸øÈ«ÊÀ½çÈËʹÓÃʱ£¬Í¨³£·ÖΪÁ½¸ö²¿·Ö£º
¹ú¼Ê»¯ (intern ......