定时测量:由基于固定频率振荡器和计数器的几个硬件电路完成的。 记时体系概貌: 内核中与时间相关的任务:
硬件设备:
实时时钟(RTC):1、Real Time Clock ,独立于CPU和所有芯片,每个PC都有。 2、它有专门的电池,不受PC电源断电影响。 3、能在IRQ8上门发周期性的中断,频率为2-8192Hz 4、可编程 时间戳计数器(TSC):1、Time Stamp Counter 收到时钟信号加一 2、时钟信号的频率,如果是1GHz,时间戳计数器美纳秒加一。 可编程间隔定时器(PIT):1、Programmable Interval Timer 2、通常是使用0x40~0x43 I/O端口的一个8354CMOS芯片 3、通过发出 时钟中断来通知内核又一个时间间隔过去了。 4、永远以固定对频率发送中断 CPU本地定时器:有APIC提供,APIC(32bit),PIC(16bit);可以对本地定时器编程产生很低频率的中断 本地APIC定时器把中断只发送给自己的处理器,而PIT产生全局性中断,任何CPU都可以对其进行处理。 APIC定时器基于时钟信号;PIT基于内部时钟振荡。 高精度事件定时器(HPET):
Linux 记时体系结构:
内核会周期性的执行与定时 相关的操作: 1、更新自系统启动以来所经过的时间 2、更新时间和日期 3、确定当前进程在每个CPU上面已经运行了多长时间,如果超过了分配给他的时间片,则抢占它。 4、更新系统资源使用统计数 5、检查每个软定时器的时间间隔是否已经达到。
时间: 2024-11-05 14:44:13