- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
?
?
[笔记]《Linux内核设计与实现》第十一章定时器和时间管理
?
?
目前正在通读《Linux内核设计与实现》一书,本文是对第十一章定时器和时间管理的总结。 系统定时器和时钟中断处理程序是Linux系统内核管理机制中的中枢。 主要是概念: 体系结构提供了两种设备进行计时:系统定时器和实时时钟。 1.实时时钟 RTC,用来持久存放系统时间,即便是系统关闭后,它也可以靠主板上的微型电池提供的电力保持系统的计时。 实时时钟最主要的作用是在启动时初始化xtime变量。
2.系统定时器 在内核中可看成是一个电子时间资源,是内核定时机制中最为重要的角色 其根本思想是:提供一种周期性触发中断机制。 实现的方式有:电子晶振进行分频、衰减测量器(decrementer)、可编程中断时钟(PIT)等。
3.实际时间 xtime变量,存放着自纪元(1970年1月1日,即UTC)以来经过的时间。 读写xtime变量需要使用xtime_lock锁,该锁是一个顺序锁。
4.节拍率 tick rate,系统定时器以某种频率自行触发时钟中断,该频率可以通过编程设定,称为节拍率。
5.节拍 连续两次时钟中断的间隔时间
6.HZ 一秒内时钟中断的次数等于HZ。 系统定时器频率(即节拍率)是通过静态预处理定义的,也就是HZ(赫兹),在系统启动时按照HZ值对硬件进行设置。体系结构不同,HZ值也不同,实际上,对某些体系结构来说,甚至是机器不同,它的值都会不一样。 目前,大多数体系结构中,默认的频率是100,则节拍就是10ms。 无节拍的OS 在Linux内核支持“无节拍操作”这样的选项。当编译内核时设置了CONFIG_HZ配置选项,系统就根据这个选项动态调度时钟中断,这样系统在空闲档期不会被不必要的时钟中断所打断。
7.jiffies 全局变量jiffies用来记录自系统启动以来产生的节拍的总数。 启动时,内核将其初始化为0,此后,每次时钟中断处理程序就会增加该变量的值。所以1系统运行时间以秒为单位进行计算,就等于jiffies/HZ。 jiffies变量是无符号长整数(unsigned long)。当jiffies的值超过它的最大存放范围后就会发生溢出,对于32位无符号长整数,最大取值是2的32次方 - 1,当达到了最大值还要继续增加的话,它的值会回绕(wrap around)到0.
8.定时器 有时也称为动态定时器或内核定时器 定时器并不周期运行,它在超时后就自行撤销了。创建-撤销的方式,运行次数不受限制。 一般来说,定时器都会在超时后马上就会执行,但是也有可能推迟到下一次时钟节拍时才能运行。所以不能用定时器来实现任何硬件实时任务。 内核提供了函数可以用来修改已经激活的定时器超时时间
8.1.实现定时器 所有定时器都已链表形式存放在一起 为了提高搜索效率,内核采用的是分组定时器的方法。将定时器按它们的超时时间划分为五组,当定时器超时时间接近时,定时器将随组一起下移。 这种方法在执行软中断的多数情况下,确保内核尽可能减少搜索超时定时器带来的负担。
9.短延迟 多数情况下发生在和硬件同步时,要求的延迟比时钟节拍要短。 如何实现? 通过忙等函数来实现。 内核提供的udelay()函数,依靠执行数次循环来达到延迟效果。缘由:内核知道处理器在1秒内能执行多少次循环,所以udelay()函数仅仅需要根据指定的延迟时间在1秒钟占的比例,来决定需要的循环次数。 9.1.BogoMIPS 用于记录处理器在给定时间内忙循环执行的次数。,主要被udelay()函数和mdelay()函数使用。
?
-全文完-
您可能关注的文档
最近下载
- 2024年琼海市菜篮子市场开发有限责任公司招聘真题 .pdf VIP
- 2025海南琼海市菜篮子市场开发有限责任公司招聘10人(第1号)备考练习题库及答案解析.docx VIP
- 2025海南琼海市菜篮子市场开发有限责任公司招聘10人(第1号)笔试备考题库及答案解析.docx VIP
- 2025海南琼海市菜篮子市场开发有限责任公司招聘10人(第1号)笔试参考题库附答案解析.docx VIP
- GB∕T 39758-2021 无障碍设计 盲文在标志、设备和器具上的应用.pdf
- 2025海南琼海市菜篮子市场开发有限责任公司招聘10人(第1号)笔试模拟试题及答案解析.docx VIP
- 法哲学原理第二讲导论-公开课件.ppt VIP
- 法哲学原理课件.pptx
- 轻型卒中临床诊疗中国专家共识(2024版).pptx VIP
- 广告语言的语用分析.docx VIP
文档评论(0)