我是靠谱客的博主 从容唇膏,这篇文章主要介绍linux tick异常变化,linux tickGet(),现在分享给大家,希望可以做个参考。

tickGet()返回的是从系统启动开始tick计数后的总的tick数目。

tick是啥,是“滴答”,它是一个数值量,本身不能代表时间。

如果说要知道tick增加一个代表多少时间的话,那就要看系统的时钟率了。

在Shell下,sysClkRateGet()可以返回这个始终率的值。比如60。啥意思呢,就是1秒钟产生60个tick。操作系统调度是基于

这个tick的,这在硬件上是个优先级很高(除了NMI以外都比它低)的时钟中断。如果你的始终率是60那么一个tick代表的时间就是

1000ms/60=16.67ms。也就是tick增加一个所花的时间16.67毫秒。那么你要想你的tick是1ms一下的话,那不就是把时钟率设置

成1000就可以了,因为1000ms/1000=1嘛。可以用sysClkRateSet(1000)来达到此目的。

设置成1000好使吗?就看你的需求了。嵌入式系统嘛,啥都你自己整,时钟率高了,操作系统调度频率就很高,软件响应能力增强,但硬件中断的处理就不一定是实时的了。

时钟率不是越大越好。但太小了绝对好不起来。

1ms还是不够用?用辅助时钟吧。它也中断。用起来一样。

不过,值得注意的是,千万别整很多东西挂到一个1秒钟执行1000次以上的中断里面,CPU耗不起啊。所以1ms以下的精确定时,推荐用硬件做。注意啊,实时操作系统是软件,怎么说它也是软的。

最后

以上就是从容唇膏最近收集整理的关于linux tick异常变化,linux tickGet()的全部内容,更多相关linux内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(108)

评论列表共有 0 条评论

立即
投稿
返回
顶部