linux和vxworks的实时性
来源:互联网 发布:宁波seo入门教程 编辑:程序博客网 时间:2024/06/06 03:39
硬实时与软实时之间最关键的差别在于,软实时只能提供统计意义上的实时。
SYS_CLK_RATE是1000,那么就是1ms。。如果是60那么就大约是16.67ms。。。【我们的设备就是60】通常来讲,vxWorks手册建议不要将时钟率设得太高,否则它就由硬实时变得趋向于软实时了。。因为过高的时钟率使得内核调度频繁进入,可能导致一些低优先级的硬件中断不能得到及时响应。
首先看一下linux的实时性的发展。
linux2.4的时候,用户空间可以被抢占,内核空间不能被抢占,因此实时性很差。到2.6以后,内核中多了一个CONFIG_PREEMPT的配置。它使得大部分的内核代码可以被抢占,而spinlock保护的代码和中断处理函数不能被高优先级的内核线程抢占。这样实时性有了一定的提高,可以达到几个毫秒量级。
在主流之外,由Ingo Molnar和Thomas Gleixner维护的patch:CONFIG_PREEMPT_RT进一步提高了linux的实时性,达到了<100us的程度。它所做的修改是:
1,重新实现了rtmutex,使得spinlock可以被抢占,使被spinlock保护的代码可以被抢占。
2,把中断处理函数线程化。
3,对spinlock和semaphore实现了优先级继承。
4,使用了高精度的时钟。
因此,内核成为full preemptible
而上面这些在vxWorks中都早已实现,其系统本身开销小,进程调度、通信和中断处理等系统公用程序精炼有效,延迟很短。
任务调度策略以可抢占式调用为基础,辅以实践轮转算法机制,使得vxworks能够及时响应高优先级的任务。
另外,
1,不考虑RTP, vxWorks不支持用户态任务。因此上下文切换时间较小。2,linux的某些函数没有确定的最大执行时间。如内存分配函数。VxWorks当然不能有这种函数。
3,驱动要精心设计,不能随意关中断。
4,某些协议栈,如PCI和usb,在linux上没有对实时性进行优化过。而VXWorks作为老牌的rtos,所做的任何修改都会考虑到实时性
参考文章:
嵌入式操作系统VxWorks和Linux对比 http://wenku.baidu.com/link?url=cAwWTqDgr0EmQgMmcc4eL8X4Q9oDY5ss0N9qqwZOW_euQdcQYpxkK-jSaf6Rrfts6Z7dpfcLT_6nV61Zzc5bbWhU4NqMjp8pRu5eT8XlQli
0 0
- linux和vxworks的实时性
- 请问什么机制导致vxworks比linux的实时性要强
- Linux与VxWorks主要区别(六):实时性
- vxworks和linux比较
- 实时操作系统Vxworks与通用操作系统Linux的比较+实模式等三种模式 DMA
- Linux 实时性测试和实时补丁
- 第一章:嵌入式系统、实时性与VxWorks
- VxWorks Ucos-II 实时性对比问题
- 基于Vxworks的工业设备和工业自动化开发系统 实时系统图形界面-Tilcon
- Vxworks等实时系统二进制信号量,互斥信号和计数信号量的区别
- Linux 和 Vxworks 的内存分布-区别与联系
- vxworks 与Linux的区别
- Linux相对于VxWorks的优势
- 实时操作系统VxWorks
- 实时系统VxWorks下设备驱动程序的编写
- RTEMS简介:超越Vxworks的实时嵌入式系统
- VxWorks下实时多任务程序的实现
- 基于VxWorks实时操作系统的通信模型设计
- hiho 7 完全背包
- leetcode123 Best Time to Buy and Sell Stock III
- 三星等低端手机OOM解决方法
- 图像梯度特征的常用边缘检测算子:Sobel、Prewitt、Roberts
- hdu 4655 Cut Pieces(贪心)
- linux和vxworks的实时性
- 没有BAT3级的应急响应中心,互联网公司该如何应对数据泄露事件?
- Unity3D 相同标签或同名游戏对象的逐个监测
- ViewPager 打造 图片幻灯切换
- android 存储及注意事项!(java io流,和sharedperference存储)
- Cloud Design Pattern - Compute Resource Consolidation(服务聚合)
- maven的生命周期和插件(九)
- 【DP】 BZOJ 3675: [Apio2014]序列分割
- 怎么引入bsdsocket来搭建一个一对一的服务器