linux时钟和定时器.docVIP

  • 0
  • 0
  • 约1.1千字
  • 约 5页
  • 2021-09-27 发布于山东
  • 举报
linux时钟和定时器 linux时钟和定时器 PAGE / NUMPAGES 莃PAGE 莈肄 螇膅 莂羀 蒃螁 螈芆 膅蚈 蒅蕿 薃蚁 腿芃 羇羆 膄膈 蚃薁 薀蒄 莅蒈 羃螇 螂蒁 蚇蚅 肇螆 螂蚀 螂莁 肈蚂 薅莈 螅艿 袂莂 葿袃 芇薆 薄袈 羂节 袀膄 螄膈 莃蒇 肂膂 芁莆 蒆 linux时钟和定时器 linux时钟和准时器 时钟 时钟这个东西,其实是作为一种工具而存在,内核经过时钟来感知、管理时间。这里的时钟,更主要的仍是软件上的观点,系统经过保护软件时钟来追踪时间。观点 时钟中止:由硬件产生的电信号,全部的缘起。该中止产生时,内核经过特别的中止办理程序进行办理。 节拍率(tickrate):系统以某种频次(可编程)自行触发 hitting、popping)时钟中止(即系统准时器的频次)。节拍(tick):因为节拍率已知,系统自然也知道两次时钟中止之间所间隔的时间,这个时间就是时钟节拍。 再说节拍率:HZ 节拍率,即系统准时器的频次,在内核中经过 HZ这个宏进 行定义。在进行内核编程的时候,牢记不要假定 HZ不会发 生变化,事实上,大部分系统构造的 HZ都是可调的。 HZ的理想取值:从 2.5内核开始,这个取值在 i386系统结 构中就改为了1000(2.6.13版本后的内核,加入了250这个取值)。改变HZ的取值,关于操作系统而言,意味着改变时 钟中止的频次: 增大HZ:提高时钟中止的频次,这带来的利处是,提高了 时间驱动事件的分析度与精准度 ,内核准时器拥有更高的频 度与精准度(依靠内核准时器的系统调用也有了更精准的执 行度,比方select、epoll等,这会带来很大的性能提高) ,时 间有关的丈量会更正确,内核抢占更正确,进度调动的响应 更实时。 自然也会有负面影响:更高的中止频次,必定会致使系统消 耗更多的资源来办理时钟中止(自然,就当前的主机来说, 1000仍是一个不错的取值)。 2.6的内核同意在编译的时候,选择不一样的HZ取值,用户空间的USER_HZ,是依据内核的HZ进行了相应的变换。最后趁便说一下,OS也是能够采纳无节拍的实现的,但系 统的开支会特别大。 jiffies 变量种类为unsignedlongvolatile,该变量记录了系统启动以来,产生的tick总数,系统运转时间=jiffies/HZ。下边是几个典型运用: 1 2 3 unsignedlongtimestamp=jiffies unsignedlongnextTick=jiffies+1 unsignedlong5sLater=jiffies+5*HZ

文档评论(0)

1亿VIP精品文档

相关文档