时间管理 1> 内核定时器

2590阅读 0评论2015-06-16 lsxuan驱动
分类:嵌入式

0> 前言:
              时间管理非常重要,内核有大量的函数基于时间驱动的,现在我知道的有:
                                              1》进程调度 
                                              2》实现阻塞I/O的:等待队列
                                              3》实现中断下半部,用到的workqueue, tasklet,
内核通过---->内核定时器de------->中断---->来管理时间。
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

1>内核(系统)定时器:
                内核定时器我假想为一个类似于Exynos4412的timer定时器,上电开机就开始运行。我只需知道:
                HZ:中断频率(节拍率),可make menuconfig 设置。Tiny4412中默认200(.config),周期就是5ms(时间片)。
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2> jiffies:
                是全局unsigned long变量,用来记录系统启动以来的节拍总数
(jiffies一秒内增加的值等于Hz的值)

计算开机时间: jiffies/Hz
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
3> jiffies_64:
                64位的全局变量:32位机上:jiffies是jiffies_64的低32位,获得64位必须用get_jiffies_64();
                                               64位机上:jiffies==jiffies_64;
/linux-3.5/arch/arm/kernel/vmlinux.lds.S"


        

                


    
上一篇:锁 2> 自旋锁
下一篇:时间管理 2> 长延迟