(57)【特許請求の範囲】
【請求項１】
自動車における技術的プロセス又は工程の制御方法であって、１つの複合的な制御プログラムが制御装置のマイクロコンピュータにより実行され、前記複合的な制御プログラムが複数のタスクプログラム（Ａ，Ｂ，Ｃ）に分割され、１つのタスクプログラムに１つの固定的優先度及び少なくとも１つの起動事象が対応付けられ、その都度、処理に対して最高の優先度を有するタスクプログラムが選択され、１つのタスクプログラム（Ｂ）の実行は、分岐後に、かつ後続のインストラクションの前に割り込みし、変数（Ｘ）の値を変える、相対的に高い優先度を有するタスクプログラム（Ｃ）の実行の事後的要求に基づき中断され、当該中断されたタスクプログラム（Ｂ）の実行が、相対的に高い優先度を有する前記タスクプログラム（Ｃ）の実行の終了後に継続されるようにし、
前記中断されるタスクプログラム（Ｂ）は、分岐条件文においてある変数を参照し、分岐後にも同じ変数を参照する当該方法において、
複数のタスクプログラム（Ａ，Ｂ，Ｃ）によって、そのタスクプログラムの実行中にアクセスされる、前記複合的な制御プログラムの１つの変数（Ｘ）に対して、前記中断されるタスクプログラム（Ｂ）に先行するタスクプログラム（Ａ）において、先ず局所的コピー（ｍｓｇｘ（Ａ））を所定の値へセットし、その後、当該局所的コピー（ｍｓｇｘ（Ａ））を大域的コピー（ｍｓｇｘ）内へ転送し、
前記変数（Ｘ）への書込アクセスをし得る相対的に高い優先度を有するタスクプログラム（Ｃ）により中断可能であるようなタスクプログラム（Ｂ）において、変数（Ｘ）に対する前記大域的コピー（ｍｓｇｘ）を、自身の局所的コピー（ｍｓｇｘ（Ｂ））内へ転送し、
前記中断されるタスクプログラム（Ｂ）は、前記大域的コピー（ｍａｓｇｘ）へのアクセスをせず、前記高い優先度を有する割り込みタスクプログラム（Ｃ）は前記大域的コピー（ｍｓｇｘ）を更新する、
ことを特徴とする技術的プロセスの制御方法。
【請求項２】
前記局所的コピー（ｍｓｇｘ（Ｂ））内への前記大域的コピー（ｍａｓｇｘ）の転送が中断不可能な個別のマイクロコンピュータ命令により、又は、中断不可能なマイクロコンピュータ命令のシーケンスにより、実施されるようにしたことを特徴とする請求の範囲１記載の方法。
【請求項３】
変数（Ｘ）の大域的コピー（ｍｓｇｘ）へのタスクプログラム（Ａ，Ｃ）の書込アクセスが、中断不可能な個別のマイクロコンピュータ命令により、又は、中断不可能なマイクロコンピュータ命令のシーケンスにより、実施されるようにしたことを特徴とする請求の範囲１又は２記載の方法。
【請求項４】
マイクロコンピュータ命令の中断不可能なシーケンスの実行前に所定の割込要求が阻止されるようにしたことを特徴とする請求の範囲２又は３記載の方法。
【請求項５】
前記の所定の割込要求は、割込処理プログラムの起動を行わせる割込要求であり、前記割込処理プログラムの処理期間中に変数（Ｘ）への書き込みアクセスがなされるようにしたことを特徴とする請求の範囲４記載の方法。
【発明の詳細な説明】
従来技術
本発明はメインクレームの上位概念による方法を基礎とする。最新の制御装置において、使用されているマイクロコンピュータは、屡々著しく能率的であり、複数のタスクを並列処理することができる。上記の能率性は、殊に、個々のコンピュータが複数の制御タスク及び調整タスクを同時に果たすように構成されたプロセス制御装置において活用される。殊に、車両分野部門では、著しく複雑な制御タスクを果たすべき制御装置が屡々使用される。それの例としては、機関制御装置、ギヤ制御装置等が挙げられる。１つのコンピュータ上にて準同時処理を達成するため、個々のタスク間で切換をする方法が使用される。このために、典型的には相応の制御装置にてオペレーションシステムが使用される。
上位概念による方法は、下記論文から既に公知である：Ｅｌｅｋｔｒｏｎｉｋ  Ｎｏ．１８，１９９２，第１２０〜１２８頁中のＢｅｒｎｄ  Ａｃｋｅｒｍａｎｎ著述論文“ｅｉｎｇｅｂｅｔｔｅｔｅ  Ｓｙｓｔｅｍｅ”（インフィックス形ないし埋め込み形システム）に対する実時間オペレーションシステムへの要求に関する論文。上記論文中では、マイクロコンピュータを有する制御装置に対する実時間オペレーションシステムの重要な特性的事項が記載されている。シーケンス制御に対して、換言すれば個々のタスクプログラムの相互整合性に対して、プロセスマネージャと称されるプログラムが責任を有する。上記プログラムによってＣＰＵの配分が制御され、すべての経過するタスクプログラム（Ｔａｓｋｓ）が整合される。プロセスマネージャにより複数のタスクプログラムの準同時的並列的実行が可能になり、このことは、マルチタスキングと称される。リポート中に記載されているプロセスマネージャは次のように設計されている、即ち、目下実行されているプログラムをいつでも中断して、システム全体の動作にとってこの時点でより重要な（より高い優先度を有する）タスクプログラムをスタートし得るように設計されている。より高い優先度を有するプログラムが終了すると、中断されたプログラムは、当該の中断された個所から継続される。目下実行されているタスクプログラムをいつでも中断することができる手法は、強制排除スケジューリング又は強制排除マルチタスキングとも称される。
その他に、文献中には、共同的スケジューリング又は共同的マルチタスキングも公知技術として示されている。その種のシーケンス制御の場合、先立って、プログラム中にて設定された切換点においてのみ、種々のタスクプログラム間での切換が可能である。要するに、タスクプログラムは、いつでも中断され得るという訳ではない。
同時に進行するプログラム間では、一般的にデータ交換が必要である。例えば、測定された入力量又は制御偏差は、他のタスクプログラムに通報される。通常、個々のタスクプログラム間のデータ交換は、共通のメモリ領域（大域変数とも称される）を介して行われる。タスクプログラム間での切換のためプリエンプト切換ストラテジィが選ばれる場合、共通のメモリ領域を介したデータ交換の際、次の問題が生起する。
タスクプログラムが複数の個所にて、大域変数にアクセスする場合、大域変数は、次のようなときに種々のアクセス個所にて種々の値をとり得る。即ち、相対的に高い優先度を有するタスクプログラムが第１プログラムに割り込み、その実行中に大域変数の値を変えるときに種々の値をとり得る。その結果、或１つのプログラムの入力量が、それの実行中に変化し得る。それにより、誤ったプログラムシーケンスが惹起され得る。その問題は、データ矛盾性と称される。これに反して、全処理持続時間中にタスクプログラムに対する入力量が変化しない場合にデータ一貫性が存在するのである。
発明の利点
メインクレームの特徴事項を有する本発明により、これに対して次の利点が得られる。すなわち、複数のプログラムを相互に中断させ得る１つの複合的な制御プログラムにてデータ一貫性が簡単に確保されるという利点が得られる。データ一貫性の確保により、該プログラムは、順次実行されるものであるかのような振る舞いをする。従って、プログラムはタスクプログラム間での切換に対する優先使用形又は共同的切換ストラテジィが選定されるかに無関係に開発される。このことにより、制御プログラムの開発の際、殊に、種々のシステム間での制御プログラムの移植の際、利点が得られる。プログラム作成の際、プログラムが優先使用形又は共同的切換ストラテジィを有するシステムに対して開発されたか否か、又は、プログラムが、インタラプトルーチンとして設けられているのか、又は通常処理のため設けられているのかを考慮する必要はない。更に、本発明の方法を使用する際に、開発されたプログラムのテストも著しく簡単化される。即ち、プログラムにて各命令限界にて入力量の可能な変化を考慮することは、もはや必要でない。寧ろ実行の始めにて１度入力量を選定すれば十分である。
ソフトウエア開発に際しての準並列タスクプログラムの機能シミュレーションの情報量も本発明の方法により著しく高められる。機能シミュレーションは、常に順次行われるので、タスクプログラム間での中断切換（殊にプリエンプト切換ストラテジィ）を伴うシステムに対しては僅かな情報量しか得られない。即ち、シミュレーションプログラムは、そのインプリメンテーションにおいて最終プログラムと相違するので、中断切換時には最終プログラムと相違する特性を呈する。本発明の方法を使用することより、プログラムは、中断切換にも拘わらず、恰もシーケンシャルに進行するように動作をする。それにより、シミュレーションと現実との一致する特性を達成できる。
サブクレーム中に規定された手段によって、メインクレーム中に規定された方法の有利な発展形態及び改良が可能である。１つの変数の大域的（グローバル）コピーから１つの変数の局所的（ローカル）コピー内へのエントリの転送が、中断不可能な個々のマイクロコンピュータ命令により、又はマイクロコンピュータ命令の中断不可能なシーケンスにより行われる。それにより、データ一貫性が次のような場合にも確保される。即ち、よりによって、タスクプログラムによって大域変数のローカルコピーが更新されるまさにそのときに、他のタスクプログラムによって割り込みが行われる場合にも確保される。該他のタスクプログラムは、それらの実行中に大域的コピーでのエントリを変化させる。
請求の範囲３の手段により、次のような場合にもデータ一貫性が確保される。即ち、１つのタスクプログラムにより、大域変数が新たに求められ、ないし、計算され、次いで大域変数の更新が行われる場合にも確保される。
図面
本発明の１実施例が図示されており、以降の説明において詳述する。図１は、制御装置の概略的ブロック接続図である。図２は、データ一貫性の与えられていない際のプログラムシーケンスの第１例を示す。図３は、データ一貫性の与えられていない際のプログラムシーケンスの第２例を示す。図４は、第１例によるプログラムシーケンスを示し、ここで、本事例にてデータ一貫性が確保される。図５は、第２例によるプログラムシーケンスを示し、ここで、本事例にてデータ一貫性が確保される。図６は、図４の本発明のプログラムシーケンスの概略図である。図７は本発明の２つのタスクプログラム間のデータ交換の様子を示す概略図である。
発明の説明
図１中参照番号１０は技術的工程又はプロセスの制御のための任意の電子的制御装置を示す。本発明は、専ら、自動車制御装置の分野にて使用されるべきものである。即ち、機関制御装置、ギヤ変速機制御装置、ブレーキ制御装置、空調制御装置等の分野で使用されるものである。但し、本発明は、当該の使用分野に限られておらず、寧ろ、任意の電子的制御装置において複合的な制御過程、化学的プロセス、工作機械制御部、洗濯機制御部等の制御のため使用され得る。参照番号１１は、制御装置１０のマイクロコンピュータである。参照番号１２は、制御装置１０の記憶装置を示す。記憶装置１２は、例えば書込／読み取りメモリ（ＲＡＭ）及び固定値メモリ（ＥＰＲＯＭ）から成る。参照番号１３は、制御装置１０の入力／出力ユニットを示す。その中には、測定値検出のため、及び所定の出力側の制御のためのすべての回路が設けられている。入力／出力ユニット中には、殊に、Ａ／Ｄ変換器及び割込ロジックを設け得る。制御装置１０にはセンサ１４及びアクチュエータ１５が接続されている。その種の制御装置１０の具体的構成は、当業者にとって、従来技術から十分に公知であるので、以下詳述しない。以下、図２及び図３を用いて複数のタスクプログラム（それらはプリエンプトに中断され得る）の実行の際のデータ矛盾の問題性を示す。
図２には、制御装置１０のプログラムシーケンスの１セクションが示されている。参照番号Ａは、第１タスクプログラムを示す。参照番号Ｂは、第２タスクプログラムを示す。参照番号Cは、第３タスクプログラムを示す。タスクプログラムＡ，Ｂ，Ｃはオペレーションシステムによる制御下で実行される。ここで実行の順序は、いつも同じとは限らない。タスクプログラムＡは、例えば、１つの所定の時間パターンで呼び出され得る。タスクプログラムＡは例えば、タスクプログラムＢとは別の時間パターンで呼び出され得る。タスクプログラムＣは、割り込みプログラムとして構成され得、割り込み要求に従ってのみ実行され得る。タスクプログラムの実行の順序を図２中矢印で示す。先ず、タスクプログラムＡが実行される。特に際立ったプログラムステップとしては、プログラムＡ中に変数Ｘが（Ｍａｘ−Ｍｉｎ）／２にセットされるというインストラクションが示されている。ここで、変数Ｘは大域変数であり、該変数に対して、タスクプログラムBおよびCもアクセスし得る。大域変数は、例えば、任意の測定量、例えば、機関回転数、機関温度、絞り弁角度、吸い込み空気量等であり得る。しかし、計算量、例えば動作不安定性、回転むらであってもよい。タスクプログラムＡが実行された後、タスクプログラムＢが次のプログラムとして実行される。その場合、場合により複数の先行のインストラクションの後、次のようなインストラクションが実施される。すなわち、変数Ｘの実際の値が所定の最大値Ｍaxより大である場合に、aktion＿zu＿gross（）；“アクション＿過度に＿大（）“なるインストラクションが実施される。また、その代わりに、変数Ｘの実際の値が所定の最小値Ｍinより小である場合には、aktion＿zu＿klein（）；“アクション＿最小値＿小（）”なるインストラクションが実施される。大域変数が先以てタスクプログラムＡにて、値（Ｍax−Ｍin）／２にセットされたので、前述の条件のいずれも充足されず、そして、次に、Bearbeite（x）；“アクション：（Ｘ）を処理せよ”なるインストラクションが実行されるべき筈のものである。ところが上記インストラクションは実行されない。それというのは先立って、タスクプログラムＣによりタスクプログラムＢの実行が中断されるからである。タスクプログラムＣでは、同様に大域変数Ｘが変化される。大域変数は値Max+５にセットされる。タスクプログラムＣが終了した後、タスクプログラムＢは、中断された個所にて継続され、Bearbeite（x）；“（ｘ）を処理せよ”なるインストラクションが実行される。従って、タスクプログラムＢがそれの継続の際、非有効の入力値Ｘを有する処理関数を受け取る場合が起こる。そういうことが起こると、不所望の制御−/調整特性経過が惹起される。殊に自動車技術において、例えば機関制御（個々では最適の排ガス値及びできるだけ低い燃費が問題とされる）においてこの種の誤調整は特に有害である。
図３中には、発生しているデータ矛盾性の更なる１例が示してある。この場合タスクプログラムＡにて大域変数Ｘを０にセットするようにとのインストラクションが与えられる。次いで以降実行されるタスクプログラムＢにて、場合分けが行われる。即ち変数Ｘが０より小の値を有するか、又は正の値として生じているかの場合分けがなされる。次いで、極性に応じて、種々の処理ステップが実施される。先行のタスクプログラムＡにて変数Ｘは値０にセットされているので、ｉｆ−ｔｈｅｎ−ｅｌｓｅ−インストラクションの正の極性に対して実行分岐を実施しなければならなくなる。但し、ｅｌｓｅ分岐の直接的実行はなされない。それというのは、タスクプログラムＣによりタスクプログラムＢが中断されるからである。しかしタスクプログラムＣで変数Ｘは値−１にセットされる。その後、タスクプログラムＢのｅｌｓｅ分岐の後続の実行の際、Ｘの正の極性に対する分岐が実施される（Ｘ値が、その間に負になった極性を有するようになっても）。要するに、ここでもタスクプログラムＢに対するデータ矛盾性が生じている。
データ矛盾性の状態発生に対する第３の例として、個別の読出／書込オペレーションが終了されていない入力量に対する読出／書込オペレーションが挙げられる。例えば、１６ビット幅のメモリ語しか処理できないマイクロコンピュータの場合、３２ビット幅語に対するアクセスは、２つの読出／書込オペレーションによって実施されなければならない。それらの２つのオペレーション間でプログラムが中断され、３２ビットの語が新たに書き込まれる場合、比較的高位の１６ビット部分及び比較的低位の１６ビット部分はそれぞれ異なる値に属する。生起する３２ビット幅入力量は矛盾性があり、従って、誤りがある。
データ矛盾性の問題は、次のようにして困難化される。即ち、複合的な制御プログラムの場合、多数の潜在的に可能な実行（処理）シーケンス及び割込個所が存在することにより困難化される。それというのはプログラムは潜在可能的に各々の個々のインストラクション後に中断され得るからである。そのような制御プログラムをテストする場合に、実行シーケンス及び中断個所のすべての可能な組合せを実行し、その都度、プログラムがすべての条件下で適正に動作するのを確保することはほぼ不可能である。
本発明の目的は、適切な手法により、この種の複合的な制御プログラムにおいてデータ一貫性を確保することである。
本発明によれば次のようなすべての大域変数に対して、局所的コピーがセッティングされる。即ち、１つ又は複数のタスクププログラムに対する入力量であり、亦、プログラムシーケンス中に他のタスクプログラムにより変化され得るすべての大域変数に対して局所的コピーがセッティングされる。次いで、相応のタスクプログラムは、更なるシーケンスにてその都度、大域変数の局所的コピーへアクセスする。ここでは、唯一のタスクプログラムが、それの固有の局所的コピーにアクセスし得ることが前提とされている。当該の条件下では、その都度のタスクプログラムに対するデータ一貫性が確保される。要するに、１つの入力量の大域的コピー、又は大域変数のほかに付加的に、所定のタスクプログラムに対する局所的コピーがセッティングされる。１つのタスクプログラムにより入力量が利用される場合、入力量の値は、始めにて、又は他の所望の時点にて、中断不可能の書込オペレーションにおいて、大域的コピーから読取られ、それぞれのタスクプログラムの対応する局所的コピー内にコピーし直される。或１つのタスクプログラム（これは入力量に対して読取アクセスするのみならず、入力量自体を求める、又は他の量から計算する）は大域変数、すなわち大域的コピーに書き込みアクセスをすることができる。この書込オペレーションも亦、何等かの他のタスクプログラムによっては中断され得ないブロックにて行われるべきである。このことは、例えば、次のようにして達成される、即ち、上述の書込オペレーション前に、すべての割り込み要求が阻止され、それにより、割り込みが中断を実施し得ないようにするのである。次いで、この書込オペレーションの後に割り込み要求が再びイネーブルにされる。当該プロセスを図４及び図５を用いて詳述する。
図４は、図２と同じプログラムシーケンス例を示す。但し、プログラムＡの実施の際、相応の個所にて、先ず、局所的コピーｍｓｇｘ（Ａ）が、値（Ｍax−Ｍin）／２へセットされる。しかる後始めて、唯一の中断不可能な書込オペレーションにおいて、エントリが、局所的コピーｍｓｇｘ（Ａ）から大域的コピーｍｓｇｘへ転送される。上記の書込オペレーションは、結局、もはや、中断され得ない唯一のマイクロコンピュータ命令から成る。従って、書込オペレーション前に、割り込み要求を阻止する必要はない。タスクプログラムＢの後続のシーケンスの際、誤りの起こり易いｉｆ−ｔｈｅｎ−ｅｌｓｅインストラクションの前に、大域的コピーｍｓｇｘにおけるエントリが、大域変数Ｘに対するタスクプログラムＢの局所的コピーｍｓｇｘ（Ｂ）内へ転送され得る。当該の書込オペレーションも中断不可能な書込オペレーションである。次に、タスクプログラムＢでは、たんに局所的コピーｍｓｇｘ（Ｂ）でのみ動作を行う。それにより、データ矛盾性が全く生じ得ない。そして、タスクプログラムＣがそれの実行中、大域的コピーｍｓｇｘを新たに記述する場合にもデータ矛盾性が全く生じ得ない。即ち、局所的コピーｍｓｇｘ（Ｂ）に対しては、タスクプログラムＣは、アクセス権を有しない。
図５に示すように、タスクプログラムＡは、それの実行中、値零を有する局所的コピーｍｓｇｘ（A）を記述する。それに引き続いて、同じように、大域的コピーｍｓｇｘ内への局所的コピーｍｓｇｘ（Ａ）の値の書込過程が行われる。書込過程は、図４の説明の際に言及した如く同じく中断不可能である。タスクプログラムＢが実行されると、再び、クリティカルなｉｆ−ｔｈｅｎ−インストラクション前に、大域的コピーｍｓｇｘにおける当該値は、局所的コピーｍｓｇｘ（Ｂ）内へ転送される。次いで、タスクプログラムＢの更なる実行中、局所的コピーｍｓｇｘ（Ｂ）でのみ動作する。また、それの実行の際に大域変数ｍｓｇｘが新たに記述されるタスクプログラムＣによる中断によっても、データ矛盾性を来さない。
図６には、図４のプログラムシーケンスが別の形態で示されてる。時点ｔ１にてタスクプログラムＡの実行が開始される。時点ｔ２にて、局所的コピーｍｓｇｘ（Ａ）及びｍｓｇｘの双方の中に値（Ｍax−Ｍin）／２がエントリされている。タスクプログラムＢに対する局所的コピーｍｓｇｘ（Ｂ）中には、１つの任意の値がエントリされ得、このことは、ハッチングで示されている。時点ｔ３にてタスクプログラムＡが終了する。それに引き続いて直ちに、タスクプログラムＢの実行が開始される。時点ｔ４にて、タスクプログラムＢも大域的コピーｍｓｇｘの値をそれの局所的コピーｍｓｇｘ（Ｂ）内に転送している。時点ｔ５では、タスクプログラムＣは、タスクプログラムＢの実行を中断する。タスクプログラムＣはここで考察した例では座標系の所定座標において明らかなように、最高の優先度を有する。タスクプログラムＣ自体は、もはや中断され得ず、従って、タスクプログラムＣに対して、変数Ｘに対する局所コピーは設けられない。時点ｔ６にて、タスクプログラムＣは、大域的コピーの値を新たな値Ｍaｘ+５で書き変える。時点ｔ７にてタスクプログラムＣの実行が終了される。それに引き続いて、中断されたタスクプログラムＢは、中断個所にて継続される。時点ｔ８ではタスクプログラムＢの実行も終了される。時点ｔ６とｔ８の間では変数ｘに対する大域的コピー及び局所的コピー内へのエントリはもはや変化されない。
図７に示すように、参照番号Ａは１つのタスクプログラムを表し、それの実行中に入力量Ｘが新たに求められる。新たに求められた入力量はタスクプログラムＡにより、はじめに、自身の局所的コピーｍｓｇｘ（Ａ）内にファイルされる。それにひき続いて、当該値は大域的コピーｍｓｇｘ内にもコピーされる。当該コピー過程は、送信過程とも称される。タスクプログラムＢの後続の処理の際、このタスクプログラムは、大域的コピーｍｓｇｘにおけるエントリを自身の局所的コピーｍｓｇｘ（Ｂ）内へ転送する。このコピー過程は、受信過程とも称される。
幾つのタスクプログラムが或１つの複合的な制御プログラム中に含まれているかに応じて、又、どの入力量がそれぞれのタスクプログラムにより処理されるかに応じて、そして、どのタスクプログラムが他のタスクプログラムを中断し得るかに応じて、又、どれがそれ以上中断され得ないかに応じて、或１つの複合的制御プログラムの所要メモリ及び走行伝搬遅延の最適化のための種々の手法が存在する。ここにおいて、殊に下記の基準に留意すべきである：次のような場合のみ、局所的コピーをセッティングしさえすればよい。即ち、プログラムＡが他の１つのプログラムＢを中断し得、そして、両プログラムが同じ変数に対してアクセスする場合のみ、局所的コピーをセッティングしさえすればよい。他のすべての場合（例えば他のプログラム間の共同的切換の場合）局所的コピーは必要でない。それというのは、変数へのアクセスが大域変数へのアクセスと同じように行われるからである。
プログラムＡがプログラムＢを中断し、プログラムＡが大域的コピーからのデータの受信器であり、かつプログラムＢが大域的コピーにおけるデータの送信器であり、かつ付加的に、送信−及び受信過程が中断不可能なオペレーションで実施される場合、同様に局所的コピーをセッティングする必要はない。送信器は受信器を中断できないので、データ一貫性が確保される。
プログラムＡがプログラムＢを中断し、プログラムＡが新たに求められたデータの送信器であり、プログラムＢが新たに求められたデータの受信器であり、送信−及び受信過程が中断不可能なオペレーションで実施される場合、プログラムＡは局所的コピーを必要としない。プログラムＡの書込オペレーションは中断不可能に順次連続する。従ってタスクプログラムＢは、常に一貫したデータにアクセスし得る。
タスクプログラムＡ〜ＮがタスクプログラムＳにより中断され、ここで、タスクプログラムＡ〜Ｎは相互に中断し得ず、タスクプログラムＳが図７に記載されたデータの送信器であり、タスクプログラムＡ〜Ｎが送信器又は受信器である場合、タスクプログラムＡ〜Ｎは、同じ局所的コピーを使用できる。タスクプログラムＡ〜Ｎは順次実行処理されるので、局所的コピーに対して同じメモリロケーションを使用できる。
すべての上述の最適化手法において、データ一貫性が確保される。従って、２つのタスクプログラム間でのデータ交換のためのこのメカニズムを、１つのオペレーティングシステムＯＳ内に統合するのは有利である。該オペレーティングシステムＯＳは、条件に依存して送信過程及び受信信過程に対してその都度、伝搬時間及びメモリ特性上最適のインプリメンテーションを選ぶ。その際オペレーティングシステムＯＳは送信−又は受信呼出により局所的コピー内へのコピーアクションが生ぜしめられるか否か、又は、コピーアクションを実施しなくても良いか否かを決定できる。同様に、オペレーティングシステムＯＳは、変数に対するアクセスが直接的に大域的コピーを介して行われ得るか否か、又は、アクセスがタスクプログラムの局所的コピーを介して行われなければならないか否かを決定できる。
上述の例では、タスクプログラムＡ，Ｂ，Ｃに固定的優先度が対応付けられている。但し、タスクプログラムの実行における緊急性は、タスクプログラムの起動後、その都度オペレーティングシステムＯＳによっても新たに計算され得る。このために、例えば各タスクプログラムに、或１つの時間を対応付け得る、即ち、その中で、タスクプログラムを実行しなければならない時間を対応付け得る。その後、タスクプログラムの起動の際、次のようなことが起こり得る。即ち、オペレーティングシステムＯＳが、既に開始されたタスクプログラムの実行を継続し、又は、開始されたタスクプログラムを中断し、新たに起動されたタスクプログラムを処理することが起こり得る。起動されたタスクプログラムのどれがより一層早く実行されるべきかに応じて、オペレーティングシステムＯＳにより選択がなされる。要するに、それらの場合において、タスクプログラムの緊急性は、当該のタスクプログラムがそれの実行を待機する時間と共に増大する。
【図１】
0004283890.tif 000002
【図２】
0004283890.tif 000003
【図３】
0004283890.tif 000004
【図４】
0004283890.tif 000005
【図５】
0004283890.tif 000006
【図６】
0004283890.tif 000007
【図７】
0004283890.tif 000008