リアルタイム オペレーティング システム (RTOS) 主にコンピュータ システムの外部で発生する多数のイベントを、短時間または特定の期限内に受け入れて処理する必要がある環境で使用されます。このようなアプリケーションには、産業用制御、電話交換機、飛行制御、リアルタイム シミュレーションなどがあります。 RTOS では、処理時間は 10 分の 1 秒単位で測定されます。このシステムには期限があり、期限が定められています。このタイプのシステムでの処理は、指定された制約内で発生する必要があります。そうしないと、システム障害が発生する可能性があります。
リアルタイム オペレーティング システムの例には、航空交通管制システム、コマンド コントロール システム、航空会社予約システム、心臓ペースメーカー、ネットワーク マルチメディア システム、ロボットなどがあります。
リアルタイム オペレーティング システムには 3 つのタイプがあります。

RTOS
Javaでのマージソート
- ハードリアルタイムオペレーティングシステム: これらのオペレーティング システムは、重要なタスクが一定の時間内に完了することを保証します。
たとえば、車体の溶接にはロボットが使用されます。ロボットの溶接が早すぎたり遅すぎたりすると、車を販売できなくなるため、ほとんど時間通りにロボットによる完全な自動車溶接を要求するハードリアルタイムシステムです。科学実験、医療画像システム、産業用制御システム、武器システム、ロボット、航空管制システムなど
- ソフトリアルタイムオペレーティングシステム: このオペレーティング システムでは、時間制限がある程度緩和されます。
例 – マルチメディア システム、デジタル オーディオ システムなど。リアルタイム システムでは、明示的でプログラマが定義し、制御されたプロセスが発生します。単一の外部イベントを処理することによって、別のプロセスが変更されます。このプロセスは、割り込みによって通知される関連イベントの発生時にアクティブ化されます。
Javaで乱数を生成する
マルチタスク操作は、プロセスを互いに独立して実行するようにスケジュールすることによって実現されます。各プロセスには、サービスを提供するイベントの相対的な重要性に対応する特定レベルの優先度が割り当てられます。プロセッサは最も優先度の高いプロセスに割り当てられます。このタイプのスケジュールは、優先順位ベースのプリエンプティブ スケジューリングと呼ばれ、リアルタイム システムで使用されます。
- 堅牢なリアルタイム オペレーティング システム : このタイプの RTOS も期限を守る必要があります。影響は小さいとはいえ、期限を守らないと製品の品質の低下など、予期せぬ結果が生じる可能性があります。例: マルチメディア アプリケーション。
- 確定的リアルタイム オペレーティング システム: このタイプのリアルタイム オペレーティング システムでは、一貫性が主な鍵となります。すべてのタスクとプロセスが常に予測可能なタイミングで実行されることが保証されるため、タイミングの精度が非常に重要なアプリケーションにより適しています。 例: 誠実さ、PikeOS。
利点:
リアルタイム オペレーティング システムの利点は次のとおりです。
- 最大消費量: デバイスとシステムを最大限に活用します。したがって、すべてのリソースからの出力が増加します。
- タスクシフト: これらのシステムでは、シフトタスクに割り当てられる時間は非常に短くなります。たとえば、古いシステムでは、約 10 マイクロ秒かかります。あるタスクを別のタスクに移すには、最新のシステムでは 3 マイクロ秒かかります。
- アプリケーションに焦点を当てる: 実行中のアプリケーションに重点を置き、キュー内のアプリケーションの重要性を減らします。
- 組み込みシステムにおけるリアルタイム オペレーティング システム: プログラムのサイズが小さいため、RTOS はトランスポートなどの組み込みシステムにも使用できます。
- エラーなし: この種のシステムにはエラーがありません。
- メモリ割り当て: メモリ割り当ては、この種のシステムで最もよく管理されます。
短所:
リアルタイム オペレーティング システムの欠点は次のとおりです。
私のコンピュータ画面の寸法はどれくらいですか
- 限定されたタスク: 同時に実行されるタスクはほとんどなく、エラーを避けるために少数のアプリケーションにタスクが集中することはほとんどありません。
- 重いシステム リソースを使用します。 場合によっては、システム リソースがそれほど優れておらず、高価であることもあります。
- 複雑なアルゴリズム : アルゴリズムは非常に複雑で、設計者が記述するのは困難です。
- デバイスドライバーと割り込み信号: 割り込みに最も早く応答するには、特定のデバイス ドライバーと割り込み信号が必要です。
- スレッドの優先順位: これらのシステムはタスクを切り替える傾向が非常に低いため、スレッドの優先順位を設定することは適切ではありません。
- 最小スイッチング: RTOS は最小限のタスク切り替えを実行します。
通常のオペレーティング システムとリアルタイム オペレーティング システムの比較:
| OSを調整する | リアルタイム OS (RTOS) |
|---|---|
| 複雑な | 単純 |
| 最大限の努力 | 保証された応答 |
| 公平性 | 厳密なタイミング制約 |
| 平均帯域幅 | 最小制限と最大制限 |
| 不明なコンポーネント | コンポーネントは既知です |
| 予測できない動作 | 予測可能な動作 |
| プラグ&プレイ | RTOSはアップグレード可能です |