Linux Kernel時ÐòµÄÈý種機ÖÆ
×î½üÔÚ寫Driver時£¬³£³£Óöµ½ÐèÒª¡¸µÈ´ýÒ»¶Î時間¡¹ÔÙ處ÀíµÄ動×÷£¬ÒÔÍùÎÒ¶¼ÉµÉµµÄÓÃmsleep()»òmdelay()£¬Êâ²»Öª這種busy waiting會holdסcpu資Ô´£¬ÔÚ這¶ÎÆÚ間內¶¼無·¨讓給ÆäËûprocess執ÐУ¬時間¶Ì(10msÒÔϵÈ級)»ò許還¿ÉÒÔ£¬Ì«長¾Í²»ÐÐÁË£¬ËùÒÔÐèÒªKernel±¾Éí¾ÍÓÐÌṩµÄ¡¸時Ðò¡¹機ÖÆ來×ö處Àí£¬ì¶ÊÇÎÒ漸漸學會ÁËÈçºÎʹÓÃTimer¡¢TaskletºÍWorkqueueµÄÓ÷¨£¬ÔÚO'ReillyµÄLinux Device DriversµÚÆßÕÂÓÐ詳細µÄ講½â£¬ÎÒ將書Éϵľ«華茲簡單ÕûÀíÈçÏ£º
##CONTINUE##
Ò»¡¢Timer
#include <linux/timer.h>
struct timer_list
{
/* ... */
unsigned long expires;//ÆÚÍû運ÐÐµÄ jiffies Öµ
void (*function)(unsigned long);
unsigned long data;//傳給functionµÄ參數
};//ʹÓÃǰ±Ø須³õʼ»¯
void init_timer(struct timer_list *timer);
//³õʼ»¯Ò»個timer_list
struct timer_list TIMER_INITIALIZER(_function, _expires, _data);
//³õʼ»¯Ò»個靜態µÄtimer_list
void add_timer(struct timer_list * timer);
int mod_timer(struct timer_list *timer, unsigned long expires);
int del_timer(struct timer_list * timer);
int del_timer_sync(struct timer_list *timer);
//ͬ del_timer Ò»樣,µ«±£證º¯數return時£¬¶¨時Æ÷º¯數²»ÔÚÈκΠCPU ÉÏ運ÐÐ
//±ÜÃâÔÚSMP ϵ統ÉÏ競爭
int timer_pending(const struct timer_list * timer);
//·µ»ØÕæ»ò¼Ù來ָʾÊÇ·ñ¶¨時Æ÷Òѱ»運ÐÐ
¶þ¡¢Tasklet
#include <linux/interrupt.h>
struct tasklet_struct {
/* ... */
void (*func)(unsigned long);
unsigned long data;
};
void tasklet_init(struct tasklet_struct *t,
void (*func)(unsigned long), unsigned long data);
//將¶¨義ºÃµÄ結構體³õʼ»¯£¬²Å¿ÉÓÃ
DECLARE_TASKLET(name, func, data);
//Ö±½ÓÉêÃ÷¾Í¿ÉÓÃÁË
DECLARE_TASKLET_DISABLED(name, func, data);
void tasklet_disable(struct
Ïà¹ØÎĵµ£º
ÀýÒ»£º·¢ËÍ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 ......
LinuxÏÂmbstring°²×°
1¡¢ÓÃcdÃüÁî½øÈëphpµÄÔ´´úÂëĿ¼ÏµÄetc/mbstringĿ¼Ï£¬Èç“/src/php5.2.5”£¬¼´“cd /src/php5.2.5”;
2¡¢>/usr/local/php/bin/phpize £¨¼ÙÉèphp°²×°ÔÚ/usr/local/phpĿ¼Ï£©
3¡¢±àÒëÅäÖã¬>./configure --with-php-config=/usr/local/php/bin/php-config
4¡¢Ö´ÐÐ ......
1¡¢ÏÂÔØphpMyAdminÖÁweb·þÎñÆ÷Ŀ¼²¢ÖØÃüÃûΪ£ºphpmyadmin¡£¼ÙÉè·þÎñÆ÷Ŀ¼Ϊwww£¬Ôò´æ·ÅλÖÃΪwww/phpmyadmin£¬·ÃÎÊ·¾¶Îªhttp://localhost/phpmyadmin
2¡¢¸´ÖÆ"/phpmyadmin/libraries/"Ŀ¼ÏµÄ"config.default.php"ÎļþÖÁ"/phpmyadmin/"Ŀ¼Ï£¬²¢ÖØÃüÃûΪ"config.inc.php"
3 ......
±¾ÎļòÒª½éÉÜÁËJNIµ÷Óù淶£¬¼°³£Óú¯Êý¡£²¢Í¨¹ý¾ßÌåʾÀý³ÌÐòչʾÁËʵÏÖÒ»¸ö±¾µØµ÷ÓõĻù±¾²½Öè¡£
ÒýÑÔ
Java
µÄ³öÏÖ¸ø´ó¼Ò¿ª·¢´øÀ´µÄ¼«´óµÄ·½±ã¡£µ«ÊÇ£¬Èç¹ûÎÒÃÇÓдóÁ¿ÔÓеľ¹ý¹ã·º²âÊԵķÇJava´úÂ룬½«ËüÃÇÈ«²¿ÓÃJavaÀ´ÖØÐ´£¬¿ÖÅÂ»á´øÀ´¾Þ´óµÄ¹¤×÷Á¿ºÍ³¤
ÆÚµÄ²âÊÔ£»Èç¹ûÎÒÃǵÄÓ¦ÓÃÖÐÐèÒª·ÃÎʵ½Ìض¨µÄÉ豸£¬ÉõÖÁÊǽ ......
¸ú×ÙϵͳµÄÊä³ö:
strace
ÀýÈç: strace -p 9034 -x -s 2048
-p ½ø³ÌºÅ
-x ²»ÊÇASCIIµÄÊä³öÓÃHEX±íʾ
-s ÿ´ÎÊä³öµ ......