Linux操作系统分析 Chapter7 Linux中的时钟和定时测量 陈香兰(xlanchen@ustc.edu.cn) 计算机应用教研室©计算机学院 嵌入式系统实验室●苏州研究院 中国科学技术大学 Fa112014 October 28,2014 1口t4四1是42刀00 陈香兰(x1 anchenoustc,edu,cn)(计算丸应Linux操作看统分所Chapter7 Linux中的时料 0 ctober28.20141749
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Linux操作系统分析 Chapter 7 Linux中的 时钟和定时测量 陈香兰(xlanchen@ustc.edu.cn) 计算机应用教研室@计算机学院 嵌入式系统实验室@苏州研究院 中国科学技术大学 Fall 2014 October 28, 2014 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室 Linux操作系统分析Chapter 7 Linux中的 时钟和定时测量 @计算机学院嵌入式系统实验室@苏州研究院中国科学技术大学Fall 2014) October 28, 2014 1 / 49
Outline 定时的硬件设备 ●实时时钟RTC ●时间戳计数器TSC ·可编程间隔定时器PIT ②Linux的计时体系结构 ●滴答产生机制 。Jiffies变量 ●Linux的时钟源 ●xtime变量 。时钟中断处理 ·软定时器 延迟函数 相关API和命令 小结、作业和project 1口t4四1是42刀00 东香兰(x1 anchenoustc,edu,cn)(计算丸应Linux操作表统分所Chapter7 Linux中的时料 0 ctober28.20142/49
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Outline 1. 定时的硬件设备 实时时钟RTC 时间戳计数器TSC 可编程间隔定时器PIT .2 Linux的计时体系结构 滴答产生机制 Jiffies变量 Linux的时钟源 xtime变量 时钟中断处理 软定时器 .3 延迟函数 4. 相关API和命令 5. 小结、作业和project 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室 Linux操作系统分析Chapter 7 Linux中的 时钟和定时测量 @计算机学院嵌入式系统实验室@苏州研究院中国科学技术大学Fall 2014) October 28, 2014 2 / 49
定时测量 。Linux内核提供两种主要的定时测量 ●获得当前的时间和日期 ·系统调用:time(),ftime()以及gettimeofday() ©维持定时器 o settimer(),alarm() ●定时测量是由基于固定频率振荡器和计数器的几个硬件电路完成的 1口4四1是4P在刀0C 陈香兰(x1 anchenoustc,edu,cn)(计算丸应Linux操作看统分所Chapter7 Linux中的时华 0 ctober28.20143/49
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 定时测量 Linux内核提供两种主要的定时测量 1. 获得当前的时间和日期 系统调用:time(), ftime()以及gettimeofday() 2. 维持定时器 settimer(), alarm() 定时测量是由基于固定频率振荡器和计数器的几个硬件电路完成的 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室 Linux操作系统分析Chapter 7 Linux中的 时钟和定时测量 @计算机学院嵌入式系统实验室@苏州研究院中国科学技术大学Fall 2014) October 28, 2014 3 / 49
Outline 定时的硬件设备 。实时时钟RTC 。时间戳计数器TSC ·可编程间隔定时器PIT Lx的计时体系结构 延迟画数 相天APT和命今 合小结、作业和project 1口t4四1是42刀00 陈香兰(x1 anchenoustc,edu,cn)(计算丸应Linux操作看统分析Chapter7 Linux中的时料 0 ctober28.20144/49
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Outline . 1. 定时的硬件设备 实时时钟RTC 时间戳计数器TSC 可编程间隔定时器PIT .2 Linux的计时体系结构 .3 延迟函数 4. 相关API和命令 5. 小结、作业和project 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室 Linux操作系统分析Chapter 7 Linux中的 时钟和定时测量 @计算机学院嵌入式系统实验室@苏州研究院中国科学技术大学Fall 2014) October 28, 2014 4 / 49
硬时钟概述 ●80x86体系结构上,内核必须显式的与各种时钟打交道 O实时时钟(Real time clock,RTC) O时间戳计数器(Time stamp counter,TSC) O可编程间隔定时器(Programmable interva1 timer,PIT) OCPU本地定时器 ⊙高精度事件定时器 ACPI电源管理定时器 1口t4四1是42刀00 陈香兰(x1 anchenoustc,edu,cn)(计算丸应Linux操作看统分析Chapter7 Linux中的时料 0 ctober28.20145/49
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 硬时钟概述 80x86体系结构上,内核必须显式的与各种时钟打交道 1. 实时时钟(Real time clock,RTC) 2. 时间戳计数器(Time stamp counter,TSC) 3. 可编程间隔定时器(Programmable interval timer, PIT) 4. CPU本地定时器 5. 高精度事件定时器 6. ACPI电源管理定时器 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室 Linux操作系统分析Chapter 7 Linux中的 时钟和定时测量 @计算机学院嵌入式系统实验室@苏州研究院中国科学技术大学Fall 2014) October 28, 2014 5 / 49