2

contikiスケジューラはプリエンプティブですか?Tinyosはそうではありません。その開発がどのような状態にあるのかわからないnanorkがあります。

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マルチスレッドライブラリは、次の2つの部分に分かれています。(i)プラットフォームに依存しない部分(2)プラットフォーム固有。プラットフォームに依存しない部分はイベントカーネルにインターフェイスし、ライブラリのプラットフォーム固有の部分はスタックスイッチングとプリエンプションプリミティブを実装します。Contikiは、いわゆるマルチスレッドを実装するためにプロトスレッドを使用します。プロトスレッドは、スタックがなく軽量であるため、厳しいメモリ制約のあるデバイス向けに設計されています。プロトスレッドの主な機能は次のとおりです。非常に小さなメモリオーバーヘッド(プロトスレッドあたりわずか2バイト)、スレッド用の余分なスタックはなく、移植性が高い(つまり、完全にCで記述されているため、アーキテクチャ固有のアセンブリコードはありません)。Contikiは、割り込みハンドラーが新しいイベントを投稿することを許可していません。Contikiではプロセスの同期は提供されていません。競合状態を回避するには、割り込みハンドラー(必要な場合)とリーダー機能を同期させる必要があります。次のリンク[リングバッファライブラリ]もご覧ください。https://github.com/contiki-os/contiki/wiki/Libraries

于 2013-05-02T19:14:19.810 に答える
0

最も広く使用されているセンサーノードであるTelosBのポートは、プリエンプションをサポートしていないことに注意してください。

于 2013-09-25T20:24:43.320 に答える