网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 山东在线 >> 信息中心 >> 网络学院 >> linux发烧友 >> 正文
  Linux操作系统内核的时钟中断机制           
Linux操作系统内核的时钟中断机制
作者:linux专家 文章来源:山东在线更新时间:2007-6-30 0:41:58

下一页 1 2 3 

   

  摘要:

  本文主要从内核实现的角度分析了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)实时时钟(Real Time Clock,RTC);(2)可编程间隔定时器(Programmable Interval Timer,PIT);(3)时间戳计数器(Time Stamp Counter,TSC)。

  时钟硬件

  1、实时时钟RTC

  自从IBM PC AT起,所有的PC机就都包含了一个叫做实时时钟(RTC)的时钟芯片,以便在PC机断电后仍然能够继续保持时间。显然,RTC是通过主板上的电池来供电的,而不是通过PC机电源来供电的,因此当PC机关掉电源后,RTC仍然会继续工作。通常,CMOS RAM和RTC被集成到一块芯片上,因此RTC也称作“CMOS Timer”。最常见的RTC芯片是MC146818(Motorola)和DS12887(maxim),DS12887完全兼容于MC146818,并有一定的扩展。本节内容主要基于MC146818这一标准的RTC芯片。具体内容可以参考MC146818的Datasheet。

  1.1 RTC寄存器

  MC146818 RTC芯片一共有64个寄存器。它们的芯片内部地址编号为0x00~0x3F(不是I/O端口地址),这些寄存器一共可以分为三组:

  (1)时钟与日历寄存器组:共有10个(0x00~0x09),表示时间、日历的具体信息。在PC机中,这些寄存器中的值都是以BCD格式来存储的(比如23dec=0x23BCD)。

  (2)状态和控制寄存器组:共有4个(0x0A~0x0D),控制RTC芯片的工作方式,并表示当前的状态。

  (3)CMOS配置数据:通用的CMOS RAM,它们与时间无关,因此我们不关心它。

  时钟与日历寄存器组的详细解释如下:

Address Function  

00 Current second for RTC  

01 Alarm second  

02 Current minute  

03 Alarm minute  

04 Current hour  

05 Alarm hour  

06 Current day of week(01=Sunday)  

07 Current date of month  

08 Current month  

09 Current year(final two digits,eg:93)

如果您想了解更多内容请看内核技术  系统管理专题

下一页 1 2 3 

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    专 题 栏 目
    最 新 热 门
    最 新 推 荐
    相 关 文 章
    Linux操作系统下如何写一
    回首一年:Linux操作系统
    基于Linux操作系统的目录
    教你制作Linux操作系统的
    Linux操作系统内核抢占补
    Linux操作系统下的网络邻
    Linux操作系统中常见的桌
    Linux操作系统上最好的1
    实战多种Linux操作系统共
    Linux操作系统中的七件超
    山东在线 Copyright@2006-2007 鲁ICP备07018514号 中国网通集团公司山东省分公司:日照信息港