文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院操作系统 LinuxLinux操作系统内核的时钟中断机制
精品推荐
特别推荐
·高效使用Linux的七个好习惯
·为何Linux比Windows更安全?
·Linux和Unix最常用的网络命令
·Linux系统下安全防护十大招数
·Linux各种服务器的架设
·Linux操作系统下用单网卡捆绑双IP
·恢复被误删除的Linux文件
·在Linux服务器上做备份和恢复
·Linux中网络参数的意义及其应用
·linux知识大全
·解析Linux服务器远程控制技术
·新手关于Linux系统的一些错误认识
·Linux系统至少有五大点比Vista更好
·Linux攻略 关于Apache安装、配置、优化
·详细讲解Linux操作系统的进程管理的功能
·解决Linux和Windows双系统的引导问题
·新手学堂:Linux操作系统安全性能检查笔记
·600个优秀网站
·提高Linux操作系统网速的方法
·Linux系统下挂载硬盘光驱和U盘的方法
热点TOP10
·Apache 使用基础
·RedHat.Enterprise.Server.3.AS升级解决办法
·Linux系统安全机制进阶分析
·绝对安全吗?Linux操作系统的病毒历史
·Linux认证考试练习题自己找答案 仅供参考
·提高Linux操作系统网速的方法
·新手入门 Linux系统下各文件目录的含义
·Novell公司SUSE Linux企业级桌面系统
·TurboLinux 下的SYBASE安装
·RedHat Linux 9软件包管理
·如何架构高性价比的分布式计算机集群(1)
·Linux内核分析方法谈
·TSM Server,Client,TDPO安装配置手记
·Slax本土化:移动硬盘上的Linux中文套件
·Linux内核模块编程--中断处理程序
·vmware配置实例one linux host + windows guest + firewall
·Sybase DB-Library For Linux
·Python Socket 编程(1)
·Cacti的使用
·RPM打包技术与典型SPEC文件分析

Linux操作系统内核的时钟中断机制

日期:2006年12月17日 作者: 查看:[大字体 中字体 小字体]


  摘要:

  本文主要从内核实现的角度分析了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)

  状态寄存器A(地址0x0A)的格式如下:
  其中:

  (1)bit[7]——UIP标志(Update in Progress),为1表示RTC正在更新日历寄存器组中的值,此时日历寄存器组是不可访问的(此时访问它们将得到一个无意义的渐变值)。

  (2)bit[6:4]——这三位是“除法器控制位”(divider-control bits),用来定义RTC的操作频率。各种可能的值如下:


Divider bits Time-base frequency Divider Reset Operation Mode 
DV2 DV1 DV0 
0 0 0 4.194304 MHZ NO YES 
0 0 1 1.048576 MHZ NO YES 
0 1 0 32.769 KHZ NO YES 
1 1 0/1 任何 YES NO

  PC机通常将Divider bits设置成“010”。

  (3)bit[3:0]——速率选择位(Rate Selection bits),用于周期性或方波信号输出。

  RS bits 4.194304或1.048578 MHZ 32.768 KHZ

  RS3 RS2 RS1 RS0 周期性中断 方波 周期性中断 方波



[1] [2] [3] 下一页 




上一篇:用Excel做数据分析—相关系数与协方差

下一篇:Linux操作系统内核抢占补丁的基本原理

Linux操作系统内核的时钟中断机制 相关文章:
·Windows XP操作系统中隐藏的20个秘密
·快马加鞭 20秒进入Win XP操作系统
·如何卸载WindowsXP操作系统
·操作系统一样DIY ——将Windows XP改造成Media Center Edition
·更改Windows XP操作系统序列号
·打造N合1操作系统安装光盘
·Windows XP操作系统内存性能优化技巧
·64位Windows XP操作系统预览[图]
·Windows 7操作系统新技术深入探讨
·苹果操作系统精选
Linux操作系统内核的时钟中断机制 相关软件:
·水晶热带鱼缸时钟屏保
·鸟哥的linux私房菜:基础学习篇
·第三方RedHat Linux认证学习指导资料
·多功能时钟日历V3.00
·多功能桌面时钟 V3.2
·桌面时钟替代者 Desktop Tray Clock V2.3绿色汉化版
·“时可通” Windows时钟升级套件 V1.0.319
·人脑及其操作系统(上、下)
·安装操作系统七步法
·Linux命令大全(修改版)

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:viphot