学习笔记8 - 重点总结
1. 定时器及时钟服务
1.1 硬件定时器
- 由时钟源和可编程计数器组成的硬件设备。
- 时钟源通常是晶体振荡器,驱动计数器以精确的频率。
- 计数器周期称为定时器刻度,是系统的基本计时单元。
1.2 个人计算机定时器
- 实时时钟(RTC)提供时间和日期信息,即使在关机时也能运行。
- 可编程间隔定时器(PIT)提供以毫秒为单位的定时器刻度,通常用于系统基本计时单元。
1.3 多核CPU中的本地定时器
- 每个核都有自己的本地定时器,由CPU时钟驱动。
1.4 高分辨率定时器
- 大多数电脑都有时间戳定时器(TSC),提供纳秒级的定时器分辨率。
2. CPU操作
- 每个CPU有程序计数器(PC)、标志/状态寄存器(SR)、堆栈指针(SP)等。
- PC指向下一条指令,SR包含当前状态,SP指向当前堆栈栈顶。
3. 中断处理
- 外部设备的中断通过中断控制器传递给CPU,按优先级排序。
- CPU根据中断向量在中断向量表中找到相应的中断处理程序。
4. 时钟服务函数
gettimeofday
和settimeofday
用于获取和设置系统日期和时间。time
返回当前时间的秒数。times
用于获取进程的执行时间信息。
5. 间隔定时器
- 三类间隔定时器:
ITIMER_REAL
(实时减少)、ITIMER_VIRTUAL
(用户模式减少)、ITIMER_PROF
(用户和系统模式减少)。
参考命令
date
:打印或设置系统日期和时间。time
:报告进程在用户模式和系统模式下的执行时间和总时间。hwclock
:查询并设置硬件时钟(RTC)。