linux内核定时器

linux内核定时器

linux内核定时器:

时钟中断: 有系统定时的硬件以周期性的时间间隔产生

比如HZ=1000,即1s中产生1000次中断,一次 1/1000 s

每当时钟中断产生一次,jiffise (ulong)就加一 ,驱动程序根据jiffise值计算时间及间隔 关机之后jiffise清零

一个延时程序:

ulong j=jiffise+jit_delay *HZ; //延时 jit_delay秒

while(jiffse<j) ;

内核定时器 用于控制 某个函数 在未来的某个特定的时刻 执行,

特点,函数执行一次,就是一个单闹钟

内核定时器:内核定时器被组织成双向链表,使用一个结构体描述

struct timer_list

{

struct list_head entry; //内核使用

ulong expires; //超时的 jiffise值

void (*funct)(ulong); //超时处理函数

ulong data; //超时处理函数的参数

struct tvec_base *base; //内核使用

}

内核定时器:

void init_timer(struct timer_list *timer) //初始化定时器 队列结构

启动定时器:

void add_timer(struct timer_list *timer)

删除定时器, 如果超时之后,系统会自动删除定时器

int del_timer(struct timer_list *timer)

实例

linux内核定时器

linux内核定时器

:

你可能喜欢

  • Linux内核
  • 定时控制器
  • linux内核编译
  • Linux编程
  • 软件开发工具实验报告
  • 操作系统课程设计
  • 算法实验报告
  • java实验报告

linux内核定时器相关文档

最新文档

返回顶部