新客立减

Linux

内核的时钟中断机制 

opyright © 2003 by 

詹荣开

 

E-mail:zhanrk@sohu.com 

Linux-2.4.0 

Version 1.0.0

2003-2-14 

 

摘要:

本文主要从内核实现的角度分析了

Linux 2.4.0

内核的时钟中断、

内核对时间的表示等。

本文是为那些想要了解

Linux I/O

子系统的读者和

Linux

驱动程序开发人员而写的。

 

关键词:

Linux

、时钟、定时器

 

 

申明:

这份文档是按照自由软件开放源代码的精神发布的,任何人可以免费获得、使用和重

新发布,但是你没有限制别人重新发布你发布内容的权利。发布本文的目的是希望它能对读

者有用,

但没有任何担保,

甚至没有适合特定目的的隐含的担保。

更详细的情况请参阅

GNU

通用公共许可证

(GPL)

,以及

GNU

自由文档协议

(GFDL)

 

 

你应该已经和文档一起收到一份

GNU

通用公共许可证

(GPL)

的副本。如果还没有,写信给:

 

The Free Software Foundation, Inc., 675 Mass Ave, Cambridge,MA02139, USA 

 

欢迎各位指出文档中的错误与疑问。

 

 

 

 

前言 

时间在一个操作系统内核中占据着重要的地位,

它是驱动一个

OS

内核运行的

起博器

一般说来,内核主要需要两种类型的时间:

 

1

、在内核运行期间持续记录当前的时间与日期,以便内核对某些对象和事件作时间标记

timestamp

,也称为

时间戳

,或供用户通过时间

syscall

进行检索。

 

2

、维持一个固定周期的定时器,以提醒内核或用户一段时间已经过去了。

 

PC

机中的时间是有三种时钟硬件提供的,

而这些时钟硬件又都基于固定频率的晶体振荡

 

1