内核时钟的详细讨论(1)
发布时间
阅读量:
阅读量
硬件定时器负责提供精确的时间计量以及触发定时中断。软件定时器(即系统定时器)在首次启动后立即初始化,并基于此时的硬件时间设置基准值。通过记录自启动以来的脉搏次数来确定当前时间。其中每次脉搏事件都会更新一个全局计数值jiffies. 定 timer每隔一个机器周期就会同步一次基准值.这一计数值在整个系统的运行过程中持续发挥作用,在各个调度阶段均被有效利用.
2、软件封装定时器:
(1)老版,最多32个
timer_active 32bit,每一位控制对应定时器的开关
每个定时器,包含expires到期时间,即处理函数
把希望运行的时间转换为jiffies的单位,再加上当前系统时间,得到终结时间expires
struct timer_struct{
unsigned long expires;
void (*fn)(void);
};
(2)新版数目不限,定时器双向链表构成队列,以expires升序

3、进程执行遵循核心模式(通过系统调用进入)以及用户模式两种形式进行操作。每种模式均具备独立的堆
全部评论 (0)
还没有任何评论哟~
