私たちが頻繁に共有する µC/OS、FreeRTOS、RT-Thread、および ThreadX はすべてリアルタイム オペレーティング システム (RTOS) であるため、一部の読者は次のように疑問に思うかもしれません。タイムシェアリング オペレーティング システムとは何ですか? ? Linux はリアルタイム オペレーティング システムとみなされますか?
RTOS、正式名は Real Time Operating System で、いわゆるリアルタイム オペレーティング システムです。
1. リアルタイム オペレーティング システムの定義 リアルタイム オペレーティング システム (RTOS) は、外部イベントやデータが生成されたときに、それを迅速に受け入れて処理できるシステムであり、その処理結果は次のとおりです。生産プロセスまたは処理システムは迅速に応答し、すべてのリアルタイム タスクの動作を調整します。
したがって、リアルタイム オペレーティング システムの主な特徴は、タイムリーな応答と高い信頼性を提供することです。
リアルタイム オペレーティング システムは、ハード リアルタイムとソフト リアルタイムの 2 つのタイプに分類されます。ハード リアルタイム システムでは、指定された時間内に操作が完了する必要があり、これは指定された時間内に完了することが保証されています。オペレーティングシステムの設計。
ソフト リアルタイム システムは、タスクの優先順位に従ってできるだけ早く操作を完了することだけが必要です。私たちが通常使用しているオペレーティング システムは、特定の変更を加えるとリアルタイム オペレーティング システムになることがあります。
リアルタイム オペレーティング システムは、特定の制限時間内に特定の機能が完了することを保証するオペレーティング システムです。たとえば、生産ライン上のロボットが確実にオブジェクトにアクセスできるようにオペレーティング システムを設計できます。 「ハード」リアルタイム オペレーティング システムでは、オブジェクトに到達可能にするための計算が許容時間内に完了できない場合、オペレーティング システムはエラーで終了します。
「ソフト」リアルタイム オペレーティング システムでは、生産ラインは引き続き動作しますが、製品が許容時間内に到着できないため、製品の出力が遅くなり、ロボットが短期間の生産中止。リアルタイム オペレーティング システムには、特定のアプリケーション向けに設計されたものと、汎用のものがあります。
一部の汎用オペレーティング システムは、自らをリアルタイム オペレーティング システムと呼びます。しかし、Microsoft の Windows NT や IBM の OS/390 など、ほとんどの汎用オペレーティング システムにはある程度、リアルタイム システム特性があります。つまり、オペレーティング システムが厳密にはリアルタイム システムではない場合でも、リアルタイム アプリケーションの問題のいくつかを解決できます。
2. リアルタイム オペレーティング システムの特徴
1) マルチタスク;
2) スレッド優先度がある
3) 複数の割り込みレベル
小規模な組み込みオペレーティング システムでは、リアルタイム オペレーティング システムが必要になることが多く、カーネルはリアルタイム オペレーティング システムの要件を満たしている必要があります。
3. リアルタイム オペレーティング システムの関連概念
(1) 基本概念
コードの重要なセクション: は、コードの処理中に分割できない部分。コードのこの部分の実行が開始されると、割り込みは許可されません;
リソース:タスクが占有する任意のエンティティ;
共有リソース: 複数のタスクで使用できるリソース;
タスク: スレッドとも呼ばれる、単純なプログラムです。各タスクには特定の優先順位が与えられ、独自の CPU レジスタ セットと独自のスタック スペースを持ちます。通常、各タスクは無限ループであり、各タスクはスリープ状態、準備完了状態、実行中状態、一時停止状態、および中断状態の 5 つの状態にあります。
タスク切り替え: 実行中のタスクの現在の状態(CPUレジスタの全内容)をタスク自身のスタック領域に保存し、次に実行するタスクの現在の状態をタスクのスタック領域から変更します。タスクの CPU レジスタをスタックにリロードし、次のタスクの実行を開始します;
カーネル: さまざまなタスクの管理、各タスクへの CPU 時間の割り当て、およびタスク間の通信を担当します。譲渡不可能なコアと剥奪可能なコアに分割;
スケジューリング: カーネルの主な役割の 1 つは、どのタスクを実行するかを決定することです。通常は優先スケジューリング方式に基づきます;
(2) 優先度に関する質問
タスクの優先度: 優先度を変更できない静的優先度と、優先度を変更できる動的優先度に分かれます;
優先順位の逆転: 優先順位の逆転の問題は、リアルタイム システムで最も一般的な問題です。共有リソースを割り当てると、優先度の低いタスクが最初に実行され、優先度の高いタスクが後で実行されることがあります。解決策は、「優先順位継承」アルゴリズムを使用してタスクの優先順位を一時的に変更し、優先順位の逆転を抑えることです。
(3) 相互排他
共有データ領域によりタスク間の情報交換が簡素化されますが、各タスクは共有データの処理において排他的であることが保証されなければなりません。相互排他条件を満たす一般的な方法としては、割り込みをオフにする、テスト アンド セット命令 (TAS) を使用する、タスク切り替えを禁止する、セマフォを使用するなどがあります。
リアルタイム オペレーティング システムを使用する意義は、さまざまな予期せぬイベントをタイムリーに処理できること、つまり、組み込みのリアルタイム オペレーティング システムを測定するための最も重要かつ代表的なパフォーマンス指標パラメータであるさまざまな割り込みを処理できることだからです。オペレーティング システムの時間は間違いなく割り込み応答時間であるはずです。割り込み応答時間は通常、次のように定義されます:
割り込み応答時間 = 割り込み遅延時間、CPU 状態を保存する時間、関数に入るカーネルの ISR の実行時間。
割り込み遅延時間 = MAX (割り込みをオフにする最大時間、最大命令時間) ISR の最初の命令の実行を開始する時間。
TSOS、英語の正式名称はTime-sharingOperatingSystem、つまりタイムシェアリングオペレーティングシステムです。
コンピュータが同時に数人、数十人、さらには数百人のユーザーにサービスを提供できるようにするオペレーティング システムは、タイムシェアリング オペレーティング システムと呼ばれます。コンピュータを多くのエンド ユーザーに接続することにより、タイムシェアリング オペレーティング システムは、システムのプロセッサ時間とメモリ領域を一定の間隔で各エンド ユーザーのプログラムに順番に切り替えます。
時間間隔が短いため、各ユーザーは自分がコンピューターを独占的に所有しているように感じます。タイムシェアリング オペレーティング システムの特徴は、リソースの使用率を効果的に高めることができることです。たとえば、UNIX システムは、タイムシェアリング操作を効果的にサポートするために、剥奪された動的優先順位 CPU スケジューリングを使用します。
タイムシェアリングシステムは、ユーザーのニーズに応えて誕生した新しいタイプのOSです。多チャネルバッチ処理システムとは性能差が全く異なります。ユーザーのニーズは、特に次の側面に反映されています。 人間とコンピューターの相互作用 共有ホスティング ユーザーがコンピューターにアクセスするのに便利
1. タイムシェアリングシステムの基本的な考え方
タイム スライス: は、コンピュータのシステム リソース (特に CPU 時間) を時間に分割することです。各期間はタイム スライスと呼ばれ、各ユーザーが順番にタイム スライスを使用します。
タイムシェアリングテクノロジ: プロセッサの実行時間を非常に短いタイムスライスに分割し、タイムスライスに従ってプロセッサを各オンラインジョブに順番に割り当てます。
タイムシェアリング オペレーティング システム: は、オンラインのマルチユーザー対話型オペレーティング システムです。一般に、タイム スライス ローテーションは、1 台のコンピュータが複数の端末にサービスを提供できるようにするために使用されます。各ユーザーに対して十分に速い応答時間を確保し、インタラクティブなセッション機能を提供します。
設計目標: ユーザーのリクエストにタイムリーに応答し、可能な限りシステム リソースの使用率を最大化します。
オフィスオートメーション、教育、トランザクション処理、および人間と機械の会話が必要なその他の場面に適しています。
2. 作業方法
ホストは複数の端末に接続され、各端末はユーザーによって使用され、システムに対して対話的にコマンド要求を行い、システムは各ユーザーからのコマンドを受け入れ、タイム スライス ローテーションを使用してサービス要求を処理し、端末と対話します。結果は次のとおりです。ユーザーに表示されます。ユーザーは前のステップの結果に基づいて次のコマンドを発行します
タイムシェアリングシステムの導入における重要な課題は、タイムリーな受信です。速やかに対処してください。
3. 特徴
対話性: ユーザーは、システムと人間とコンピューターの対話を行います。
多重化: 複数のユーザーがそれぞれの端末で同じ CPU を同時に使用します。
独立性: ユーザーは、互いに干渉したり混乱したりすることなく、互いに独立して操作できます。
適時性: ユーザーはシステムから短時間でタイムリーな回答を得ることができます。
応答時間に影響を与える要因: 端末の数、タイム スライスのサイズ、情報交換の量、および情報交換の速度。
RTOS と TSOS にはそれぞれ独自の特徴があります . RTOS は一般に、モーション コントロール、キー入力などのリアルタイム処理を必要とするシステムなど、一般に ms レベルを必要とする比較的低速な MCU に使用されます。あるいは私たちレベルの反応です。
タイムシェアリング: 現在普及している PC とサーバーはすべてこの動作モードを採用しており、CPU 動作を複数のタイム スライスに分割して、さまざまなコンピューティング リクエストを処理します。 リアルタイム: 一般に、ボタンを押すなどのアクションに対してリアルタイム処理が必要な、エレベーターの昇降制御などのマイクロコントローラーで使用されます。
#########やっと#########上記の分析により、
linux はタイムシェアリング システムであることが明らかですが、リアルタイムに変更することもできます。例: ucLinux は、linux から変更されたリアルタイム システムです。それらの違いについては、Baidu から引用できます。同様の回答:
以上がLinux はリアルタイム システムですか、それともタイムシェアリング オペレーティング システムですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。