悟空学Linux专栏----第13篇

原创 2015年07月10日 14:31:57

  下课之后悟空百思不得其解,为什么达人老师要敲他四下,这四下代表了什么含义呢?悟空想了很久也没有想明白,这时只听到外面的打更的人连敲四下。悟空这才恍然大悟,以前菩提老祖敲三下意味着三更给他开小灶,达人敲四下是不是叫我四更去找他啊?想到这悟空立马向达人家飞奔而去。

  悟空体力比较好,不一会儿就到了,悟空看见达人家里的灯还开着。这让悟空感觉自己的猜想是对的,老师果然在等他。悟空按住心里的喜悦,连敲了几下们。

  达人(心想这么晚,谁跑来打扰啊)曰:谁啊?

  悟空曰:老师,我是悟空。

  达人曰:这么晚找我有事吗?

  悟空曰:老师,你在我头上连敲四下,不就是叫我晚上四更来找你吗?

  达人心想我什么时候叫你四更来找我,我那是被你给气的。但是达人却觉得这样说会打消悟空学习的积极性,所以达人想想还是默认了悟空的理解,心想或许这也菩提老祖当年的心声吧。

  悟空曰:老师,白天我还有一个地方不理解,那就是如何将read函数的返回值cycle转换为时间t。

  达人曰:t= cycle / F,其中F就是时钟频率。

  悟空曰:可是struct clocksource结构体中没有“F”啊?

  达人曰:虽然计算时间的原理是上面那个公式,但是由于上面那个公式的运算需要使用浮点运算。而Linux内核中是尽量避免使用浮点运算的。

  悟空曰:Linux内核为什么要避免使用浮点运算呢?

  达人曰:浮点的编码跟整数编码是不一样的,计算时需要专门的寄存器和浮点计算单元来处理,一个浮点运算指令使用的CPU周期也更长,效率比较低、因此对于内核来说就会想尽量回避浮点数运算。而且在有些嵌入式设备上,并没有浮点运算单元,如果要实现需要通过软件模拟的方式实现,这样会大大的降低CPU的效率。

  悟空曰:那么Linux内核又是怎么实现时间计算函数的呢?

  达人曰:Linux内核采用了一种比较巧妙的方法,从而避免了这个问题,为了实现浮点运算,Linux内核引入了两个事先计算好的辅助的常数,mlt和shift,并保证这三个常数之间满足F=(1《shift)/mult关系。所以“t= cycle / F”的公式就巧妙的转化为了“t=(cycle * mult)》shift”公式。

版权声明:本文为博主原创文章,未经博主允许不得转载。

悟空学Linux专栏----第36篇

一直以来“2号童鞋”都感觉自己比较笨,之所以感觉自己比较笨是因为这个世界有很多问题无法想明白,比如上节课老师为什么没有讲软中断的注销函数。为了想明白这个问题,“2号童鞋”失眠了好几晚,可是失眠了好几晚...

悟空学Linux专栏----第1篇

孙悟空完成了护送唐僧到西天取得真经的任务之后,被如来封为“斗战胜佛”。可这“斗战胜佛”是个闲差,整天无所事事,这一晃1400多年就这么过去,最近孙悟空感觉自己都跟不上这个时代了,想学点新的本领。于是跑...

悟空学Linux专栏----第29篇

今天悟空要讲的是中断的约束,这让悟空想起了师傅的紧箍咒,所以悟空一看到约束两字就有点不爽,总觉得这两个字扎眼。   悟空:中断是内核中执行最敏感的任务,因此需要满足一些约束。   A童鞋:那么需要...

悟空学Linux专栏----第27篇

由于唐僧请来了这么多木人上课,一下子增加了不少的人气,所以最近唐僧的这里迎来了很多学生报名试听,这着实让唐僧高兴了好一阵,唐僧心想终于不用对着木人上课了。所以唐僧打算好好上一下课,争取留住这些学生。为...

悟空学Linux专栏----第16篇

悟空觉得课堂估计是去不了,所以自己打算在家里继续自学,悟空知道达人老师接下来需要讲的是低分辨率的定时器。所谓定时器就是设定一个未来的时间,让系统在这个未来的时间触发一个特定的事件,执行一些预先设定的程...

悟空学Linux专栏----第24篇

今天八戒比较开心,原因是最近考试考了满分。这让大家对八戒刮目相看,大家没想到八戒每天在课堂睡觉,竟然最后还能考满分。所以悟空和沙僧来向八戒道贺。   悟空:看不出来啊,你这猪脑袋竟然能记住这么多东西...

悟空学Linux专栏----第10篇

自从拜了达人先生为师之后,悟空感觉反而好多了,以前有什么问题还要变成猪八戒的样子去请教达人。现在好了有什么问题可以直接向达人请教了,而且达人还免费为他的徒弟开了嵌入式培训班,每周一都可以来培训班听课。...

悟空学Linux专栏----第35篇

因为悟空昨晚好好研究了一下软中断,所以悟空今天上课心里终于有底了。   悟空:Linux内核采用softirq_action结构体来表示软中断,具体结构体如下   struct softirq_a...

悟空学Linux专栏----第41篇

为了尽快解决这个问题,悟空打算好好的研究一下该无线的驱动程序,悟空先花费了一晚的时间统计了一下驱动程序,总文件数为55个,总的代码行数为45954行。统计完之后悟空开始研究驱动的代码,可是看来看去,悟...

悟空学Linux专栏----第15篇

今天悟空终于发现,原来八戒为了不让他扰乱达人上课,竟然偷偷的给达人换了课室。悟空心想算了,我还是换个身份去听课吧。悟空想扮八戒,但是又一想,八戒就在课堂上,扮八戒肯定穿帮,所以悟空想想还是扮三师弟沙僧...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:悟空学Linux专栏----第13篇
举报原因:
原因补充:

(最多只允许输入30个字)