linux 内核定时器精度_linux内核定时器详解及实例

Linux

内核定时器详解

80X86

体系结构上,常用的定时器电路

实时时钟(

RTC

)

RTC

内核通过

IRQ8

上发出周期性的中断,频率在

2-8192HZ

之间,掉电后依

然工作,内核通过访问

0x70

0x71 I/O

端口访问

RTC

时间戳计时器(

TSC

)

利用

CLK

输入引线,接收外部振荡器的时钟信号,该计算器是利用

64

位的

时间戳计时器寄存器来实现额,

与可编程间隔定时器传递来的时间测量相比,

为精确。

可编程间隔定时器(

PIT

)

PIT

的作用类似于微波炉的闹钟,

PIT

永远以内核确定的固定频率发出中断,

但频率不算高。

CPU

本地定时器

利用

PIC

或者

APIC

总线的时钟计算。

高精度时间定时器(

HPET

)

功能比较强大,家机很少用,也不去记了。

ACPI

电源管理定时器

它的时钟信号拥有大约为

3.58MHZ

的固定频率,

该设备实际上是一个简单的

计数器,为了读取计算器的值,内核需要访问某个

I/O

端口,需要初始化

定时器的数据结构

利用

timer_opts

描述定时器

Timer_opts

的数据结构

Name

:标志定时器员的一个字符串

Mark_offset :

记录上一个节拍开始所经过的时间,由时钟中断处理程序调

Get_offset

返回自上一个节拍开始所经过的时间

你可能感兴趣的:(linux,内核定时器精度)