職場で新しいプラットフォームの設計について話し合っていますが、上級管理職の 1 人が、現在のコード ベース (Linux では C) を実行する必要があるが、さまざまな入力に 1 秒以内に応答する必要があるため、リアルタイムである必要があると述べました。 . 私は次のように指摘しました。
- その点は、「リアルタイム」である必要があるという意味ではなく、より高速なクロックと割り込み処理の合理化が必要なだけです。
- 考慮すべき重要なポイントの 1 つは、使用されている OS です。彼らは組み込み Linux に固執したかったので、私は RTOS が必要だと指摘しました。Linux を使用すると、カーネル/ユーザー空間のメモリが分割されるため「リアルタイム」が妨げられるため、I/O はファイルとソケットを介して行われ、遅延が発生します。
- 本当に決定する必要があるのは、決定論的である必要があるかどうかです (たとえば、90% の時間で 200 ミリ秒未満で入力に応答する必要があります)。
ポイント 3 が当てはまる場合、それはリアルタイム システムである必要があり、ポイント 2 が最大の考慮事項です。
自信を持って答えられたのですが、後で考えていました... 他の人はどう思いますか?私はここで正しい軌道に乗っていますか、それとも何か不足していますか?
「リアルタイム」システムと「決定論的」なシステムの間に見落としている違いはありますか? また、RTC と RTOS 以外に、真のリアルタイム システムを実行するために必要な主要なものがありませんか?
素晴らしい回答をお待ちしております!
編集:
これまでのところ、いくつかの良い反応を得ています。私のシステムと要件について少し好奇心が強いようです。興味のある人のためにいくつかのメモを追加します。
- 私の会社は数万台のユニットを販売しているので、価格を殺したくありません
- 通常、メイン プロセッサ ボードと独立したディスプレイを販売しています。他の CAN デバイスのネットワークも接続されています。
- ボードは (現在) デバイスを実行し、基本的な XML ドキュメントをエンド ユーザーのディスプレイに送信する Web サーバーとしても機能します。
要件は、管理者がディスプレイを「迅速に」(<1 秒) 更新することを望んでいる場合です。ただし、IMO の真の制約は、CAN 経由で接続できるデバイスに由来します。これらのデバイスは、多くの場合、「200ms 未満で応答する必要がある」などの要件を持つモーター制御デバイスです。