

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# カーネルメモリの割り当て
<a name="kernel-memory-allocation"></a>

RTOS カーネルは、タスク、キュー、または他の RTOS オブジェクトが作成されるたびに RAM を必要とします。RAM は以下のように割り当てることができます。
+ コンパイル時に静的に
+ RTOS API オブジェクト作成関数によって RTOS ヒープから動的に

RTOS オブジェクトを動的に作成する場合、標準の C ライブラリ `malloc()` と `free()` 関数を使用することは、次の理由から必ずしも適切ではありません。
+ 組み込みシステムでは使用できない可能性があります。
+ 貴重なコードスペースを占有します。
+ 通常はスレッドセーフではありません。
+ 決定的ではありません。

これらの理由から、FreeRTOS はメモリ割り当て API をポータブル層に保持します。ポータブル層は、コア RTOS 機能を実装するソースファイルの外部にあるため、開発中のリアルタイムシステムに適したアプリケーション固有の実装を提供できます。RTOS カーネルに RAM が必要な場合は、`pvPortMalloc()` の代わりに `malloc()` を呼び出します。RAM が解放されると、RTOS カーネルは `vPortFree()` の代わりに `free()` を呼び出します。