LinuxϳÌÐòµÄProfile¹¤¾ß
LinuxϳÌÐòµÄProfile¹¤¾ß
ÎÒÃÇÔÚд³ÌÐò£¬ÌرðÊÇǶÈëʽ³ÌÐòµÄʱºò£¬Í¨³£ÐèÒª¶Ô³ÌÐòµÄÐÔÄܽøÐзÖÎö£¬ÒÔ±ã³ÌÐòÄܹ»¸ü¿ì¸üºÃµØÔËÐУ¬´ïµ½ÊµÊ±£¨real-time£©µÄÄ¿µÄ¡£Èç¹û³ÌÐòºÜ´ó£¬·ÖÎöÆðÀ´¾ÍºÜÀ§ÄÑ¡£Èç¹ûÓиö¹¤¾ßÄܹ»×Ô¶¯½øÐгÌÐòµÄÐÔÄÜ·ÖÎö£¬ÄǾÍ×îºÃÁË¡£ÕâÀï½éÉÜÒ»ÖÖLinuxϳÌÐòµÄProfiling¹¤¾ß----GNU profiler¡£
GNU gprofÄܹ»´òÓ¡³ö³ÌÐòÔËÐÐÖи÷¸öº¯ÊýÏûºÄµÄʱ¼ä£¬¿ÉÒÔ°ïÖú³ÌÐòÔ±ÕÒ³öÖڶຯÊýÖкÄʱ×î¶àµÄº¯Êý¡£²úÉú³ÌÐòÔËÐÐʱºòµÄº¯Êýµ÷ÓùØϵ£¬°üÀ¨µ÷ÓôÎÊý£¬¿ÉÒÔ°ïÖú³ÌÐòÔ±·ÖÎö³ÌÐòµÄÔËÐÐÁ÷³Ì¡£ÓÐ Á˺¯ÊýµÄµ÷ÓùØϵ£¬Õâ»áÈÿª·¢ÈËÔ±´ó´óÌá¸ß¹¤×÷ЧÂÊ£¬²»Ó÷ÑÉñµØÈ¥Ò»µãµãÕÒ³ö³ÌÐòµÄÔËÐÐÁ÷³Ì£¬Õâ¶ÔС³ÌÐòÀ´Ëµ¿ÉÄÜЧ¹û²»ÊǺÜÃ÷ÏÔ£¬µ«¶ÔÓÚÓм¸Íò£¬¼¸Ê®Íò´ú ÂëÁ¿µÄ¹¤³ÌÀ´Ëµ£¬Ð§ÂÊÊÇÎãÓ¹ÖÃÒɵģ¡¶øÇÒÕâ¸ö¹¦ÄܶÔÓÚά»¤¾É´úÂë»òÕßÊÇ·ÖÎöOpen SourceÀ´ËµÄÇÊÇÏ൱ÓÕÈ˵ģ¬ÓÐÁ˵÷ÓÃͼ£¬¶Ô³ÌÐòµÄÔËÐпò¼ÜÒ²¾ÍÓÐÁËÒ»¸ö´óÌåÁ˽⣬֪µÀÁ˳ÌÐòµÄ“¹Ç¼Ü“£¬·ÖÎöËüÒ²¾Í²»»áÔÙÄÇôãȻ£¬ÓÈÆäÊǶÔ×Ô¼º²» ÊìϤµÄ´úÂëºÍOpen Source¡£
gprofµÄ»ù±¾Ó÷¨£º
1£® ʹÓà -pg Ñ¡Ïî±àÒëºÍÁ´½ÓÄãµÄÓ¦ÓóÌÐò
ÔÚgcc±àÒë³ÌÐòµÄʱºò£¬¼ÓÉÏ-pgÑ¡ÏÀýÈ磺
gcc -pg -o test test.c
ÕâÑù¾ÍÉú³ÉÁË¿ÉÖ´ÐÐÎļþtest¡£Èç¹ûÊÇ´óÏîÄ¿£¬¾ÍÔÚmakefileÀïÃæÐ޸ıàÒëÑ¡Ï-pg·ÅÔÚÄÇÀﶼÐС£
2£® Ö´ÐÐÄãµÄÓ¦ÓóÌÐòʹ֮Éú³É¹©gprof ·ÖÎöµÄÊý¾Ý
ÔËÐиղŵijÌÐò£º./test£¬ÕâÑù¾ÍÉú³ÉÁËÒ»¸ögmon.outÎļþ£¬¸ÃÎļþ¾Í°üº¬ÁËprofilingµÄÊý¾Ý¡£
3£® ʹÓÃgprof ·ÖÎöÄãµÄÓ¦ÓóÌÐòÉú³ÉµÄÊý¾Ý
gprof test gmon.out > profile.txt
ʹÓÃÉÏÃæµÄÃüÁgprof¾Í¿ÉÒÔ·ÖÎö³ÌÐòtestµÄÐÔÄÜ£¬½«profilingµÄ½á¹û·ÅÔÚprofile.txtÎļþÖУ¬´ò¿ª¾Í¿ÉÒÔ¿´µ½·ÖÎöµÄ½á¹û¡£Í¨¹ý¶Ô½á¹ûµÄ·ÖÎöÀ´¸Ä½øÎÒÃǵijÌÐò£¬´Ó¶ø´ïµ½ÎÒÃǵÄÄ¿µÄ¡£
GNU gprofÊǸöºÜ²»´íµÄ¹¤¾ß£¬´ó¼Òд³ÌÐòʱ¿ÉÒÔ¶àÓÃÓá£ÎÒÏÖÔÚÓÃgprofÀ´profilingÎҵijÌÐò£¬°ÑºÄʱ×î¶àµÄº¯Êý»òÔËËãÕÒ³öÀ´£¬ÓÃFPGAоƬʵÏÖ£¬´Ó¶ø´ïµ½real-timeµÄÄ¿µÄ¡£
gprofʹÓýéÉÜ
gprof½éÉÜ
gprofÊÇGNU profiler¹¤¾ß¡£¿ÉÒÔÏÔʾ³ÌÐòÔËÐеēflat profile”£¬°üÀ¨Ã¿¸öº¯ÊýµÄµ÷ÓôÎÊý£¬Ã¿¸öº¯ÊýÏûºÄµÄ´¦ÀíÆ÷ʱ¼ä¡£Ò²¿ÉÒÔÏÔʾ“µ÷ÓÃͼ”£¬°üÀ¨º¯ÊýµÄµ÷ÓùØϵ£¬Ã¿¸öº¯Êýµ÷Óû¨·ÑÁ˶àÉÙʱ¼ä
Ïà¹ØÎĵµ£º
£¨L2CAPÐÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPÐÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼Á¬½Ó¿ØÖƺÍÊÊÅäÐÒé (L2CAP) ΪÉϲãÐÒéÌṩÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àÐÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãÐÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......
1. ѧ»áд¼òµ¥µÄmakefile
2. ±àһЩӦÓÃ
³ÌÐò
£¬¿ÉÒÔÓÃmakefileÅÜÆðÀ´
3. ѧ»áдÇý¶¯
µÄmakefile
4. дһ¼òµ¥charÇý¶¯£¬makefile±àÒëͨ¹ý£¬¿ÉÒÔinsmod£¬ lsmod£¬ rmmod. ÔÚÇý¶¯µÄinitº¯ÊýÀï´òÓ¡hello world£¬insmodºóÓ¦¸ÃÄܹ»Í¨¹ýdmesg¿´µ½Êä³ö
¡£
5. дһÍêÕûÇý¶¯£¬ ¼ÓÉÏread£¬ write£¬ ioctl£¬ pollingµÈ¸ ......
Îļþϵͳ¹ÒÔØ£ºmount
¸ñʽ£ºmount [-²ÎÊý] [É豸Ãû³Æ] [¹ÒÔصã]
ÆäÖг£ÓõIJÎÊý£º
¡¡¡¡ -t Ö¸¶¨É豸µÄÎļþϵͳÀàÐÍ£¬³£¼ûµÄÓУº
¡¡¡¡ minix linux×îÔçʹÓõÄÎļþϵͳ
¡¡¡¡ ext2 linuxÄ¿Ç°³£ÓõÄÎļþϵͳ
¡¡¡¡ msdo ......
I/OÖض¨ÏòÏê½â¼°Ó¦ÓÃʵÀý
1¡¢ »ù±¾¸ÅÄÕâÊÇÀí½âºóÃæµÄ֪ʶµÄÇ°ÌᣬÇëÎñ±ØÀí½â£©
a¡¢ I/OÖض¨Ïòͨ³£Óë FDÓйأ¬shellµÄFDͨ³£Îª10¸ö£¬¼´ 0¡«9£»
b¡¢ ³£ÓÃFDÓÐ3¸ö£¬Îª0£¨stdin£¬±ê×¼ÊäÈ룩¡¢1£¨stdout£¬±ê×¼Êä³ö£©¡¢2£¨stderr£¬±ê×¼´íÎóÊä³ö£©£¬Ä¬ÈÏÓëkeyboard¡¢monitor¡¢monitorÓйأ»
c¡¢ Óà < À´¸Ä±ä¶Á½øµÄÊý ......
linuxĿ¼¼Ü¹¹
/ ¸ùĿ¼
/bin ³£ÓõÄÃüÁî
binary file µÄÄ¿錄
/boot ´æ·ÅϵͳÆô¶¯Ê±±ØÐë¶ÁÈ¡µÄµµ°¸£¬°üÀ¨ºËÐÄ
(kernel) ÔÚÄÚ
/boot/grub/menu.lst GRUBÉèÖÃ
/boot/vmlinuz ÄÚºË
......