Linux内核定时器笔记Linux认证考试
文章作者 100test 发表时间 2010:02:10 19:01:28
来源 100Test.Com百考试题网
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 返回自上一个节拍开始所经过的时间
Monotonic_clock :返回自内核初始化开始所经过的纳秒数
Delay:等待制定数目的“循环”