linux系统时钟

硬件上,一个soc上面有:时钟源、定时器。时钟源用于产生不同频率的clock,用于不同的模块,比如ahb和apb总线的频率不同;以及用于不同的cpu模式下,比如低功耗模式下的clock的频率更低。定时器是时钟clock作为输入,进行计数,周期性产生中断,定时器的计数周期都是可编程的。这是硬件上时钟和定时器的概念。

而软件上,一般linux系统中提及比较多的概念有:系统时钟、rtc时钟以及local定时器。其实这么三个硬件上都是定时器(计数器)。系统时钟输入是硬件上时钟源clock,然后然后通过编程在一定周期内产生中断,用途是用于产生系统事件执行的节拍,相当于软件概念的clock。rtc时钟也叫cmos时钟,是一个独立的芯片,又bios的电池供电,及时系统关机了,rtc也会保持计时。而local定时器,硬件和系统时钟一样是定时器,但是它的作用不是为整个系统提供节拍,而是用在事件的定时延时上。

linux中,时间有两个:1,系统时间,从系统启动到当前的时间;2,墙上时间,也叫实际时间,存放着UTC以来经过的时间,我们在操作系统上看到的时间就是该时间。系统时间以节拍jiffy为单位,每隔jiffy系统时钟会产生一个中断。系统的调度等事件都是基于系统时间,系统中一个jiffies_64变量来记录系统启动在当前总共的节拍数。系统时钟的功能通过中断处理程序实现,它分为两个部分:体系结构相关部分和体系结构无关部分。

体系结构无关部分tick_periodic()函数实现:

(1)给jiffies_64变量加1,维护系统的节拍计数

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值