通过Linux学习RTOS

通过Linux学习RTOS

原文:http://blog.csdn.net/zoomdy/article/details/50549901
mingdu.zheng at gmail dot com

RTOS应用很广,种类很多,例如商业的VxWorks、uC/OS等,开源的eCos、FreeRTOS等。我估计全球至少有上百种各种类型的RTOS,每种类型都有其特定的适用场合。我相信开发RTOS或者在RTOS之上开发应用的开发人员不会比Linux开发人员少,但是因为RTOS的种类繁多,平均分到具体某一个RTOS上的开发人员估计就很少了。这是造成RTOS相关的书籍资料比较匮乏的重要原因之一,开发人员分散了,资源分散了。因此RTOS的资源通常都比较难找,很少有书籍以RTOS为主题,除了非常主流的几个RTOS外,其它RTOS几乎没有专题书籍。开源的RTOS更是如此。而Linux的开发资源则非常丰富,每年都有大量的专题图书出版,网络社区也非常地活跃。

Linux是OS,RTOS也是OS,既然都是OS,那么他们一定是有共同点的,比如调试方法,比如并发控制,我想这些方面都是大同小异的。事实上,Linux比RTOS要复杂,如果搞清楚了Linux,那么搞清楚RTOS就比较容易了,应用在Linux上的开发技术通过适当地调整就可以应用到RTOS上。所不同的是具体的实现,原理上都是相同的。如果只是学习Linux具体的一些实现方式,那么对学习RTOS不会产生太大的帮助,而如果是学习Linux背后的机理,那是很有帮助的。因此,如果希望通过学习Linux来达到学习RTOS的目的,那就要学习Linux背后的机理,学习Linux设计的哲学。举个例子,eCos中主机驱动与外设驱动分离的设计思想与Linux中主机驱动与外设驱动分离的设计思想完全是一个套路,在《Linux设备驱动开发详解》这本书中就对Linux中主机驱动与外设驱动分离的设计思想进行了比较深刻地讲解,这种讲解对理解eCos也是非常有帮助的。

Linux系统包括嵌入式Linux系统和桌面Linux系统,RTOS是跑在嵌入式系统上的,Linux也可以跑在嵌入式系统上,通过嵌入式Linux系统来学习RTOS是最合适不过了。相比之下,桌面Linux系统与RTOS的差别更多,但是更容易部署。一个比较便捷的套路是使用模拟器,如QEMU,使用模拟器可以涉及一些嵌入式Linux系统开发专有的开发步骤,而又不需要购买开发板,也不会被硬件问题所困扰。

通过Linux学习RTOS带来的额外的好处是让我们了解了软件资源极其丰富的Linux系统,当RTOS需要某个软件模块时,可以将Linux上的软件模块移植到RTOS上。例如大部分RTOS都不支持USB主机协议栈,而Linux则有一个非常完备的USB主机协议栈,如果有需要就可以将Linux的USB主机协议栈移植到RTOS中。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值