手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网站运营>建站经验>列表

linux中的时间流

来源:互联网 作者:west263.com 时间:2008-04-16
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
"HZ" HZ符号指出每秒钟产生的时钟滴答数。 #include "volatile unsigned long jiffies" jiffies变量每个时钟滴答后加1,因此他每秒增加 HZ 次。 #include "rdtsc(low,high);" "rdtscl(low);" 读取时间戳计数器或其低半部分。头文档和宏是 PC 类处理器特有的,其他平台可能需要用汇编语句实现类似功能。 extern struct timeval xtime; 当前时间,由最近一次定时器滴答计算出。 #include "void do_gettimeofday(struct timeval *tv);" "void get_fast_time(struct timeval *tv);" 这两个函数返回当前时间。前者具备很高的分辨率,后者更快些,但分辨率较差。 #include "void udelay(unsigned long usecs);" "void mdelay(unsigned long msecs);" 这两个函数引入整数数目的微秒或毫秒的延迟。前一个应用于不超过1毫秒的延迟;后一个使用时要格外慎重,因为他们使用的都是忙等待循环。 int in_interrupt(); 假如处理器正在中断模式运行,就返回非0值。 #include "DECLARE_TASK_QUEUE(variablename);" 该宏声明一个新的变量并作初始化。 void queue_task(struct tq_struct *task, task_queue *list); 该函数注册一个稍后执行的任务。 void run_task_queue(task_queue *list); 该函数运行任务队列。 task_queue tq_immediate, tq_timer; 这些预定义的任务队列在内核调度新的进程前(tq_immediate)尽快地,或在每个时钟滴答后(tq_timer)得到执行。 int schedule_task(struct tq_struct *task); 调度一个任务在调度器队列运行。 #include "DECLARE_TASKLET(name, function, data)" "DECLARE_TASKLET_DISABLED(name, function, data)" 声明一个 tasklet 结构,运行时他将调用指定的函数function(并将指定参数unsigned long data传递给函数)。第二种形式把 tasklet 初始化为禁止状态,直到明确地使能后tasklet才能运行。 void tasklet_schedule(struct tasklet_struct *tasklet); 调度指定的 tasklet 运行。假如该 tasklet 没有被禁止,他将在调用了 tasklet_schedule 的CPU上很快得到执行。 tasklet_enable(struct tasklet_struct *tasklet); "tasklet_disable(struct tasklet_struct *tasklet);" 这两个函数分别使能和禁止指定的tasklet。被禁止的 tasklet 能够被调度,但只有使能后才能运行。 void tasklet_kill(struct tasklet_struct *tasklet); 使一个正“无休止重新调度”的tasklet停止执行。该函数能够阻塞,而且不能在中断期间调用。 #include "void init_timer(struct timer_list * timer);" 该函数初始化新分配的定时器。 void add_timer(struct timer_list * timer); 该函数将定时器插入待处理定时器的全局队列。 int mod_timer(struct timer_list *timer, unsigned long expires); 该函数用于更改一个已调度的定时器结构中的超时时间。 int del_timer(struct timer_list * timer); del_timer函数将定时器从待处理定时器队列中删除。假如队列中存在该定时器,del_timer返回1,否则返回0。 int del_timer_sync(struct timer_list *timer); 该函数类似del_timer,但是确保定时器函数当前不在其他 CPU 上运行。 FROM:http://www.linuxforum.net/forum/showflat.php?Cat=&Board=linuxK&Number=294854&page=6&view=collapsed&sb=5&o=all

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!