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

LinuxÖеÄʱÖÓÓëʱ¼ä

ÈÕÆÚ£º2010-02-04
×÷ÕߣºSteven Yang
ÓÊÏ䣺mqyoung@gmail.com
×¢£º×ªÔØÇë×¢Ã÷³ö´¦ºÍ×÷Õß²¢±£³ÖÎĵµµÄÍêÕû
HZ
ÄÚºËͨ¹ý¶¨Ê±Æ÷ÖжÏÀ´¸ú×Ùʱ¼äÁ÷£¬Ê±ÖÓÖжÏÓÉϵͳ¶¨Ê±Ó²¼þÒÔÖÜÆÚÐԵļä¸ô²úÉú£¬Õâ¸ö¼ä¸ôÓÉÄں˸ù¾ÝHZµÄÖµÉ趨¡£
HZÓëÌåϵ½á¹¹Óйأ¬¶¨ÒåÔÚ<linux/param.h>ÖлòÕ߸ÃÎļþ°üº¬µÄij¸ö×ÓÆ½Ì¨Ïà¹ØµÄÎļþÖС£Ä¬ÈÏֵΪ50 ~ 1200, X86µÄĬÈÏֵΪ1000¡£Èç¹ûÏë¸Ä±äϵͳʱÖÓÖÐ¶ÏµÄÆµÂÊ£¬¿ÉÒÔÐÞ¸ÄHZÖµ¡£
jiffies
ÿ´ÎʱÖÓÖжϲúÉú£¬ÄÚºËÄÚ²¿¼ÆÊýÆ÷µÄÖµ¼ÓÒ»¡£jiffies£¬ÊÇÒ»¸ö64µÄ±äÁ¿¡£
µ÷ÓÃÐè°üº¬<linux/jiffies.h> »ò <linux/sched.h>
±È½ÏÁ½¸öjiffies¿ìÕյĺ¯Êý
int time_after()
int time_before()
int time_after_eq()
int time_before_eq()
diff = (long)t2 - (long)t1
msec = diff * 1000 / HZ  (ת»»ÎªºÁÃë)
ʱ¼ä±íÊöÐÎʽ
struct timeval; stuct timespec;
#include <linux/time.h>
unsigned long timespec_to_jiffies()
void jiffies_to_timespec()
unsigned long timeval_to_jiffies()
void jiffies_to_timeval()
¶Ô64λjiffies_64µÄ·ÃÎÊ
32λCPUÉ϶Ô64λֵµÄ·ÃÎʲ»ÊÇÔ­×ӵģ¬ÐèҪͨ¹ýÕâ¸öº¯ÊýÀ´¶ÁÈ¡
#include <linux/jiffies.h>
u64 get_jiffies_54();
TSC(timestamp counter)
Ò»¸ö64λµÄ¼Ä´æÆ÷£¬¼Ç¼CPUʱÖÓÖÜÆÚÊý£¬Í¨¹ý¼ÆËãʱÖÓÖÜÆÚÀ´¶ÈÁ¿Ê±¼ä£¬´ÓÄں˹²½¨ºÍÓû§¿Õ¼ä¶¼¿ÉÒÔ¶ÁÈ¡Ëü¡££¨X86µÄPentiumµÄ´¦ÀíÆ÷¿ªÊ¼Ìṩ¸Ã¼Ä´æÆ÷£©
#include <asm/msr.h> (machine-specific registers)
rdtsc(low32,high32);
rdtscl(low32);
rdtscll(var64);
1-GHz µÄ´¦ÀíÆ÷£¬¼ÆÊýÆ÷µÄµÍ°ë²¿·Öÿ4.2Ãë»áÒç³ö¡£¿ÉÒÔ¸ù¾Ýʵ¼ÊÇé¿öÀ´¾ö¶¨ÊǶÁÈ¡µÍ32Î»ÄØ»¹ÊÇ64λ¡£
ÓÐÒ»¸öƽ̨Î޹صĺ¯Êý¿ÉÒÔÌæ´úrdtsc,
#include <asm/timex.h> (or linux/timex.h, Ëü°üº¬Ç°ÃæÄǸöÍ·Îļþ)
cycles_t get_cycles(void);
¹ØÓÚµ±Ç°Ê±¼äµÄ»ñÈ¡ºÍת»»
1 ȡjiffies
2 ǽÖÓת»»ÎªjiffiesµÄÖµ
#include<linux/time.h>
unsigned long mktime(year, mon, day, hour, min, sec);
3 ÓÃÃë/΢ÃëÌî³ästruct timevalÖµ(ºÍgettimeofdayϵͳµ÷ÓÃʹÓÃͬһ±äÁ¿)
#include<linux/time.h>
void do_gettimeofday(struct timeval *tv);
ÕâÀïÊǽüËÆÎ¢Ã룬ʵ¼Ê¾«¶ÈÒÀÀµÆ½Ì¨
4 xtime(struct timespec)
#include<linux/time.h>
struct timespec current_kernel_time(void);


Ïà¹ØÎĵµ£º

ʵս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 ......

linux sort ÃüÁîÏê½â

     
sortÃüÁîµÄ¹¦ÄÜÊǶÔÎļþÖеĸ÷ÐнøÐÐÅÅÐò¡£sortÃüÁîÓÐÐí¶à·Ç³£ÊµÓõÄÑ¡ÏÕâЩѡÏî×î³õÊÇÓÃÀ´¶ÔÊý¾Ý¿â¸ñʽµÄÎļþÄÚÈݽøÐи÷ÖÖÅÅÐò²Ù×÷µÄ¡£Êµ¼Ê
ÉÏ£¬sortÃüÁî¿ÉÒÔ±»ÈÏΪÊÇÒ»¸ö·Ç³£Ç¿´óµÄÊý¾Ý¹ÜÀí¹¤¾ß£¬ÓÃÀ´¹ÜÀíÄÚÈÝÀàËÆÊý¾Ý¿â¼Ç¼µÄÎļþ¡£
SortÃüÁÖðÐжÔÎļþÖеÄÄÚÈݽøÐÐÅÅÐò£¬Èç¹û ......

linux Ïß³Ì ½ø³Ì¾­µäÎÄÕÂ


ÓйØlinuxϽø³ÌÓëÏ߳̿´¹ýºÜ¶àÎÄÕ£¬ÎÒ¾õµÄÕâÆª¿ÉÒÔ˵×î¾­µä
£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­
Ò».»ù´¡ÖªÊ¶£ºÏ̺߳ͽø³Ì
°´Õս̿ÆÊéÉϵ͍Ò壬½ø³ÌÊÇ×ÊÔ´¹ÜÀíµÄ×îСµ¥Î»£¬Ïß³ÌÊdzÌÐòÖ´ÐеÄ×îСµ¥Î»¡£ÔÚ²Ù×÷ϵͳÉè¼ÆÉÏ£¬´Ó½ø³ÌÑÝ»¯³öỊ̈߳¬×îÖ÷ÒªµÄÄ¿µÄ¾ÍÊǸüºÃµÄÖ§³ÖSMPÒÔ¼°¼õÐ ......

linux¿ñÈËÓï¼

GNU/Linux ²»ÊÇÿ¸öÈ˶¼ÏëÓõġ£Èç¹ûÄãÖ»ÐèÒª´¦ÀíÒ»°ãµÄÊÂÎñ£¬´òÓÎÏ·£¬ÄÇôÄã²»ÐèÒªÁ˽âÏÂÃæÕâЩÁË¡£
¡¡¡¡ÎÒ²»ÊÇÒ»¸ö¿ñÈȵÄ×ÔÓÉÈí¼þ·Ý×Ó£¬ËäÈ»ÎÒºÜϲ»¶×ÔÓÉÈí¼þ¡£ÕâÆªÎÄÕÂÒ²²»ÊÇÓÃÀ´ÍÆÐÐ×ÔÓÉÈí¼þÔ˶¯µÄ£¬ËäÈ»ÎÒ¾õµÃ×ÔÓÉÈí¼þÔ˶¯ÊǷdz£ºÃµÄ¡£
¡¡¡¡ÕâÆªÎÄÕÂÒ²²»ÊÇÓÃÀ´±È½Ï Linux ºÍ Windows ÄÚºËЧÂÊ£¬Îļþϵͳ£¬ÍøÂç·þÎñµÄ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ