06/02/25 06:04:27
>>417
んなもん、状況による。メモリ優先か、処理速度優先か。移植・汎用性優先か。
ちょっと使いたくない立場から書いてみる。
シビアなリアルタイム系
(制御周期が1ms以下だったり、μs単位のディレイ・ジッタが気になるとか) なんかだと、
極力簡略化したブロック領域のヒープなら、タスク間通信のために仕方なく使うけど、
malloc, free は使いたくなって感じのところが多い。
さらに、通常 malloc, free は割り込み禁止区間を使うから、
割り込み周期がぶれたりする可能性もある。
デバッグ環境が充実してないシステム上だとバグ発生の元にもなる。
フットプリントの小さいRTOSでは、そもそも、mallocをサポートしてないものもある。
それに、メモリが余ってるなら、メモリを動的に確保する意味なんか全くない。
malloc, free で複数タスクが時分割でメモリを取り合うってのは、
メモリが足りないときの非常手段って感じだ。
携帯、テレビ、ナビなんかは、メモリ厳しいとはいえ、
リアルタイム設計という観点では、制御系というより、
アプリ系に近い考え方じゃないか?