Linux时间子系统专题汇总】的更多相关文章

关于Linux时间子系统有两个系列文章讲的非常好,分别是WowoTech和DroidPhone. 还有两本书分别是介绍: Linux用户空间时间子系统<Linux/UNIX系统编程手册>的第10章 时间和第23章 定时器与休眠 Linux内核时间子系统<深入Linux内核架构>的第15章 时间管理. <Linux/Unix系统编程手册> 时间子系统 <深入Linux内核架构>时间子系统 WowoTech Linux时间子系统专题 Linux时间子系统之(一)…
专题文档汇总目录 Notes:Linux时间基准点:Linux时间和broken-down time(struct tm):不同精度的时间表示time_t.timeval.timespec. 原文地址:Linux时间子系统之(一):时间的基本概念 本文使用Q & A的方式来和大家以前探讨一下时间的基本概念 一.什么是时间? 这个问题实在是太复杂了,我都不知道这是一个物理学.宇宙学.还是热力学异或是哲学问题,我只是想从几个侧面来了解一下时间这个概念.本节内容都是我坐在公交车上瞎想的,对物理学有兴趣…
专题文档汇总目录 Notes:从框架上讲解了时间子系统,从底向上包括CPU Local TImer.Global Counter.Clock Souce/Clock Events模块管理.Tick Device.高精度timer.低精度timer.Broadcast timer.Timekeeping.用户空间Time/Timer系统调用接口.用户空间函数库.然后介绍了时间子系统相关文件及其描述,不同功能需求的内核配置.低精度Timer/高精度Timer和周期Tick/Dynamic Tick两…
专题文档汇总目录 Notes:用户空间时间相关接口函数: 类型 API 精度 说明 时间 time stime time_t 精度为秒级 逐渐要被淘汰.需要定义__ARCH_WANT_SYS_TIME才能支持. 设定时间的进程需具备CAP_SYS_TIME权限. gettimerofday settimeofday timeval 精度为微秒级别 设定时间的进程需具备CAP_SYS_TIME权限. tims clock   tims进程创建后使用的CPU时间数量. clock进程使用的总的CPU…
专题文档汇总目录 Notes:timekeeping模块的狠心数据结构是timekeeper,它维护了系统不同类型时钟的时间值,并且介绍了获取不同类型时钟时间的函数. clocksource切换通过clocksource_notify通知到timekeeper.最后介绍了timekeeper电源管理相关问题,注册为syscore_ops进行suspend-resume,涉及到睡眠时间.hrtimer.clocksource和clockevents的suspend/resume. 原文地址:Lin…
专题文档汇总目录 Notes: 本章主要介绍了若干种类的静态时钟,这些时钟都可以通过k_clock表示,注册到posix_clocks中.这些都是静态时钟,可以分为三大类:各种REALTIME时钟.带_ALARM唤醒功能的时钟以及进程线程相关时钟.当然不是所有的时钟都具备定时器功能,但是所有的时钟都提供clock_getres和clock_get. 然后介绍了可以动态加载/卸载的时钟,除了具备时钟.定时器功能外,还需要具备字符设备操作接口. 原文地址:Linux时间子系统之(五):POSIX C…
专题文档汇总目录 Notes:首先讲解了POSIX timer的标识(唯一识别).POSIX Timer的组织(管理POSIX Timer).内核中如何抽象POSIX Timer:然后分析了POSIX timer相关系统调用(timer_create/timer_gettime/timer_getoverrun/timer_settime/timer_delete):再后重点分析了real time timer的callback函数.POSIX timer超时有三种方式(SIGEV_SIGNAL…
专题文档汇总目录 Notes:TickDevice模式,以及clocckevent设备.TickDevice设备的初始化,TickDevice是如何加入到系统中的.周期性Tick的产生. 原文地址:Linux时间子系统之(十二):periodic tick 一.tick device概念介绍 1.数据结构 在内核中,使用struct tick_device来抽象系统中的tick设备,如下: struct tick_device {    struct clock_event_device *ev…
专题文档汇总目录 Notes:从概念层次描述了tick-comm.oneshot tick.broadcast tick:重点介绍了tick和tickless概念及其区别,两种tick device:periodic tick和oneshot tick:周期性时钟是如何运作的:高精度情况下,dynamic tick运作. 原文地址:Linux时间子系统之(十三):Tick Device layer综述 一.前言 时间子系统中的tick device layer主要涉及kernel/time/ti…
专题文档汇总目录 Notes:BroadcastTick作为cpuidle的waker,硬件基础.BroadcastTick嵌入在当前系统Tick框架中.BroadcastTick设备初始化:周期性Tick和OneShot两种模式下BroadcastTick的工作. 原文地址:Linux时间子系统之(十四):tick broadcast framework 一.前言 在内核中,有cpuidle framework可以控制cpu的节电:当没有进程调度到该cpu上执行的时候,swapper进程粉墨登…