悟空学Linux专栏----第21篇
来源:互联网 发布:帝国cms tags自动生成 编辑:程序博客网 时间:2024/05/22 13:37
今天悟空得到了一个好消息,就是八戒竟然主动邀请他去上课了,这让悟空很是意外,意外之余有点小感动。所以悟空一大早就来到了课室,看到八戒正在那里睡觉。
悟空:你是猪啊,怎么还睡啊?
八戒:猴哥啊,你终于来了,老师说了,你这次再不来上课,我就也不要来了。
这时达人来了,看到悟空达人很高兴,因为他今晚应该能睡一个好觉了,最近悟空每天晚上都是凌晨来找他,搞得他每晚都没法睡觉。
达人:我们开始上课吧,今天我们要讲的是Linux内核如何管理高精度定时器的。大家都知道,Linux内核采用红黑树来管理高精度定时器。为了减少多个CPU之间上锁的问题,Linux内核为每个CPU定义了自己的高精度定时器,同时每个CPU又根据时间基准不同,定义了三种类型的时间基准,实时时间、启动时间和单调时间,具体的内核组织方式,我们可以看一下下面这个图:
悟空:那么老师,这里是不是说每个CPU都有三个红黑树呢?
达人:是的,每个CPU都有自己独立的hrtimer_cpu_base结构成员,这个和低分辨率的定时器tvec_base结构体成员是一样的。tvec_base采用了5个双向链表来管理,而高精度定时器采用了三个红黑树来管理。
悟空:老师,tvec_base的五个链表之间的定时器迁移比较复杂,那么这三颗红黑树上的定时器迁移又是怎么处理的呢?
达人:这三颗树是彼此独立的,树和树之间没有定时器的迁移,平时大家用的最多的高精度定时器是实时时间的高精度定时器。
悟空:哦,原来是这样啊。
0 0
- 悟空学Linux专栏----第21篇
- 悟空学Linux专栏----第1篇
- 悟空学Linux专栏----第2篇
- 悟空学Linux专栏----第3篇
- 悟空学Linux专栏----第4篇
- 悟空学Linux专栏----第5篇
- 悟空学Linux专栏----第6篇
- 悟空学Linux专栏----第7篇
- 悟空学Linux专栏----第8篇
- 悟空学Linux专栏----第9篇
- 悟空学Linux专栏----第10篇
- 悟空学Linux专栏----第11篇
- 悟空学Linux专栏----第12篇
- 悟空学Linux专栏----第13篇
- 悟空学Linux专栏----第15篇
- 悟空学Linux专栏----第16篇
- 悟空学Linux专栏----第17篇
- 悟空学Linux专栏----第18篇
- 安卓应用中的本地存储
- ios8可交互式通知(ios自学笔记)
- 校验、AJAX与过滤器
- 如何使用云桌面系统提高涉密网络安全性与方便性
- iOS 地图的简单应用
- 悟空学Linux专栏----第21篇
- [转载]如何高效、轻松地利用一天?
- c语言ASCII码表详解(一)
- 使用php://input接收数据流(还有多个参数的解决办法)
- Pro Android学习笔记(二)——ContentProvider(下)
- 每天一个linux命令(42):kill命令
- PAT 数据结构 02-线性结构4. Pop Sequence (25)
- SQL常用函数
- ogre 欧拉角四元数之间的转换