linux内核启动(2)——2.6.内核时钟

2.6.        内核时钟

现在我们来看看内核时钟。内核时钟常用来为细节函数(时钟处理函数)分派执行时间。主数据结构timer_list定义在include/linux/timer.h文件中:

struct timer_list {
struct list_head list;
unsigned long expires;
unsigned long data;
void (*function)(unsigned long);
volatile int running;
};

list字段用于链接内部链表,操作时由timerlist_lock同步锁保护。expires字段表示了处理函数在以data数据为参数被调用的时间数值。running字段用于SMP机上标识时钟处理函数当前是否运行在其他CPU上。
函数add_timer()和del_timer()用于从链表中增加和删除一个时钟。当时钟终止时,它自动被移出。在时钟被使用之前,它必须被init_timer函数初始化;在其被添加到链表之前,function字段和expires字段必须被设置。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值