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