Advertisement

内核时钟的详细讨论(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)

还没有任何评论哟~