Chinaunix首页 | 论坛 | 博客
  • 博客访问: 223866
  • 博文数量: 39
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 584
  • 用 户 组: 普通用户
  • 注册时间: 2015-04-18 20:24
个人简介

学习总结,分享快乐。 望指正错误, 共同提高!!!

文章分类

全部博文(39)

分类: 嵌入式

2015-06-16 08:32:10

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"


        

                


    
阅读(2578) | 评论(0) | 转发(0) |
0

上一篇:锁 2> 自旋锁

下一篇:时间管理 2> 长延迟

给主人留下些什么吧!~~