マルチコア環境(CaviumまたはTileraと考えてください)でCをプログラムする組み込みシステムアプリケーションが提示され、2つの環境から選択する必要があるとします。
SMPモードのLinuxでアプリケーションをコーディングするか、おそらく制御タスクを実行できるUP Linuxを実行するシングルコアを使用して、シンベアメタルエグゼクティブ(非常に最小限のRTOSなど)でアプリケーションをコーディングします。
この質問の目的のために、両方の環境が、1秒あたりの意味のあるアクションの数、ジッター、待ち時間、リアルタイムの考慮事項-作業など、ランタイムパフォーマンスの測定可能な側面で同じレベルのパフォーマンス保証を提供すると仮定します。 (そして、はい、私はこれがまったく簡単な仮定ではないことを理解しています、私と一緒に裸で)。
ベアメタルシンエグゼクティブソリューションではなく、Linux SMPベースのソリューションをどのように正当化しますか?
質問はばかげているように見えるかもしれません。それは確かに私には明らかなようです-しかし、私は同じことを考えていない誰かを説得する必要があります。パフォーマンスの保証が問題ではないと想定して、実際のSMP対応OS(Linux)とベアメタルエグゼクティブのどちらを選ぶかを支持して、議論のリストを作るのを手伝っていただけませんか?
どうもありがとう
最初の利点は次のとおりです。
お役に立てれば。
そうは言っても、私があなたが納得させようとしている男だったとしても、ベアメタルコードで得られるのとまったく同じパフォーマンスを得ることができると言っても、私は感心しません。それはナンセンスです。
一方、違いは特定のアプリケーションにとって重要ではないほど小さいか、または違いは重要であるが、OSの利点はそれでも価値があるほど十分に大きいと私に納得させることができます。ただし、違いがあることを認めてください。あなたがそうしないなら、なぜ彼はあなたの分析を信頼すべきですか?