linux¶ÁдÎļþËٶȲâÊÔ
Ò». ÎļþÒ»´Î¶ÁÈëËÙ¶È
linux϶ÁÎļþÕâ¶«Î÷×îºó¶¼ÊÇҪͨ¹ýϵͳµ÷ÓÃsys_read(fd,buf,count)À´ÊµÏֵģ¬ËùÒÔÈç¹ûÒªÌá¸ßËÙ¶È£¬¾ÍÊÇ×î¼òµ¥µØµ÷ÓÃsys_readµÄ·â×°£¬±ÈÈçÖ±½ÓÓÃread()»òfread()¡£ÏÂÃæÊÇÎÒÔÚlinuxÏµļ¸¸ö²âÊÔ¡£
Ê×ÏÈ´´½¨Ò»¸ö130MÊý¾ÝÎļþ dd if=/dev/zero of=data bs=1024k count=130
[dd if=/dev/zero of=data bs=1024k count=130 ת»»ºÍ¿½±´Îļþ£¬´ÓÊäÈëifµÄÔ´ÍùofµÄÄ¿µÄµØÖ·¿½±´£¬Ã¿¸öblock1024k£¬Ò»¹²¿½±´130¸ö¡£]
·Ö±ðÓÃfread,readºÍfgetsÒ»´Î¶ÁÈëÈ«²¿´óСÎļþËùÏûºÄʱ¼ä¶Ô±È,ÆäÖÐ
size=130*1024*1024
char *buf=new char[size];
ÏÂÃæÊDzâÊÔ½á¹û(»úÆ÷Intel(R) Pentium(R) 4 CPU 3.20GHz, Mem 1G):
1.fread(buf,size,1,fp)Ò»´Î¶ÁÈë
real 0m0.187s
user 0m0.000s
sys 0m0.180s
2.read(fdin,(void *)buf,size)Ò»´Î¶ÁÈë
real 0m0.187s
user 0m0.000s
sys 0m0.184s
3.¶à´Îfgets(buf,size,fp),ÿ´Î1k
real 0m0.356s
user 0m0.136s
sys 0m0.220s
4.fgets(buf,size,fp)Ò»´Î¶ÁÈë
real 0m0.305s
user 0m0.072s
sys 0m0.232s
ÉÏÃæ¿´µ½Ô½¼òµ¥µÄº¯Êý(read()ºÍfread())£¬ËÙ¶ÈÔ½¿ì£¬ÆäËûµÄÊäÈë·â×°º¯ÊýÖ»²»¹ýÊÇΪÁË·½±ãÂú×ãÌØÊâÐèÒª£¬²¢²»¼ûµÃ¶ÁµÄËÙ¶È»áºÜ¿ì¡£¶ÔÓÚ3ºÍ 4,ÒòΪÔÚsys_read()ÄÚ²¿ÓжԶÁÈë´óСµÄÅжϺÍwhileÑ»·£¬ËùÒÔ´óÎļþ¶ÁȡҲû±ØÒªÏñ3ÄÇÑù·Ö¶à´Îµ÷ÓÃfgets()À´¶ÁÎļþ.
ÁíÍâÓÃmmap()ÄÚ´æÓ³ÉäÀ´¶ÁÈëÎļþµÄʱ¼äÈçÏÂ:
real 0m0.231s
user 0m0.068s
sys 0m0.164s
Ò²²¢Ã»ÓбÈÖ±½Óread()¿ì£¬ÍøÉÏÕÒµ½Ò»ÖÖ½âÊÍÊǶÔÓÚÐèҪƵ·±¶Áд²Ù×÷µÄ£¬mmapЧÂʲŻáÏÔÖøÌá¸ß¡£ÏÂÃæÀ´Ä£ÄâÆµ·±¶Áд²Ù×÷¡£
¶þ. ÎļþƵ·±¶ÁдËٶȲâÊÔ
1. ÕâÒ»¸ö²âÊÔÄ£ÄâÆµ·±Îļþ¶Áд²Ù×÷£¬500M´óСµÄÊý¾ÝÎļþdata.in£¬Ã¿´Î´ÓÖжÁÈë1k¸ö×Ö½Ú¶Ôÿ¸ö×Ö½Ú×ö¼Ó1¼òµ¥¼ÆË㣬ÔÙдµ½ÁíÒ»¸öÎļþdata.outÖС£
//mmapx1.c
#define size 1024*1024*500
#define LEN 1024
#include <stdio.h>
int main()
{
FILE *fp1,*fp2;
char *buf=new char[LEN];
int i,j;
&nb
Ïà¹ØÎĵµ£º
ÀýÒ»£º·¢ËÍ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½ø³Ì¼äͨÐÅ£¨IPC£©
ÎĵµÑ¡Ïî
<tr
valign="top"><td width="8"><img alt="" height="1" width="8"
src="//www.ibm.com/i/c.gif"/></td><td width="16"><img alt="" width="16&q ......
1. Òý×Ó
int a;
int size = 8;
Èç¹ûÈÃaΪ(size =8)µÄÕûÊý±¶±íʾ³É¶þ½øÖÆÓ¦ÊÇʲôÑù×ÓÄØ£¿ÄǾÍÊÇÈÃÕâ¸öÊý±íʾ³É¶þ½øÖÆÊ±µÄ×îºóÈýλΪ0.
¶øÒª´ïµ½ÕâһĿ±ê£¬Ö»ÒªÏÂÃæÕâ¸öÊýÓëËü½øÐÐÓëÔËËã¾Í¿ÉÒÔÁË:
11111111 11111111 11111111 11111000
¶øÉÏÃæÕâ¸öÊýʵ¼ÊϾÍÊ ......
1. LinusºÍBill
ËÆºõÔÚÒ»Ò¹Ö®¼ä£¬Õâ¸öÃû×ÖͻȻ±äµÃͬÏó±È¶û¡£¸Ç´ÄÒ»ÑùµÄ¶úÊìÄÜÏê¡£µ«ÊDZȶû¡£¸Ç´Ä£¬
ÄÄÅÂÉí¼ÛÓÐÊý²»Çå±¶µÄ°ÙÍòÃÀ½ð£¬Ò²ÓÀÔ¶²»»á±ä³ÉLinux Torvalds¡£Õâλ29ËêµÄ·ÒÀ¼ÈË£¬
¼òµ¥¶øÇ¿´óµÄLinux²Ù×÷ϵͳµÄ´´ÔìÕߣ¬³¬Ô½Á˸ǴĵÄÉñ»°¡£Ò²Óд«ÎÅ˵¸Ç´ÄÊÇÒ»¸ö
׿ԽµÄ³ÌÐòÔ±£¬µ«LinusÊÇ»õÕæ¼ÛʵµÄ¸ßÊÖ¡£»¹ÔÚ´óѧÀï ......