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

LinuxϵͳÏÂÄÚ´æÉêÇëÓ¦Óõķ½·¨Ô­Àí×ܽá

1. µØÖ·¿Õ¼äµÄ¹ÜÀí
¡¡¡¡ÎïÀíµØÖ·¶¼ÊÇÓÐÄں˹ÜÀíµÄ£¬ node-->zone-->mem_map-->page, ËùÓеÄÎïÀíÒ³Ãæ¶¼ÔÚmem_mapÊý×éÖеÄÒ³Ö¡¶ÔÓ¦£¬ È»ºó²»Í¬µÄpageÓзÖΪDMA£¬normal£¬highmemÈý¸özone¡£
¡¡¡¡ÄÚºËÏßÐÔµØÖ·¿Õ¼ä£¬ ʵ¼ÊÉÏÖ»ÊǵͶËÄÚ´æ²ÅÓÐÏßÐÔµØÖ·£¬0---896MB²¿·Ö¡£
¡¡¡¡ÄÚºËÐéÄâµØÖ·£¬ µÍ¶ËÄÚ´æµÄÐéÄâµØÖ·ÓëÏßÐÔµØÖ·ÊÇÒ»ÑùµÄ¡£ ¸ß¶ËÄÚ´æÖ»ÓÐÔÚÓ³ÉäÁËÒÔºó²ÅÓÐÐéÄâµØÖ·
¡¡¡¡Óû§¿Õ¼äµØÖ·£¬ tast_struct ---> mmap --> mm_struct ---> vm_area_struct
¡¡¡¡2.ÄÚ´æµÄÉêÇë»òʹÓÃ
¡¡¡¡ÎïÀíÄÚ´æµÄ·ÖÅ䣬 ÔÚÄÚºËÖÐ×îÖÕ¶¼Òªµ÷ÓÃ__alloc_pages().ËüÊÇ×îºËÐĵķÖÅ亯Êý£¬ÉêÇë´óС×î´ó²»³¬¹ý2µÄMAX_ORDER´ÎÃÝ£¬ÔÚÏÖÔÚºÃÏñ×î´ó¶¨ÒåΪ4MB¡£
¡¡¡¡ÏßÐÔµØÖ·£¬ kmallocºÍget_free_pages,ÏßÐÔµØÖ·£¬ ¶ÔÓ¦µÄÎïÀíÄÚ´æ¾ÍÊǵͶËÄڴ棬kmallocÊÇ»ùÓÚslabµÄ·ÖÅä¼¼Êõ£¬ ×î´ó²»Äܳ¬¹ý128KB¡£
¡¡¡¡ÐéÄâµØÖ·£¬ vmallocÉêÇ룬 ËûÖ»ÊÇÔÚÄÚºËÖн¨Á¢ÀàËÆÓëÓû§¿Õ¼äµÄvm_areaµÄÒ»¸öÐéÄâÄÚ´æ¿Õ¼äµ½vmlistÖУ¬ ×îÖÕµÄÎïÀíÄÚ´æ·ÖÅ仹ÊÇ»ùÓÚȱҳµÄ¡£
¡¡¡¡Óû§¿Õ¼äµÄÐéÄâÄڴ棬 mallocÖ®ÀàµÄ£¬ ×îÖÕÔÚÄÚºËÖж¼ÊÇdo_map()ºÍdo_brk()¡£Êµ¼ÊÉÏÒ²Ö»Êǽ¨Á¢ÁËÒ»¿éÐéÄâ¿Õ¼ä£¬×îÖÕµÄÎïÀíÄڴ滹ÊÇÔÚȱҳÒ쳣ʱ·ÖÅäµÄ¡£
¡¡¡¡3. ÄÚ´æµÄ½»»»ÎÊÌâ
¡¡¡¡ÔÚpage½á¹¹ºÍÓû§²ãµÄvm_area_struct½á¹¹ÖУ¬ ¶¼°üº¬lockedºÍreserved±êÖ¾¡£Í¨¹ýºÏÊʵÄ;¾¶ÉèÖÃÕâЩ±êÖ¾£¬ ¿ÉÒÔÊÇÒ³ÃæËø´æÔÚÎïÀíÄÚ´æÖУ¬ ²»±»½»»»³öÈ¥¡£
¡¡¡¡4. É豸ÄÚ´æ¿ÉÒÔͨ¹ýioremapÓ³Éäµ½ÄÚºËÐéÄâµØÖ·¿Õ¼ä£¬ Ò²¿ÉÒÔͨ¹ýmmap·½·¨Ó³Éäµ½Óû§¿Õ¼ä¡£


Ïà¹ØÎĵµ£º

ʵսLinux Bluetooth±à³Ì£¨ËÄ£© L2CAP²ã±à³Ì

£¨L2CAPЭÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPЭÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼­Á¬½Ó¿ØÖƺÍÊÊÅäЭÒé (L2CAP) ΪÉϲãЭÒéÌá¹©ÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àЭÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãЭÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......

LinuxÉ豸ģÐÍÖ®input×ÓϵͳÏê½â

Ò»£ºÇ°ÑÔ
×î½üÔÚÑо¿androidµÄsensor driver£¬Ö÷ÒªÊÇE-compass£¬ÆäÖÐÓõ½ÁËLinux input×Óϵͳ.ÔÚÍøÉÏÒ²¿´Á˺ܶàÕâ·½ÃæµÄ×ÊÁÏ£¬¸Ð¾õ»¹ÊÇÕâÆª·ÖÎöµÄ±È½ÏϸÖÂ͸³¹£¬Òò´Ë×ªÔØÒ»ÏÂÒÔ±ã×Ô¼ºÑ§Ï°£¬Í¬Ê±ºÍ´ó¼Ò·ÖÏí£¡
£¨ÕâÆª²©¿ÍÖ÷ÒªÊÇÒÔ¼üÅÌÇý¶¯ÎªÀýµÄ£¬²»¹ý½²½âµÄÊÇLinux Input Subsystem£¬¿ÉÒÔ×ÐϸµÄÑо¿Ò»Ï£¡£©
¼üÅÌÇý¶¯½«¼ì ......

µÚ20Õ LinuxÄÚºËÒÆÖ²

µÚ20Õ  LinuxÄÚºËÒÆÖ²
Èí¼þÒÆÖ²µÄ¸ÅÄî¼òµ¥µØËµ¾ÍÊÇÈÃÒ»Ì×Èí¼þÔÚÖ¸¶¨µÄÓ²¼þƽ̨ÉÏÕý³£ÔËÐС£ÒÆÖ²ÖÁÉÙ°üÀ¨ÁËÁ½¸ö²»Í¬µÄÓ²¼þ»òÕßÈí¼þƽ̨¡£¶ÔÓÚÓ¦ÓÃÈí¼þÀ´Ëµ£¬ÒÆÖ²Ö÷Òª¿¼ÂDzÙ×÷ϵͳµÄ²îÒì£¬ÖØµãÔÚÐÞ¸Äϵͳµ÷Óᣱ¾ÕµÄÖØµãÊÇLinuxÄÚºËÒÆÖ²£¬ÐèÒª¿¼ÂÇÓ²¼þƽ̨µÄ²îÒì£¬Éæ¼°½Ï¶à֪ʶ¡£Ö÷ÒªÄÚÈÝÈçÏ£º
q    ......

1.3 LinuxµÄ·¢Ðа汾

1.3  LinuxµÄ·¢Ðа汾
Ñϸñ˵À´£¬LinuxÕâ¸ö´Ê²¢²»ÄÜÖ¸´ú±¾ÊéËùÒª½éÉܵÄÕâ¸ö£¨»òÕß˵¼¸¸ö£©²Ù×÷ϵͳ¡£Linuxʵ¼ÊÉÏÖ»¶¨ÒåÁËÒ»¸ö²Ù×÷ϵͳÄںˣ¬Õâ¸öÄÚºËÓÉkernel.org¸ºÔðά»¤¡£²»Í¬µÄÆóÒµºÍ×éÖ¯ÔÚ´Ë»ù´¡ÉÏ¿ª·¢ÁËһϵÁи¨ÖúÈí¼þ£¬´ò°ü·¢²¼×Ô¼ºµÄ“·¢Ðа汾”¡£¸÷ÖÖ·¢Ðа汾¿ÉÒÔ“·Ç³£²»Í¬”£¬È´Êǽ¨Á ......

linux framebuffer ѧϰ±Ê¼ÇÒ»£¨»ù´¡ÖªÊ¶£©

ARGB8888
32λɫ,ARGB8888±íʾARGB¸÷´ú±í8룬A±íʾ͸Ã÷¶È£¬µ±ÎªffʱΪ·Ç͸Ã÷£¬RGB·Ö±ðΪºìÂÌÀ¶£¬ff±íʾ×îŨ¡£
ARGB1555
16λɫ 1 λ±íʾ ͸Ã÷¶È£¬ Ö»ÄÜÏÔʾÁ½ÖÖ״̬£¬Í¸Ã÷ºÍ·Ç͸Ã÷¡£
¡¾Ê²Ã´ÊÇFrameBuffer¡¿
FrameÖ¡£ºÄãËù¿´µ½µÄÆÁÄ»µÄͼÏñ£¬»òÕßÔÚÒ»¸ö´°¿ÚÖеÄͼÏñ£¬¾Í½ÐÒ»Ö¡¡£
Buffer»º³å£ºÒ»¶ÎRAM£¬ÓÃÀ´ÔÝ´æÍ¼ÏñÊý ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ