linuxÎļþϵͳ»ù´¡ÖªÊ¶
ÕâÁ½Ìì¿´ÁËÒ»±¾fedora 6µÄʵ¼ù½Ì³Ì£¬ÏÂÃæÊÇÓйØlinuxÎļþϵͳ֪ʶµÄѧϰ±Ê¼Ç£º
1¡¢linuxÎļþϵͳ·ÖÅä²ßÂÔ£º
¿é·ÖÅä( block allocation ) ºÍ À©Õ¹·ÖÅä ( extent allocation )
¿é·ÖÅ䣺´ÅÅÌÉϵÄÎļþ¿é¸ù¾ÝÐèÒª·ÖÅ䏸Îļþ£¬±ÜÃâÁË´æ´¢¿Õ¼äµÄÀË·Ñ¡£µ«µ±ÎļþÀ©³äʱ£¬»áÔì³ÉÎļþÖÐÎļþ¿éµÄ²»Á¬Ðø£¬´Ó¶øµ¼Ö¹ý¶àµÄ´ÅÅÌѰµÀʱ¼ä¡£
ÿһ´ÎÎļþÀ©Õ¹Ê±£¬¿é·ÖÅäËã·¨¾ÍÐèҪдÈëÎļþ¿éµÄ½á¹¹ÐÅÏ¢£¬Ò²¾ÍÊÇ meta-dada ¡£meta-data×ÜÊÇÓëÎļþÒ»ÆðдÈë´æ´¢É豸£¬¸Ä±äÎļþµÄ²Ù×÷ÒªµÈµ½ËùÓÐmeta-dataµÄ²Ù×÷¶¼Íê³Éºó²ÅÄܽøÐУ¬
Òò´Ë£¬meta-dataµÄ²Ù×÷»áÃ÷ÏÔ½µµÍÕû¸öÎļþϵͳµÄÐÔÄÜ¡£
À©Õ¹·ÖÅ䣺 Îļþ´´½¨Ê±£¬Ò»´ÎÐÔ·ÖÅäÒ»Á¬´®Á¬ÐøµÄ¿é£¬µ±ÎļþÀ©Õ¹Ê±£¬Ò²Ò»´Î·ÖÅäºÜ¶à¿é¡£meta-dataÔÚÎļþ´´½¨Ê±Ð´È룬µ±Îļþ´óСûÓг¬¹ýËùÓÐÒÑ·ÖÅäÎļþ¿é´óСʱ£¬¾Í²»ÓÃдÈëmeta-data£¬Ö±µ½ÐèÒªÔÙ·ÖÅäÎļþ¿éµÄʱºò¡£
À©Õ¹·ÖÅä²ÉÓóÉ×é·ÖÅä¿éµÄ·½Ê½£¬¼õÉÙÁËSCSIÉ豸дÊý¾ÝµÄʱ¼ä£¬ÔÚ¶Áȡ˳ÐòÎļþʱ¾ßÓÐÁ¼ºÃµÄÐÔÄÜ£¬µ«Ëæ»ú¶ÁÈ¡Îļþʱ£¬¾ÍºÍ¿é·ÖÅäÀàËÆÁË¡£
Îļþ¿éµÄ×é»ò¿é´Ø ( block cluster) µÄ´óСÊÇÔÚ±àÒëʱȷ¶¨µÄ¡£´ØµÄ´óС¶ÔÎļþϵͳµÄÐÔÄÜÓкܴóµÄÓ°Ïì¡£
×¢£º meta-data ÔªÐÅÏ¢£ººÍÎļþÓйصÄÐÅÏ¢£¬±ÈÈçȨÏÞ¡¢ËùÓÐÕßÒÔ¼°´´½¨¡¢·ÃÎÊ»ò¸ü¸Äʱ¼äµÈ¡£
2¡¢ÎļþµÄ¼Ç¼ÐÎʽ
linuxÎļÒϵͳʹÓÃË÷Òý½Úµã(inode)À´¼Ç¼ÎļþÐÅÏ¢¡£Ë÷Òý½ÚµãÊÇÒ»ÖÖÊý¾Ý½á¹¹£¬Ëü°üº¬ÁËÒ»¸öÎļþµÄ³¤¶È¡¢´´½¨¼°ÐÞ¸Äʱ¼ä¡¢È¨ÏÞ¡¢ËùÊô¹ØÏµ¡¢´ÅÅÌÖеÄλÖõÈÐÅÏ¢¡£
Ò»¸öÎļþϵͳά»¤ÁËÒ»¸öË÷Òý½ÚµãµÄÊý×飬ÿ¸öÎļþ»òĿ¼¶¼ÓëË÷Òý½ÚµãÊý×éÖеÄΨһµÄÔªËØ¶ÔÓ¦¡£Ã¿¸öË÷Òý½ÚµãÔÚÊý×éÖеÄË÷ÒýºÅ£¬³ÆÎªË÷Òý½ÚµãºÅ¡£
linuxÎļþϵͳ½«ÎļþË÷Òý½ÚµãºÅºÍÎļþÃûͬʱ±£´æÔÚĿ¼ÖУ¬ËùÒÔ£¬Ä¿Â¼Ö»Êǽ«ÎļþµÄÃû³ÆºÍËüµÄË÷Òý½ÚµãºÅ½áºÏÔÚÒ»ÆðµÄÒ»ÕÅ±í£¬Ä¿Â¼ÖÐÿһ¶ÔÎļþÃû³ÆºÍË÷Òý½ÚµãºÅ³ÆÎªÒ»¸öÁ¬½Ó¡£
¶ÔÓÚÒ»¸öÎļþÀ´Ëµ£¬ÓÐÒ»¸öË÷Òý½ÚµãºÅÓëÖ®¶ÔÓ¦£»¶ø¶ÔÓÚÒ»¸öË÷Òý½ÚµãºÅ£¬È´¿ÉÒÔ¶ÔÓ¦¶à¸öÎļþÃû¡£
Á¬½Ó·ÖΪÈíÁ¬½ÓºÍÓ²Á¬½Ó£¬ÆäÖÐÈíÁ¬½ÓÓֽзûºÅÁ¬½Ó¡£
&nbs
Ïà¹ØÎĵµ£º
£¨L2CAPÐÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPÐÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼Á¬½Ó¿ØÖƺÍÊÊÅäÐÒé (L2CAP) ΪÉϲãÐÒéÌá¹©ÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àÐÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãÐÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......
Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖÐÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀÐÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......
·þÎñÆ÷¶Ë£º
½¨Á¢socket£¬±¾µØµØÖ·°ó¶¨bind£¬È»ºó½¨Á¢¼àÌý£¬Èç¹ûÓпͻ§¶ËÇëÇóÔòÏìÓ¦Ö®£¬È»ºó½øÐÐÊý¾ÝµÄ·¢ËͺͽÓÊÕ
Ô´´úÂë:
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <sys/time.h&g ......
linuxÉϽø³ÌÓÐ5ÖÖ״̬:
1. ÔËÐÐ(ÕýÔÚÔËÐлòÔÚÔËÐжÓÁÐÖеȴý)
2. ÖжÏ(ÐÝÃßÖÐ, ÊÜ×è, Ôڵȴýij¸öÌõ¼þµÄÐγɻò½ÓÊܵ½ÐźÅ)
3. ²»¿ÉÖжÏ(ÊÕµ½ÐźŲ»»½ÐѺͲ»¿ÉÔËÐÐ, ½ø³Ì±ØÐëµÈ´ýÖ±µ½ÓÐÖжϷ¢Éú)
4. ½©ËÀ(½ø³ÌÒÑÖÕÖ¹, µ«½ø³ÌÃèÊö·û´æÔÚ, Ö±µ½¸¸½ø³Ìµ÷ÓÃwait4()ϵͳµ÷ÓúóÊÍ·Å)
5. Í£Ö¹(½ø³ÌÊÕµ½SIGSTOP, SIGSTP, ......
½á¹¹ÌåºÍ¹²ÓÃÌåµÄÄÚ´æ·ÖÅäÊÇCÓïÑÔµÄÒ»¸öÄѵ㣬ҲÊÇÃæÊÔÌâÖеÄÈȵ㡣
ʾÀý1£º
Union data1
{
double d;
int i;
char c1;
char c2[9];
};
sizeof(union data1 ......