2

Is contiki scheduler preemptive? Tinyos is not; there's nanork which i'm not sure of what state its development is in.

4

3 回答 3

2

Contiki 支持抢占式线程。参考:

https://github.com/contiki-os/contiki/wiki/Multithreading

于 2013-03-16T05:41:28.553 回答
1

Contiki-OS for IoT 支持抢占式多线程。在 contiki 中,多线程被实现为事件驱动内核之上的库,用于动态加载和替换单个服务。该库可以与需要多线程的应用程序链接。Contiki 多线程库分为两部分:(i) 独立于平台的部分 (2) 特定于平台。平台无关部分与事件内核接口,库的平台特定部分实现堆栈切换和抢占原语。Contiki 使用原型线程来实现所谓的多线程。Protothreads 是为严重的内存限制设备设计的,因为它们是无堆栈且轻量级的。protothreads的主要特点是:非常小的内存开销(每个protothread只有两个字节),线程没有额外的堆栈,高度可移植(即,它们完全用 C 语言编写,因此没有特定于体系结构的汇编代码)。Contiki 不允许中断处理程序发布新事件,Contiki 中不提供进程同步。中断处理程序(需要时)和读取器函数必须同步以避免竞争条件。另请查看以下链接 [The Ring Buffer Library]:https://github.com/contiki-os/contiki/wiki/Libraries

于 2013-05-02T19:14:19.810 回答
0

值得注意的是,最广泛使用的传感器节点TelosB的端口不支持抢占。

于 2013-09-25T20:24:43.320 回答