翻訳と辞書
Words near each other
・ リアルジャパンタッグ王座
・ リアルジャパンプロレス
・ リアルスコープ
・ リアルスコープZ
・ リアルスティール
・ リアルスポーツ
・ リアルタイム
・ リアルタイム (テレビ番組)
・ リアルタイム (情報番組)
・ リアルタイム4WD
リアルタイムOS
・ リアルタイムPCR
・ リアルタイムあきた
・ リアルタイムえひめ
・ リアルタイムふくい
・ リアルタイムみやぎ
・ リアルタイムアタック
・ リアルタイムウェブ
・ リアルタイムオペレーティングシステム
・ リアルタイムキャプション


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

リアルタイムOS ( リダイレクト:リアルタイムオペレーティングシステム ) : ウィキペディア日本語版
リアルタイムオペレーティングシステム

リアルタイムオペレーティングシステム (RTOS; ) は、リアルタイムシステムのためのオペレーティングシステム(OS)である。組み込みオペレーティングシステムに多い。OSの主要な機能である資源管理において、時間資源の優先度に基づく配分と実行時間の予測可能性を提供することに特化している、ないし、そういった機能に力を入れている。
以下、ほとんどのRTOSが持つ、基本的な機能について述べる。
RTOSは、実行コンテキストを保持するオブジェクト(Unixではスレッドと呼んでいるものに近いが、RTOSではもっぱらタスクと呼ぶ。以下タスクで統一する)と、タスク間の同期通信機構を提供する。同期通信機構により特定のタスクに待ち状態が発生したときのスケジューリングを行うのも、一般的なOSと同様RTOSの仕事であるが、このスケジューリング規則にRTOSの大きな特色がある。
RTOSへの要求には、以下のようなものが挙げられる。
* ユーザアプリケーションから、待ちが発生しないサービスコールを呼出した場合に要する最悪値
* ハードウェア割込みが発生してから、処理ルーチンを呼出すまでの最悪値
* 高優先度のタスクが確実に実行されることを保証するスケジューリング規則
RTOSは、時間制約を保証できる設計を実現するために使われる。以上の要求は、そのために必要な事項の一例である。
== 設計上の特徴 ==

=== スケジューリング ===
RTOSは通常マルチタスクOSで、スケジューリングはタスクの優先度に基づいて行われる。タスクの実行中(割込みハンドラやOS自身などの実行中でないということ)は、常に、実行可能状態にあるタスクのうち最高優先度のものを実行しなければならない。実行中のタスクよりも優先度が高いタスクが実行可能状態になった場合は、即座にタスク切り替えを行う。すなわち、RTOSはいわゆる「プリエンプティブ・マルチタスク」(プリエンプションを参照)でなければならない。さらにRTOSの場合は、カーネルが優先度の低いタスクによるシステムコールを実行中の場合でクリティカルセクションでなければ、優先度の高いタスクを実行する「プリエンプティブ・カーネル」でなければならない。
汎用OSのように、タスクの消費時間により優先度を変化させることは通常おこなわない。ただし、時間制約のない低優先度のタスクを複数同居させる場合など、それらのタスクでは優先度を共通とし、自発的にCPUを手放す協調的マルチタスクや、タイマ割込みにより順番に切り替えるタイムシェアリング的なスケジューリングを同居させることもある。
典型的な設計では、タスクには「実行中」「実行可能」「ブロック」の3状態がある。ほとんどのタスクはブロック状態でいることが多い。CPUは1度に1つのタスクを実行できる(実行中状態となるタスクはCPU毎に最大1つ)。単純なシステムでは実行可能なタスクのリストも短く、せいぜい2個から3個のタスクが載っていることが多い。
スケジューラの設計は重要である。実行可能タスクのリストはスケジューラのクリティカルセクション(プリエンプションが禁止され、場合によっては全割り込みも不可となる)で消費する時間を最小にするよう設計される。ただし、データ構造の選択は実行可能リスト上の最大タスク数にも依存する。
実行可能リスト上のタスク数が少ないなら、単純な双方向線形リストが最適である。状況によって実行可能タスク数が増えるなら、優先度に従ってソートされたリストを使用し、最高優先度のタスクを探すためにリスト全体を検索する必要がないようにすべきである。そうすると、あるタスクを実行可能タスクのリストに追加する際にリスト全体を探索して、そのタスクより低い優先度のタスクを見つけ、その前の位置にタスクを追加(挿入)する必要が生じる。この探索期間中ずっとプリエンプションを禁止してはいけない。探索中の真にクリティカルな期間だけプリエンプションを禁止することで、例えば探索中に割り込みが発生してより高優先度のタスクが実行可能となったら、現に実行可能リストに挿入しようとしている低優先度タスクよりも先に実行可能リストに挿入して実行するようにしなければならない。
新たな実行可能タスクをキューに登録し、最高優先度タスクの状態をリストアするのにかかる時間が非常に重要な応答時間である(フライバック時間とも呼ばれる)。よく設計されたRTOSでは、新たなタスクの実行可能キューへの挿入には(キュー上のエントリ毎に)3~20命令かかり、最高優先度タスクのリストアには5~30命令かかる。20MHzMC68000プロセッサでは、2個のタスクが実行可能な状態でのタスク切り替え時間は20マイクロ秒である。100MHzのARMプロセッサでは数マイクロ秒となる。
高度なリアルタイムシステムでは、リアルタイムのタスク以外に非リアルタイムタスクも共存するため、実行可能リストは非常に長くなる可能性がある。そのようなシステムでは、スケジューラの実行可能リストを単純な線形リストで実装するのでは不十分である。このため、優先度毎に実行可能リストを分割することで探索処理を不要にすることもある。

抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「リアルタイムオペレーティングシステム」の詳細全文を読む

英語版ウィキペディアに対照対訳語「 Real-time operating system 」があります。




スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.