`

mbed OS 特点分析

阅读更多

 

MbedOS 是一个新的OS概念, 我认为其代表特点有两个:

 

1. 堆栈共用。

2. 事件驱动。

 

下面详细分析一下:

 

其他的OS通常会给系统两种,一个给内核,一个给用户。或者一个给系统,一个给任务(RTOS). 这样带来一种需求就是如何合理的分配内存给这两个堆栈,非实时系统通常是动态分配,比如Linux是先把内存全给内核,然后再在内核的堆中分配空间给用户进程(写时分配)。参考以下链接

http://www.cnblogs.com/clover-toeic/p/3754433.html

http://www.programgo.com/article/13101300282/;jsessionid=D3BCEDA52387EB440D104828DB1ED032

或者是静态的给定每个task的堆栈大小,系统的堆栈在编译时就给定,这个是大多数RTOS的做法,稍微有区别的是,有些RTOS的队是可以动态分配的,而有些是指定的在任务创建的时候。

动态分配会遇到实时响应的问题,静态分配会有大小浪费的问题。mbedos采用的是直接使用同一个堆栈来解决这连个问题,参考一下

https://developer.mbed.org/cookbook/Event-Driven-framework 

/media/uploads/raulMrello/rtos_vs_rtc_kernel.png

 

这样做的好处是速度和利用率都得到了提高,问题是容易出错,不好纠错。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics