Linux USBÇý¶¯¿ò¼Ü·ÖÎöÉÏ
³õ´Î½Ó´¥ÓëOSÏà¹ØµÄÉ豸Çý¶¯±àд£¬¸Ð¾õ»¹Í¦ÓÐÒâ˼µÄ£¬ÎªÁ˲»ÖÁÓÚÍüµô¿´¹ýµÄ¶«Î÷£¬±Ê¼Ç¸ú×ܽᵱȻ²»¿Éȱ£¬¸üºÎ¿öÎÒ¾ö¶¨ÎªÇ¶ÈëʽÂôÃüÁË¡£ºÃ£¬ÑÔ¹éÕý´«£¬ÎÒ˵һ˵Õâ¶Îʱ¼äµÄÊÕ»ñ£¬¸ú´ó¼Ò·ÖÏíÒ»ÏÂLinuxµÄÇý¶¯¿ª·¢¡£µ«Õâ´ÎÖ»ÏÈÕë¶ÔLinuxµÄUSB×Óϵͳ×÷·ÖÎö£¬ÒòΪÖÜÎåÑÐÌÖÀϰå´ß»õ¡£µ±È»£¬»¹»á˳´øÌáÒ»ÏÂÆäËûµÄÇý¶¯³ÌÐòд·¨¡£
ÊÂʵÉÏ£¬LinuxµÄÉ豸Çý¶¯¶¼×ñÑÒ»¸ö¹ßÀý——±íÕ÷Çý¶¯³ÌÐò£¨ÓÃdriver¸üÌùÇÐһЩ£¬Ó¦¸Ã³ÆÎªÇý¶¯Æ÷±È½ÏºÃ°É£©µÄ½á¹¹Ì壬½á¹¹ÌåÀïÃæÓ¦¸Ã°üº¬ÁËÇý¶¯³ÌÐòËùÐèÒªµÄËùÓÐ×ÊÔ´¡£ÓÃÊõÓïÀ´Ëµ£¬¾ÍÊÇÕâ¸öÇý¶¯Æ÷¶ÔÏóËùÓµÓеÄÊôÐÔ¼°³ÉÔ±¡£ÓÉÓÚLinuxµÄÄÚºËÓÃcÀ´±àд£¬ËùÒÔÎÒÃÇÒ²°´ÕÕÕâÖֽṹ»¯µÄ˼ÏëÀ´·ÖÎö´úÂ룬µ«ÎÒ»¹ÊÇÏ£Íû´ÓOOµÄ½Ç¶ÈÀ´²ûÊöÕâЩϸ½Ú¡£Õâ¸ö½á¹¹ÌåµÄÃû×ÖÓÐÇý¶¯¿ª·¢ÈËÔ±¾ö¶¨£¬±ÈÈç˵£¬Êó±ê¿ÉÄÜÓÐÒ»¸ö½Ð×ömouse_devµÄstruct£¬¼üÅÌ¿ÉÄÜÓÉÒ»¸ökeyboard_devµÄstruct£¨dev for device£¬ÎÒÃÇ×öµÄÖ»ÊÇÉ豸Çý¶¯£©¡£¶øÕâ´ÎÎÒÃÇÀ´·ÖÎöÒ»ÏÂLinuxÄÚºËÔ´ÂëÖеÄÒ»¸öusb-skeleton£¨¾ÍÊÇusbÇý¶¯µÄ¹Ç¼Ü¿©£©£¬×ÔÈ»£¬Ëû¶¨ÒåµÄÉ豸½á¹¹Ìå¾Í½Ð×öusb-skel£º
struct usb_skel {
struct usb_device * udev; /* the usb device for this device */
struct usb_interface * interface; /* the interface for this device */
struct semaphore limit_sem; /* limiting the number of writes in progress */
unsigned char * bulk_in_buffer; /* the buffer to receive data */
size_t bulk_in_size; /* the size of the receive buffer */
__u8  
Ïà¹ØÎĵµ£º
ÒýÓÃhttp://www.linuxtone.org/html/76/t-2776.html
ÓÐʱºònginx£¬apache£¬mysql£¬php±àÒëÍêÁËÏë¿´¿´±àÒë²ÎÊý¿ÉÒÔÓÃÒÔÏ·½·¨
nginx±àÒë²ÎÊý£º
#/usr/local/nginx/sbin/nginx -V
CODE:
nginx version: nginx/0.6.32
built by gcc 4.1.2 20071124 (Red Hat 4.1.2-42)
configure arguments: --user=www --group=www --p ......
µ±Éϲã×¼±¸ºÃÒ»¸ö°üÖ®ºó£¬½»¸øÏÂÃæÕâ¸öº¯Êý´¦Àí
int dev_queue_xmit(struct sk_buff *skb)
{
struct net_device *dev = skb->dev;
struct netdev_queue *txq;
struct Qdisc *q;
int rc = -ENOMEM;
/* GSO will handle the following emulations directly. */
if (netif_needs_gso(dev, skb))
goto gso; ......
ÎÒÃÇͨ³£°ÑһЩ¹«Óú¯ÊýÖÆ×÷³Éº¯Êý¿â£¬¹©ÆäËü³ÌÐòʹÓá£
º¯Êý¿â·ÖΪ¾²Ì¬¿âºÍ¶¯Ì¬¿âÁ½ÖÖ¡£
¾²Ì¬¿âÔÚ³ÌÐò±àÒëʱ»á±»Á¬½Óµ½Ä¿±ê´úÂëÖУ¬³ÌÐòÔËÐÐʱ½«²»ÔÙÐèÒª¸Ã¾²Ì¬¿â¡£
¶¯Ì¬¿âÔÚ³ÌÐò±àÒëʱ²¢²»»á±»Á¬½Óµ½Ä¿±ê´úÂëÖУ¬¶øÊÇÔÚ³ÌÐòÔËÐÐÊDzű»ÔØÈ룬Òò´ËÔÚ³ÌÐòÔËÐÐʱ»¹ÐèÒª¶¯Ì¬¿â´æÔÚ¡£
±¾ÎÄÖ÷Ҫͨ¹ý¾ÙÀýÀ´ËµÃ÷ÔÚLinuxÖÐÈçº ......
1.ʲôÊÇ¿â
ÔÚwindowsƽ̨ºÍlinuxƽ̨϶¼´óÁ¿´æÔÚ×ſ⡣
±¾ÖÊÉÏÀ´Ëµ¿âÊÇÒ»ÖÖ¿ÉÖ´ÐдúÂëµÄ¶þ½øÖÆÐÎʽ£¬¿ÉÒÔ±»²Ù×÷ÏµÍ³ÔØÈëÄÚ´æÖ´ÐС£
ÓÉÓÚwindowsºÍlinuxµÄ±¾Öʲ»Í¬£¬Òò´Ë¶þÕß¿âµÄ¶þ½øÖÆÊDz»¼æÈݵġ£
±¾ÎĽöÏÞÓÚ½éÉÜlinuxϵĿ⡣
2.¿âµÄÖÖÀà
linuxϵĿâÓÐÁ½ÖÖ£º¾²Ì¬¿âºÍ¹²Ïí¿â£¨¶¯Ì¬¿â£©¡£
¶þÕߵIJ»Í¬µãÔÚÓÚ´úÂë ......