52676嵌入式操作系统内容摘要:
Systems 14 在 init_IRQ()中初始化时钟中断频率 此后,约每 10ms就会产生一个 tick Embedded Operating Systems 15 Linux的计时体系结构 在单处理器系统中,所有定时活动都由 IRQ0上的时钟中断触发,包括 在中断中立即执行的部分,和 作为下半部分延迟执行的部分 Embedded Operating Systems 16 时钟中断处理例程 Linux初始化时由 time_init()建立 IRQ0对应的中断处理函数 将 irq0作为 irq_desc的第一项 的中断处理函数 Embedded Operating Systems 17 如果有 TSC,那么就得到时钟中断处理延迟, 以给用户提供更精确的时钟 该函数会调用 do_timer进一步处理 Embedded Operating Systems 18 do_timer 全局变量,存放自系统启动 以来的时钟节拍数 32位 约 497天会溢出(回归为 0) 检查当前进程对时间片的使用 情况 激活下半部分 如果 tq_timer非空,还要激活相关的下半部分处理 Embedded Operating Systems 19 update_process_times 更新时间片 视需要进行调度 统计当前进程对 CPU时间的使用 情况 Embedded Operating Systems 20 TIMER_BH下半部分 当时钟中断处理例程运行结束并返回时,会立即处理下半部分 更新系统日期和时间,计算当前的系统负载 维护软定时器处理 Embedded Operating Systems 21 更新时间和日期 用户程序从下面这个变量中获得当前时间和日期 存放从 1970年 1月 1日凌晨 0点 以来经过的所有秒数 最后一秒已经过去的微秒数 取值范围: 0~999999 Embedded Operating Systems 22 系统初始化时, time_init()初始化时间和日期 观察 get_。52676嵌入式操作系统
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。