linuxÄÚºË(2.6)ÖеÄ˫ѻ·Á´±ídzÎö
Linux 2.6ÄÚºËÁ´±íÊý¾Ý½á¹¹µÄʵÏÖ
ÔÚ¼ÆËã»ú¿ÆÑ§ÖУ¬Á´±íÊǷdz£Í¨ÓõÄÊý¾Ý½á¹¹£¬¹á´©ÓÚÕû¸ölinuxµÄÄںˡ£ÔÚlinuxÄÚºËÖУ¬Á´±íͨ³£ÒÔ
˫ѻ·Á´±íµÄ·½Ê½³öÏÖ¡£ËùÓÐÁ´±íµÄ´úÂëÔÚinclude/linux/list.hÎļþÖС£
¶¨ÒåÈçÏ£º
struct list_head {
struct list_head *next, *prev;
};
ÕâÀïµÄlist_headûÓÐÊý¾ÝÓò¡£ÔÚLinuxÄÚºËÁ´±íÖУ¬²»ÊÇÔÚÁ´±í½á¹¹Öаüº¬Êý¾Ý£¬¶øÊÇÔÚÊý¾Ý½á¹¹Öаüº¬Á´±í¡£
list.h»¹¶¨ÒåÁËÐí¶àʹÓõĺêºÍÄÚÁªº¯Êý£¬ÏÂÃæ½éÉܼ¸¸öµäÐ͵ģº
#define LIST_HEAD_INIT(name) { &(name), &(name) }
#define LIST_HEAD(name) \
struct list_head name = LIST_HEAD_INIT(name)
static inline void INIT_LIST_HEAD(struct list_head *list)
{
list->next = list;
list->prev = list;
}
ÔÚlinuxµÄºê¶¨ÒåÖУ¬Ê±³£Óõ½do{}while(0)£¬ÕâÊÇΪÁË·½±ãÔٺ궨ÒåÖаüº¬¶àÐдúÂ룬
¹ØÓÚÕâ¸öµÄ˵Ã÷ÔÚÍøÉÏ¿ÉÒÔÕÒµ½ºÜ¶àÏêϸµÄ½éÉÜ¡£
ÔÚºêINIT_LIST_HEADÖУ¬½«Ëü³õʼ»¯ÎªÇ°ºó¶¼Ö¸Ïò×Ô¼º
ÔÚlinuxÄں˵ÄÁ´±íÖУ¬Ò»¸ö¿ÕÁ´±í¶¨ÒåÈçÏ£º head->nextÖ¸ÏòÁ´±íµÄÍ·ÔªËØ¡£
list.hÖл¹¶¨ÒåÁË list_add() £¬ list_add_tail()£¬list_del()µÈ»ù±¾µÄÁ´±í²Ù×÷º¯Êý£¬¶¼ÊDZȽϼòµ¥µÄ
CÓïÑÔÕâÀï²»ÏêÊö¡£
ÔÚlist.hÖм«ÆäÓÐÓõÄÒ»¸öºêÊÇlist_for_each_entry
#define list_for_each_entry(pos, head, member) \
for (pos = list_entry((head)->next, typeof(*pos), member); \
prefetch(pos->member.next), &pos->member != (head); \
pos = list_entry(pos->member.next, typeof(*pos), member))
Ëü¿ÉÒÔ±éÀúÕû¸öÁ´±í£¬ÔÚlinuxÓõķdz£¹ã·º£¬ÀýÈçµ±CPU¿ªÊ¼¹¤×÷ʱ£¬¼¤»îÔÚ¹¤×÷¶ÓÁÐÖеÄÿ¸ö½ø³Ì
-----------------------------------------------------------------------------
kernel/workqueue.c
59 struct workqueue_struct {
60 struct cpu_workqueue_struct cpu_wq[NR_CPUS];
61 const char *name;
62 struct list_head list; /* Empty if single thread */
63 };
...
466 case CPU_ONLINE:
467 /* Kick off worker threads. */
468 list_for_each_entry(wq, &workqueues, list)
469 &nb
Ïà¹ØÎĵµ£º
£¨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 ......
½«php·þÎñÆ÷¼Üµ½linuxÏÂʱûÓÐ×¢Òâ¸ÃÎÊÌ⣬
ǰ¼¸Ììµ¹ÊÇÅöµ½ÁËÔÚlinuxÏÂÑéÖ¤ÂëµÄͼƬÎÞ·¨ÏÔʾµÄÇé¿ö£¬·¢ÏÖlinuxÏÂÒ²ÒªÓÐgd¿âµÄÖ§³Ö£¬ÓÚÊǰ²×°ÁËphp5-gd£¨±¾ÈËʹÓõÄÊÇphp5£©
£¬Õâ¸öÎÊÌâ½â¾öÁË
½ñÌìͻȻ·¢ÏÖimgͼƬÎÞ·¨ÏÔʾ£¬ÉÏÍøËÑÁËÒ»°Ñ£¬ÓÖ¾¹ý²âÊԵóöÈçϽáÂÛ
<img src="pc.jpg"......>
Ëû»áÒÔµ±Ç°Â·¾¶ ......
¿ÉÒÔͨ¹ýÏÂÃæÃüÁî²é¿´µ±Ç°±àÂ뷽ʽ£º
h@debian-server:~/$ locale -a
C
en_US
en_US.iso88591
en_US.iso885915
en_US.utf8
POSIX
zh_CN
zh_CN.gb1 ......
LinuxÏÂÍø¿¨ÃüÃû¹æÂÉ£ºeth0£¬eth1¡£µÚÒ»¿éÒÔÌ«Íø¿¨£¬µÚ¶þ¿é¡£loΪ»·»Ø½Ó¿Ú£¬ËüµÄIPµØÖ·¹Ì¶¨Îª127.0.0.1£¬ÑÚÂë8λ¡£Ëü´ú±íÄãµÄ»úÆ÷±¾Éí¡£
1¡¢ifconfigÊÇ²é¿´Íø¿¨µÄÐÅÏ¢¡£
ifconfig [Interface]
InterfaceÊÇ¿ÉÑ¡ÏÈç¹û²»¼Ó´ËÏÔòÏÔʾϵͳÖÐËùÓÐÍø¿¨µÄÐÅÏ¢¡£Èç¹ûÌí¼Ó´ËÑ¡ÏîÔòÏÔʾËùÖ¸¶¨µÄÍø¿¨ÐÅÏ¢
&nbs ......