LinuxϵÄC±à³Ìʵս֮Îļþϵͳ±à³Ì
1.LinuxÎļþϵͳ
¡¡¡¡Linux
Ö§
³Ö¶àÖÖÎļþϵͳ£¬Èçext¡¢ext2¡¢minix¡¢iso9660¡¢msdos¡¢fat¡¢vfat¡¢nfsµÈ¡£ÔÚÕâЩ¾ßÌåÎļþϵͳµÄÉϲ㣬LinuxÌṩ
ÁËÐéÄâÎļþϵͳ£¨VFS£©À´Í³Ò»ËüÃǵÄÐÐΪ£¬ÐéÄâÎļþϵͳΪ²»Í¬µÄÎļþϵͳÓëÄں˵ÄͨÐÅÌṩÁËÒ»ÖµĽӿڡ£ÏÂͼ¸ø³öÁËLinuxÖÐÎļþϵͳµÄ¹ØÏµ£º
¡¡¡¡ÔÚLinuxƽ̨϶ÔÎļþ±à³Ì¿ÉÒÔʹÓÃÁ½ÀຯÊý£º£¨1£©Linux²Ù×÷ϵͳ
ÎļþAPI£»£¨2£©CÓïÑÔI/O¿âº¯Êý¡£ ǰÕßÒÀÀµÓÚLinuxϵͳµ÷Ó㬺óÕßʵ¼ÊÉÏÓë²Ù×÷ϵͳÊǶÀÁ¢µÄ£¬ÒòΪÔÚÈκβÙ×÷ϵͳÏ£¬Ê¹ÓÃCÓïÑÔI/O¿âº¯Êý²Ù×÷ÎļþµÄ·½·¨¶¼ÊÇÏàͬµÄ¡£±¾Õ½«¶ÔÕâÁ½ÖÖ·½·¨½øÐÐʵÀý½²½â¡£
¡¡¡¡2.LinuxÎļþAPI
¡¡¡¡LinuxµÄÎļþ²Ù×÷APIÉæ¼°µ½´´½¨¡¢´ò¿ª¡¢¶ÁдºÍ¹Ø±ÕÎļþ¡£
¡¡¡¡´´½¨
int creat(const char *filename, mode_t mode);
¡¡¡¡²ÎÊýmodeÖ¸¶¨Ð½¨ÎļþµÄ´æÈ¡È¨ÏÞ£¬ËüͬumaskÒ»Æð¾ö¶¨ÎļþµÄ×îÖÕȨÏÞ£¨mode&umask£©£¬ÆäÖÐumask´ú±íÁËÎļþÔÚ´´½¨Ê±ÐèҪȥµôµÄһЩ´æÈ¡È¨ÏÞ¡£umask¿Éͨ¹ýϵͳµ÷ÓÃumask()À´¸Ä±ä£º
int umask(int newmask);
¡¡¡¡¸Ãµ÷Óý«umaskÉèÖÃΪnewmask£¬È»ºó·µ»Ø¾ÉµÄumask£¬ËüÖ»Ó°Ïì¶Á¡¢Ð´ºÍÖ´ÐÐȨÏÞ¡£
¡¡¡¡´ò¿ª
int open(const char *pathname, int flags);
int open(const char *pathname, int flags, mode_t mode);
¡¡¡¡openº¯ÊýÓÐÁ½¸öÐÎʽ£¬ÆäÖÐpathnameÊÇÎÒÃÇÒª´ò¿ªµÄÎļþÃû(°üº¬Â·¾¶Ãû³Æ£¬È±Ê¡ÊÇÈÏΪÔÚµ±Ç°Â·¾¶ÏÂÃæ)£¬flags¿ÉÒÔÈ¥ÏÂÃæµÄÒ»¸öÖµ»òÕßÊǼ¸¸öÖµµÄ×éºÏ£º
±êÖ¾
º¬Òå
O_RDONLY
ÒÔÖ»¶ÁµÄ·½Ê½´ò¿ªÎļþ
O_WRONLY
ÒÔֻдµÄ·½Ê½´ò¿ªÎļþ
O_RDWR
ÒÔ¶ÁдµÄ·½Ê½´ò¿ªÎļþ
O_APPEND
ÒÔ×·¼ÓµÄ·½Ê½´ò¿ªÎļþ
O_CREAT
´´½¨Ò»¸öÎļþ
O_EXEC
Èç¹ûʹÓÃÁËO_CREAT¶øÇÒÎļþÒѾ´æÔÚ£¬¾Í»á·¢ÉúÒ»¸ö´íÎó
O_NOBLOCK
ÒÔ·Ç×èÈûµÄ·½Ê½´ò¿ªÒ»¸öÎļþ
O_TRUNC
Èç¹ûÎļþÒѾ´æÔÚ£¬Ôòɾ³ýÎļþµÄÄÚÈÝ
¡¡¡¡O_RDONLY¡¢O_WRONLY¡¢O_RDWRÈý¸ö±êÖ¾Ö»ÄÜʹÓÃÈÎÒâµÄÒ»¸ö¡£
¡¡¡¡Èç¹ûʹÓÃÁËO_CREATE±êÖ¾£¬ÔòʹÓõĺ¯ÊýÊÇint open(const char *pathname,int flags,mode_t mode); Õâ¸öʱºòÎÒÃÇ»¹ÒªÖ¸¶¨mode±êÖ¾£¬ÓÃÀ´±íʾÎļþµÄ·ÃÎÊȨÏÞ¡£mode¿ÉÒÔÊÇÒÔÏÂÇé¿öµÄ×éºÏ£º
±êÖ¾
º¬Òå
S_IRUSR
Óû§¿ÉÒÔ¶Á
S_IWUSR
Óû§¿ÉÒÔд
S_IXUSR
Óû§¿ÉÒÔÖ´ÐÐ
S_IRWXU
Óû§¿ÉÒÔ¶Á¡¢Ð´¡¢Ö´ÐÐ
S_IRGRP
×é¿ÉÒÔ¶Á
S_IWGRP
×é¿ÉÒÔд
S_IXGRP
×é¿ÉÒÔÖ´ÐÐ
S_IRWXG
×é¿ÉÒÔ¶ÁдִÐÐ
S_IROTH
ÆäËûÈË¿ÉÒÔ¶Á
S_IWOTH
ÆäËûÈË¿ÉÒÔд
S_IXOTH
Æä
Ïà¹ØÎĵµ£º
£¨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 ......
Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖÐÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀÐÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......
ǰ ÑÔ
LinuxÊÇÒ»ÖÖ¿ª·ÅÔ´´úÂëµÄ×ÔÓɲÙ×÷ϵͳ¡£×ÔËüµ®ÉúÒÔÀ´£¬ÔÚÈ«ÊÀ½çLinux°®ºÃÕߵĹ²Í¬Å¬Á¦Ï£¬ÆäÐÔÄܲ»¶ÏÍêÉÆ£¬¾ßÓÐÎȶ¨¡¢°²È«¡¢ÍøÂç¸ºÔØÁ¦Ç¿¡¢Õ¼ÓÃÓ²¼þ×ÊÔ´Éٵȼ¼ÊõÌØµã£¬µÃµ½ÁËѸËÙÍÆ¹ãºÍÓ¦Óá£ËüÒÑ·¢Õ¹³ÉΪµ±½ñÊÀ½çµÄÖ÷Á÷²Ù×÷ϵͳ֮һ¡£
³ýÁË×÷Ϊ×ÀÃæÏµÍ³Ê¹ÓÃÍ⣬LinuxÔÚ·þÎñÆ÷ÁìÓò¸üÊǵõ½Á˹㷺 ......