相关文章  
  • 推荐:手机Linux系统还需奋力一搏
  • 解析Linux内核获取当前进程指针的方法(2)
  • Linux程序开发:QT中的多线程编程(3)
  • Linux操作系统内核和设备文件对话
  • Linux系统下发送Email的C语言代码(3)
  • 嵌入式Linux系统图形及图形用户界面(5)
  • 嵌入式Linux系统图形及图形用户界面(3)
  • 嵌入式Linux系统图形及图形用户界面(2)
  • 嵌入式Linux系统图形及图形用户界面(1)
  • Linux系统内核定时器机制详解(上)(2)
  •   推荐  
      科普之友首页   专利     科普      动物      植物        天文   考古   前沿科技
     您现在的位置在:  首页 >>文献 >>培训

    Linux系统内核定时器机制详解(上)(3)1

    基于数据结构timer_vec_root,Linux定义了一个全局变量tv1,以表示内核所关心的前256个定时器向量。这样内核在处理是否有到期定时器时,它就只从定时器向量数组tv1.vec[256]中的某个定时器向量内进行扫描。而tv1的index字段则指定当前正在扫描定时器向量数组tv1.vec[256]中的哪一个定时器向量,也即该数组的索引,其初值为0,最大值为255(以256为模)。每个时钟节拍时index字段都会加1。显然,index字段所指定的定时器向量tv1.vec[index]中包含了当前时钟节拍内已经到期的所有动态定时器。而定时器向量tv1.vec[index+k]则包含了接下来第k个时钟节拍时刻将到期的所有动态定时器。当index值又重新变为0时,就意味着内核已经扫描了tv1变量中的所有256个定时器向量。在这种情况下就必须将那些以松散定时器向量语义来组织的定时器向量补充到tv1中来。

    (2)而对于内核不关心的、interval值在[0xff,0xffffffff]之间的定时器,它们的到期紧迫程度也随其interval值的不同而不同。显然inter

    页码:[1] [2] [3] [4] [5] [6]1页、共6页

         

          设为首页       |       加入收藏       |       广告服务       |       友情链接       |       版权申明      

    Copyriht 2007 - 2008 ©  科普之友 All right reserved