![]()
| トップ > 1時間でわかる組込みリアルタイムOS−目次 > Chap.1 |
| Chap.1 | パソコンOSと組込みOSの違い |
|
(1)制御システムはイベントドリブン (2)イベントの検知と処理の起動 制御システムのイベントは物理的には信号の変化、例えば電位パルスの発生によってもたらされます。マイコンで検知するにはマイコンの割込み機能を利用する方法があります。これは割込み用端子の信号レベルが変化すると特定のプログラムを起動するというしくみを利用します。 (3)イベントごとの処理時間は限られている 制御システムでは、「いつか処理が開始される」、「いずれ終了する」といった時間制約のない処理はほとんどありません。限られた時間内にデータを入力し、出力しなければならない一連の動作がイベントごとに生じます。これらの動作が複合してシステム全体が機能します。限られた時間内に応答するシステムをリアルタイムシステムといいます。必ずしも高速で処理しなければならないということではなく、定められた時間内に収まることがあくまでも要件です。制御のタイムオーダは制御対象によって異なり、人間の知覚レベルは数百ミリ秒、
時計の精度は100分の1秒、ハードウェアの制御はマイクロ秒といった具合です。これらが混在するシステムではイベントに応じて処理をうまく切り替えないとシステムとして成り立たちません。 (4)ハードリアルタイムな処理とソフトリアルタイムな処理 時間制約にはそれが守られないとシステムの機能に影響を及ぼしてしまう場合もあれば、多少遅れても機能自身には問題がない場合もあります。前者の例としては入力信号の取りこぼしや信号の出力が間に合わないなど主にハードウェアを制御する場合に見られます。後者の例はキーや表示のレスポンスなどマンマシンインターフェースの処理に見られます。確実に時間制約を厳守しなければならない処理をハードリアルタイムな処理、そうでないないものをソフトリアルタイムな処理といいます。組込みシステムでは、ハードリアルタイムな処理をこなしながら、ソフトリアルタイムな処理を同時に行うことが要求されます。 (5)制御システムはマルチタスク マイコン組込み機器では1つのCPUで複数のイベント処理を同時にこなすことが多く、時には一連の動作が平行して進行する場合もあります。しかし、CPUは複数の命令系列を同時に実行することができません。では、1つのCPUでどのように並列実行させるのでしょうか。
この他にも、一連の処理を短く刻んで他の処理に切り替るようにコマンドをプログラムに組み込む方法などがあります。いずれにしても単一CPUでマルチタスクを実現するには切り替えるしくみが必要となります。タスクの実行切り替えをタスクスイッチ、切り替え操作をディスパッチといいます。 (6)ハードリアルタイム処理には優先処理が必須 タイミングのズレがシステムに致命的な影響を及ぼすハードリアルタイムな処理では、実行中の処理が何らかの待ちに入らなければ切り替えられなかったり、一定のループ時間まで切り替えが待たされるようでは用を足しません。順番待ちを優先させる優先度処理が必要です。このような優先処理をプライオリティベースの切り替え処理といいます。さらに、必要に応じて、実行中の処理を中断してでも切り替えることが必要です。このような優先処理のことをプリエンプティブ(preemptive 先取り)な切り替え処理といいます。 以上述べた組込みシステムでのタスクオペレーションの要件を備えたOSがμITRONに代表される組込みリアルタイムOSです。以上の機能を兼ね備えたリアルタイムOSを次のように表現します。 リアルタイムOSの製品カタログなどによく見かけられます。 これらの特徴は複数のユーザやアプリケーションにCPUを平等に割り当てることを基本的な目的としたUNIXやパソコンOSと異なるところです。このように、リアルタイム処理を主目的としたオペレーティングシステムとして、リアルタイムOSがあります。 |
| トップ > 1時間でわかる組込みリアルタイムOS−目次 > Chap.1 | 前のページ | 次のページ |