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

linuxÇý¶¯Ä£Ê½

linux-bus,device,driver,class
×ÜÏß
×ÜÏßÊÇ´¦ÀíÆ÷ºÍÒ»¸ö»ò¶à¸öÉ豸֮¼äµÄͨµÀ£¬ÔÚÉ豸ģÐÍÖÐ, ËùÓеÄÉ豸¶¼Í¨¹ý×ÜÏßÏàÁ¬, ÉõÖÁÊÇÄÚ²¿µÄÐéÄâ"platform"×ÜÏß¡£×ÜÏßÄÜÏ໥²åÈë¡£É豸ģÐÍչʾÁË×ÜÏߺÍËûÃÇËù¿ØÖƵÄÉ豸֮¼äµÄʵ¼ÊÁ¬½Ó¡£
ÔÚ Linux É豸ģÐÍÖÐ, ×ÜÏßÓÉ bus_type ½á¹¹±íʾ, ¶¨ÒåÔÚ £º
struct bus_type {
    const char        * name;/*×ÜÏßÀàÐÍÃû³Æ*/
    struct module        * owner;/*Ö¸ÏòÄ£¿éµÄÖ¸Õë(Èç¹ûÓÐ), ´ËÄ£¿é¸ºÔð²Ù×÷Õâ¸ö×ÜÏß*/
    struct kset        subsys;/*ºÍ¸Ã×ÜÏßÏà¹ØµÄ×Óϵͳ*/
    struct kset        drivers;/*×ÜÏßÇý¶¯³ÌʽµÄkset*/
    struct kset        devices;/* ¹ÒÔÚ¸Ã×ÜÏßµÄËùÓÐÉ豸µÄkset*/
    struct klist        klist_devices;/*ºÍ¸Ã×ÜÏßÏà¹ØµÄÇý¶¯³ÌʽÁ´±í*/
    struct klist        klist_drivers;/*¹Ò½ÓÔÚ¸Ã×ÜÏßµÄÉ豸Á´±í*/
    struct blocking_notifier_head bus_notifier;
    struct bus_attribute    * bus_attrs; /*×ÜÏßÊôÐÔ*/
    struct device_attribute * dev_attrs; /*É豸ÊôÐÔ,Ö¸ÏòΪÿ¸ö¼ÓÈë×ÜÏßµÄÉ豸½¨Á¢µÄĬÈÏÊôÐÔÁ´±í*/
    struct driver_attribute * drv_attrs; /*Çý¶¯³ÌʽÊôÐÔ*/
    struct bus_attribute drivers_autoprobe_attr;/*Çý¶¯×Ô¶¯Ì½²âÊôÐÔ*/
    struct bus_attribute drivers_probe_attr;/*Çý¶¯Ì½²âÊôÐÔ*/
    int        (*match)(struct device * dev, struct device_driver * drv);
    int        (*uevent)(struct device *dev, char **envp,
                 int num_envp, char *buffer, int buffer_size);
    int        (*probe)(struct device * dev);
    int        (*remove)(struct device * dev);
&nbs


Ïà¹ØÎĵµ£º

ʵսLinux Bluetooth±à³Ì£¨Èý£© HCI²ã±à³Ì

1. HCI²ãЭÒé¸ÅÊö£º
HCIÌṩһÌ×ͳһµÄ·½·¨À´·ÃÎÊBluetoothµ×²ã¡£ÈçͼËùʾ£º
´ÓͼÉÏ¿ÉÒÔ¿´³ö£¬Host Controller Interface(HCI)  ¾ÍÊÇÓÃÀ´¹µÍ¨HostºÍModule¡£Hostͨ³£¾ÍÊÇPC£¬ ModuleÔòÊÇÒÔ¸÷ÖÖÎïÀíÁ¬½ÓÐÎʽ£¨USB,serial,pc-cardµÈ£©Á¬½Óµ½PCÉϵÄbluetooth Dongle¡£
ÔÚHostÕâÒ»¶Ë£ºapplication,SDP,L2capµÈЭÒé ......

ʵսLinux Bluetooth±à³Ì(Áù) 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 ......

¡¾×ª¡¿How Google uses Linux?

KS2009: How Google uses Linux
By Jonathan Corbet
October 21, 2009
LWN's 2009 Kernel Summit coverage
There may be no single organization which runs more Linux systems than Google. But the kernel development community knows little about how Google uses Linux and what sort of problems are ......

ÌØ´óϲѶ£ºÀ¥É½ÐùÔ¯Linux¿ª·ÅʵÑéÊÒÀ²£¡£¡£¡

 À¥É½ÐùÔ¯Linux¿ª·ÅʵÑéÊÒ
¼ò½é
        Ϊ·½±ã¹ã´óLinuxÈí¼þ¿ª·¢Õߣ¬ÐùÔ¯¸ß¶ËITÅàѵÖÐÐÄÓÚ2009Äê10ÔÂÉèÁ¢ÁËLinux¿ª·ÅʵÑéÊÒ£¬ÐùÔ¯Linux¿ª·ÅʵÑéÊÒÌṩÁËÍêÕûµÄLinux Èí¼þ¿ª·¢»·¾³£¬°üÀ¨£ºC/C++£¨GCC¡¢GDB£©¡¢make¡¢Java¡¢Python¡¢Perl¡¢C++ Boost¡¢C++ ACE¡¢C++ OTL¡¢Oracle¡¢M ......

Ôö´óLinuxµÄsocket×î´óÁ¬½ÓÊý

 ÒýÓÃhttp://hi.baidu.com/tim_bi/blog/item/f1038ed6e3399d2707088bb3.html
2009-02-28 22:58
×î½ü½ÓµÄÏîÄ¿ÊÇÄ£Äâ¶à¸ö
socket
¿Í»§¶ËÓë·þÎñÆ÷½øÐÐͨÐÅ¡£ÓÉÓÚ
Linux
ϵͳµÄÏÞÖÆ£¬ÔÚ
linux/include/linux/posix_types.h
ÎļþÖÐÓÐÈçϵĺ궨Ò壺
#undef __FD_SETSIZE
#define __FD_SETSIZE
1024
Õâ¸öºêÊ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ