リアルタイム システムに課せられたタイミング制約は、スレッドまたはタスクがタイミングに基づいて実行を制御する必要があることを意味するためですか?
よろしく、ありがとう。
リアルタイム システムに課せられたタイミング制約は、スレッドまたはタスクがタイミングに基づいて実行を制御する必要があることを意味するためですか?
よろしく、ありがとう。
ピーターの答えは気に入りましたが、詳しく説明したいと思います。
リアルタイム システムの一部である外因性の物理デバイス (つまり、リアルタイム ソフトウェアとコンピュータが対話する部分) は、並行性がないものから何でもあります。リアルタイム システムは本質的に同時実行ではありませんが、ほとんどではないにしても多くのシステムはある程度同時実行されます。
外因性部分の同時実行性の量に関係なく、リアルタイム ソフトウェアは一般に、同時実行性をゼロ (Peter がほのめかした、いわゆる「マスター スレッド」) から、スケジュール可能なスレッド/タスクなどと同じ数まで、任意の量の同時実行性を持つことができます。適切と思われるとおり。
また、Peter が指摘したように、ソフトウェアの同時実行性が高くなればなるほど、同時実行制御はより複雑で困難になります。これは一般的に当てはまり、リアルタイム ソフトウェアでは時間の制約によりさらに悪化します。一部の評判の良いソフトウェア サイエンティストは、人間の頭脳は高度な非同期同時実行性を管理するのには適していないと主張しています。
エドワード・リーは、並行スレッドの最も率直な批評家の 1 人であり、この技術レポート「スレッドに関する問題」www.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-1.pdfに明確に記載されています。
他の人が投稿したように、同時<>リアルタイム。
リアルタイム システムは、IO パフォーマンスが優れているため、プリエンプティブ スケジューラを使用する傾向があります。協調的または存在しないスケジューリングは、待ち時間と全体的な IO パフォーマンスが重要でないアプリケーションにのみ適しています。多くの/ほとんどの「リアルタイム」タスクでは除外されます。
「実際の」並行性が実際に使用されているかどうか。複数のコアは別の問題です。