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

Linux 2.6 ÖеÄÎļþËø

»Æ Ïþ³¿
(huangxc@cn.ibm.com
), Èí¼þ¹¤³Ìʦ, IBM
·ë Èñ
(fengrui@cn.ibm.com
), Èí¼þ¹¤³Ìʦ, IBM
2008 Äê 7 ÔÂ 03 ÈÕ
±¾ÎĵÄÄ¿µÄÊÇÏë°ïÖú¶ÁÕßÀíÇå Linux 2.6ÖÐÎļþËøµÄ¸ÅÄîÒÔ¼°
Linux 2.6
¶¼ÌṩÁ˺ÎÖÖÊý¾Ý½á¹¹ÒÔ¼°¹Ø¼üµÄϵͳµ÷ÓÃÀ´ÊµÏÖÎļþËø£¬´Ó¶ø¿ÉÒÔ°ïÖú¶ÁÕ߸üºÃµØÊ¹ÓÃÎļþËøÀ´½â¾ö¶à¸ö½ø³Ì¶Áȡͬһ¸öÎļþµÄ»¥³âÎÊÌâ¡£±¾ÎÄÖ÷ÒªÃèÊöÁË
Linux Öи÷ÀàÎļþËøµÄ¸ÅÄʹÓó¡¾°£¬ÄÚºËÖÐÃèÊöÎļþËøµÄÊý¾Ý½á¹¹ÒÔ¼°ÓëÎļþËøÃÜÇÐÏà¹ØµÄϵͳµ÷ÓõÈÄÚÈÝ¡£
ÔÚ¶àÈÎÎñ²Ù×÷ϵͳ»·¾³ÖУ¬Èç¹ûÒ»¸ö½ø³Ì³¢ÊÔ¶ÔÕýÔÚ±»ÆäËû½ø³Ì¶ÁÈ¡µÄÎļþ½øÐÐд²Ù×÷£¬¿ÉÄܻᵼÖÂÕýÔÚ½øÐжÁ²Ù×÷µÄ½ø³Ì¶ÁÈ¡µ½Ò»Ð©±»ÆÆ»µ»òÕß²»ÍêÕûµÄÊý
¾Ý£»Èç¹ûÁ½¸ö½ø³Ì²¢·¢¶Ôͬһ¸öÎļþ½øÐÐд²Ù×÷£¬¿ÉÄܻᵼÖ¸ÃÎļþÔâµ½ÆÆ»µ¡£Òò´Ë£¬ÎªÁ˱ÜÃâ·¢ÉúÕâÖÖÎÊÌ⣬±ØÐëÒª²ÉÓÃijÖÖ»úÖÆÀ´½â¾ö¶à¸ö½ø³Ì²¢·¢·ÃÎÊͬһ¸ö
ÎļþʱËùÃæÁÙµÄͬ²½ÎÊÌ⣬Óɴ˶ø²úÉúÁËÎļþ¼ÓËø·½ÃæµÄ¼¼Êõ¡£
ÔçÆÚµÄ UNIX ϵͳֻ֧³Ö¶ÔÕû¸öÎļþ½øÐмÓËø£¬Òò´ËÎÞ·¨ÔËÐÐÊý¾Ý¿âÖ®ÀàµÄ³ÌÐò£¬ÒòΪ´ËÀà³ÌÐòÐèҪʵÏּǼ¼¶µÄ¼ÓËø¡£ÔÚ System V
Release 3 ÖУ¬Í¨¹ý fcntl ÌṩÁ˼Ǽ¼¶µÄ¼ÓËø£¬´Ëºó·¢Õ¹³ÉΪ POSIX ±ê×¼µÄÒ»²¿·Ö¡£±¾ÎĽ«»ùÓÚ 2.6.23
°æ±¾µÄÄÚºËÀ´Ì½ÌÖ Linux ÖÐÎļþËøµÄÏà¹Ø¼¼Êõ¡£
Linux ÖеÄÎļþËø
Linux Ö§³ÖµÄÎļþËø¼¼ÊõÖ÷Òª°üÀ¨È°¸æËø£¨advisory lock£©ºÍÇ¿ÖÆËø£¨mandatory lock£©ÕâÁ½ÖÖ¡£´ËÍ⣬Linux
Öл¹ÒýÈëÁËÁ½ÖÖÇ¿ÖÆËøµÄ±äÖÖÐÎʽ£º¹²ÏíÄ£Ê½Ç¿ÖÆËø£¨share-mode mandatory lock£©ºÍ×â½èËø£¨lease£©¡£
ÔÚ Linux
ÖУ¬²»ÂÛ½ø³ÌÊÇÔÚʹÓÃȰ¸æËø»¹ÊÇÇ¿ÖÆËø£¬Ëü¶¼¿ÉÒÔͬʱʹÓù²ÏíËøºÍÅÅËûËø£¨ÓÖ³ÆÎª¶ÁËøºÍÐ´Ëø£©¡£¶à¸ö¹²ÏíËøÖ®¼ä²»»áÏ໥¸ÉÈÅ£¬¶à¸ö½ø³ÌÔÚͬһʱ¿Ì¿ÉÒÔ¶Ôͬ
Ò»¸öÎļþ¼Ó¹²ÏíËø¡£µ«ÊÇ£¬Èç¹ûÒ»¸ö½ø³Ì¶Ô¸ÃÎļþ¼ÓÁËÅÅËûËø£¬ÄÇôÆäËû½ø³ÌÔòÎÞȨÔÙ¶Ô¸ÃÎļþ¼Ó¹²ÏíËø»òÕßÅÅËûËø£¬Ö±µ½¸ÃÅÅËûËø±»ÊÍ·Å¡£ËùÒÔ£¬¶ÔÓÚͬһ¸öÎļþ
À´Ëµ£¬Ëü¿ÉÒÔͬʱӵÓкܶà¶ÁÕߣ¬µ«ÊÇÔÚÄ³Ò»ÌØ¶¨Ê±¿Ì£¬ËüÖ»ÄÜÓµÓÐÒ»¸öдÕߣ¬ËüÃÇÖ®¼äµÄ¼æÈݹØÏµÈç±í 1 Ëùʾ¡£
±í 1. Ëø¼äµÄ¼æÈݹØÏµ
ÊÇ·ñÂú×ãÇëÇó
µ±Ç°¼ÓÉϵÄËø
¹²ÏíËø
ÅÅËûËø
ÎÞ
ÊÇ
ÊÇ
¹²ÏíËø
ÊÇ
·ñ
ÅÅËûËø
·ñ
·ñ
Ȱ¸æËø
Ȱ¸æËøÊÇÒ»ÖÖЭͬ¹¤×÷µÄËø¡£¶ÔÓÚÕâÒ»ÖÖËøÀ´Ëµ£¬ÄÚºËÖ»Ìṩ¼ÓËøÒÔ¼°¼ì²âÎļþÊÇ·ñÒѾ­¼ÓËøµÄÊֶΣ¬µ«ÊÇÄں˲¢²»²ÎÓëËøµÄ¿ØÖƺÍЭµ÷¡£Ò²¾ÍÊÇ˵£¬Èç¹ûÓÐ
½ø³Ì²»×ñÊØ“ÓÎÏ·¹æÔò”£¬²»¼ì²éÄ¿±êÎļþÊÇ·ñÒѾ­ÓɱðµÄ½ø³Ì¼ÓÁËËø¾ÍÍùÆäÖ


Ïà¹ØÎĵµ£º

ʵս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É豸ģÐÍÖ®input×ÓϵͳÏê½â

Ò»£ºÇ°ÑÔ
×î½üÔÚÑо¿androidµÄsensor driver£¬Ö÷ÒªÊÇE-compass£¬ÆäÖÐÓõ½ÁËLinux input×Óϵͳ.ÔÚÍøÉÏÒ²¿´Á˺ܶàÕâ·½ÃæµÄ×ÊÁÏ£¬¸Ð¾õ»¹ÊÇÕâÆª·ÖÎöµÄ±È½ÏϸÖÂ͸³¹£¬Òò´Ë×ªÔØÒ»ÏÂÒÔ±ã×Ô¼ºÑ§Ï°£¬Í¬Ê±ºÍ´ó¼Ò·ÖÏí£¡
£¨ÕâÆª²©¿ÍÖ÷ÒªÊÇÒÔ¼üÅÌÇý¶¯ÎªÀýµÄ£¬²»¹ý½²½âµÄÊÇLinux Input Subsystem£¬¿ÉÒÔ×ÐϸµÄÑо¿Ò»Ï£¡£©
¼üÅÌÇý¶¯½«¼ì ......

ÉîÈëLinuxÄÚºËÍøÂç¶ÑÕ»

×÷Õߣºbioforge alkerr@yifan.net
Ô­Ãû£º <<Hacking the Linux Kernel Network Stack>>
·­Ò룬Ð޸ģº duanjigang <duanjigang1983@126.com>
·­Òë²Î¿¼£ºraodan (raod_at_30san.com) 2003-08-22
µÚÒ»Õ  ¼ò½é
±¾ÎĽ«ÃèÊöÈçºÎÀûÓÃLinuxÍøÂç¶ÑÕ»µÄÇÏÃÅ£¨²»Ò»¶¨¶¼ÊÇ©¶´£©À´´ïµ½Ò»Ð©Ä¿µÄ£¬»ò ......

¡¾×ª¡¿linux socket()µ÷ÓÃÓëarp±¨ÎÄ·¢ËÍ

 LinuxÌṩ×î³£ÓõÄÍøÂçͨÐÅÓ¦ÓóÌÐò¿ª·¢½Ó¿Ú--BerkerleyÌ×½Ó×Ö(Socket)£®Ëü¼ÈÊÊÓÃÓÚͬһÖ÷»úÉϽø³Ì¼äͨÐÅ(IPC)£¬ÓÖÊÊÓÃÓÚ²»Í¬Ö÷»úÉϵĽø³Ì¼äͨÐÅ¡£Ì×½Ó×ÖµÄÉèÖÃͨ¹ýsocketµ÷ÓÃÍê³É£º
int socket(int family,int type,int protocol);
ÆäÖÐfamilyָͨÐÅÓò»òЭÒé×壬Linuxϵͳ֧³ÖµÄÍøÂçЭÒé×åÓÐPF_UNIX£¬PF_IPX£¬PF_P ......

LinuxÏÂÎÞ·¨mount±¾»úIPµÄ½â¾ö·½·¨£º

 ÉèÖÃdsnºóËäÈ»ÐéÄâ»ú¿ÉÒÔÉÏÍøÁË£¬µ«ÊÇÓû§Ãû±ä³ÉÁËbogon£¬¶ø²»ÊÇ֮ǰµÄlocalhost£¬È¥µôDNSºóÖØÆôÐéÄâ»ú¾ÍÓÖ±ä³ÉÁËlocalhost
È»ºó¾Í¿ÉÒÔmount±¾»úÁË
»¹ÓÐÒ»ÖÖ·½·¨£º
hostname  ÏÔʾµ±Ç°Ö÷»úÃû
hostname localhost ÉèÖõ±Ç°Ö÷»úÃûΪlocalhost
¹À¼ÆÒ²¿ÉÒÔ½â¾öÉÏÊö²»ÄÜmountµÄÎÊÌâ¡£ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ