Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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²ã±à³Ì

£¨L2CAPЭÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPЭÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼­Á¬½Ó¿ØÖƺÍÊÊÅäЭÒé (L2CAP) ΪÉϲãЭÒéÌá¹©ÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àЭÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãЭÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......

LinuxÏÂviÃüÁîÏê½â

vi
±à¼­Æ÷ÊÇËùÓÐUnix¼°Linuxϵͳϱê×¼µÄ±à¼­Æ÷£¬ËüµÄÇ¿´ó²»Ñ·É«ÓÚÈκÎ×îеÄÎı¾±à¼­Æ÷£¬ÕâÀïÖ»ÊǼòµ¥µØ½éÉÜÒ»ÏÂËüµÄÓ÷¨ºÍһС²¿·ÖÖ¸Áî¡£ÓÉÓÚ¶Ô
Unix¼°LinuxϵͳµÄÈκΰ汾£¬vi±à¼­Æ÷ÊÇÍêÈ«ÏàͬµÄ£¬Òò´ËÄú¿ÉÒÔÔÚÆäËûÈκνéÉÜviµÄµØ·½½øÒ»²½Á˽âËü¡£ViÒ²ÊÇLinuxÖÐ×î»ù±¾µÄÎı¾±à¼­
Æ÷£¬Ñ§»áËüºó£¬Äú½«ÔÚLinuxµÄÊÀ½çÀ ......

linux(ubuntu)ÏÂruby¿ª·¢»·¾³´î½¨

env setup
linux(ubuntu)ÏÂruby¿ª·¢»·¾³´î½¨£¬°üÀ¨Ò»Ð©³£¼ûÎÊÌâ½â¾ö
×¢Ò⣬±¾ÎÄÖ»ÊÇÎÒÔڴrubyѧϰ»·¾³Ê±µÄһЩ±Ê¼Ç£¬ÒòΪÊÇÓÃgedit±à¼­µÄ£¬ËùÒÔ¸ñʽ»¯²»ÊǺܺã¬ÁíÍ⣬ֻÊDZ¸Íü¶øÒÑ¡£
2010.1.19
1. install ruby
$ tar xzf ruby-1.8.7-p248.tar.gz
$ mv ruby-1.8.7-p248 ruby187
$ cd ruby187/
$ ./configure ......

linuxÅäÖÃʱ¼ä·þÎñÆ÷

1. ÔÚhostÉÏÖ´ÐУº
     È¥µô /etc/ntp.conf ÖÐserverÐÐǰµÄ×¢ÊÍ£¬Server×îºóµÄprefer£¬±íʾNTP·þÎñÆ÷Ö÷ÒªÒԸò¿Ö÷»úʱ¼ä½øÐÐУ׼£¬¿ÉÈ¥µôprefer¸Ä²ÎÊýΪtime.nist.gov¡£
     ntpdate time.nist.gov
     ntpd
2.  ÔÚclientÉÏÖ´ÐÐ
  &nb ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ