加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

Linux的时钟处理机制

发布时间:2016-01-26 08:34:39 所属栏目:Linux 来源:网络整理
导读:在 Linux 操作系统中,很多活动都和时间有关,例如:进程调度和网络处理 等等。所以说,了解 Linux 操作系统中的时钟处理机制有助于更好地了解 Linux 操作系统

这里所说“软件时钟”指的是软件定时器( Software Timers ) ,是一个软件上的概念,是建立在硬件时钟基础之上的。它记录了未来某一时刻 要执行的操作(函数),并使得当这一时刻真正到来时,这些操作(函数)能够 被按时执行。举个例子说明:它就像生活中的闹铃,给闹铃设定振铃时间(未来 的某一时间)后,当时间(相当于硬件时钟)更新到这个振铃时间后,闹铃就会 振铃。这个振铃时间好比软件时钟的到期时间,振铃这个动作好比软件时钟到期 后要执行的函数,而闹铃时间更新好比硬件时钟的更新。

实现软件时钟原理也比较简单:每一次硬件时钟中断到达时,内核更新的 jiffies ,然后将其和软件时钟的到期时间进行比较。如果 jiffies 等于或者 大于软件时钟的到期时间,内核就执行软件时钟指定的函数。

接下来的几节会详细介绍 Linux2.6.25 是怎么实现软件时钟的。

3.1 相关数据结构

struct timer_list :软件时钟,记录了软件时钟的到期时间以及到期后要 执行的操作。具体的成员以及含义见表3-1。

struct tvec_base :用于组织、管理软件时钟的结构。在 SMP 系统中,每 个 CPU 有一个。具体的成员以及含义参见表3-2。

表3-1 struct timer_list 主要成员

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读