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

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

    Linux定义了tv5全局变量来表示这64个松散定时器向量。

    最后,为了引用方便,Linux定义了一个指针数组tvecs[],来分别指向tv1、tv2、…、tv5结构变量。如上述代码所示。

    7.6.3 内核动态定时器机制的实现

    在内核动态定时器机制的实现中,有三个操作时非常重要的:(1)将一个定时器插入到它应该所处的定时器向量中。(2)定时器的迁移,也即将一个定时器从它原来所处的定时器向量迁移到另一个定时器向量中。(3)扫描并执行当前已经到期的定时器。

    7.6.3.1 动态定时器机制的初始化

    函数init_timervecs()实现对动态定时器机制的初始化。该函数仅被sched_init()初始化例程所调用。动态定时器机制初始化过程的主要任务就是将tv1、tv2、…、tv5这5个结构变量中的定时器向量指针数组vec[]初始化为NULL。如下所示(kernel/timer.c):

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

         

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

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