JP2003131893A - 演算処理システム、コンピュータ・システム上でのタスク制御方法、並びに記憶媒体 - Google Patents

演算処理システム、コンピュータ・システム上でのタスク制御方法、並びに記憶媒体

Info

Publication number
JP2003131893A
JP2003131893A JP2001325357A JP2001325357A JP2003131893A JP 2003131893 A JP2003131893 A JP 2003131893A JP 2001325357 A JP2001325357 A JP 2001325357A JP 2001325357 A JP2001325357 A JP 2001325357A JP 2003131893 A JP2003131893 A JP 2003131893A
Authority
JP
Japan
Prior art keywords
transaction
task
data
variable
target data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2001325357A
Other languages
English (en)
Other versions
JP2003131893A5 (ja
Inventor
Atsushi Togawa
敦之 戸川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2001325357A priority Critical patent/JP2003131893A/ja
Publication of JP2003131893A publication Critical patent/JP2003131893A/ja
Publication of JP2003131893A5 publication Critical patent/JP2003131893A5/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 複数の制御の流れが存在するとともにそれぞ
れが共通のデータを操作するときに、高い優先度の処理
を延期することなくデータの一貫性を保つ。 【解決手段】 操作対象となるデータ毎に有効トランザ
クション変数を用意して、トランザクションの開始時に
タスクIDを有効トランザクション変数に代入する。ま
た、トランザクション開始時にスタック上に更新記録を
割り当てる。タスクは、有効トランザクション変数に自
分のタスクIDが残っているか否かで、操作対象データ
に対する更新記録の有効性を判断し、有効と判断された
ときに、スタック上の更新記録を操作対象のデータに反
映させる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プログラムを実行
することにより所定の処理サービスを提供する演算処理
システム、コンピュータ・システム上でのタスク制御方
法、並びに記憶媒体に係り、特に、プログラム中に複数
の制御の流れ(例えば、割り込み処理プログラムと通常
処理プログラム、又は、複数のタスクなど)が存在する
タイプの演算処理システム、コンピュータ・システム上
でのタスク制御方法、並びに記憶媒体に関する。
【0002】更に詳しくは、本発明は、複数の制御の流
れが存在するとともにそれぞれが共通のデータを操作す
る演算処理システム、コンピュータ・システム上でのタ
スク制御方法、並びに記憶媒体に係り、特に、データの
一貫性が保たれるようにそれぞれの制御の流れが共通の
データを操作する演算処理システム、コンピュータ・シ
ステム上でのタスク制御方法、並びに記憶媒体に関す
る。
【0003】
【従来の技術】昨今のLSI(Large Scale Integratio
n)技術における革新的な進歩とも相俟って、さまざま
なタイプの情報処理機器や情報通信機器が開発・市販さ
れ、日常生活に深く浸透するに至っている。この種の機
器では、CPU(Central Processing Unit)やその他
のプロセッサが所定のプログラム・コードを実行するこ
とによりさまざまな処理サービスを提供するようになっ
ている。
【0004】ところで、プログラム設計において、プロ
グラム中に制御の流れ(「タスク」とも呼ばれる)を複
数存在させることが有用な場合がある。ここで、複数の
制御の流れとは、図9に示すように、プログラムの処理
の流れすなわちフローチャート中に「現在実行中の地
点」が複数個あることを意味する。同図に示す例では、
ある時点T1では、流れIにおいてステップS1が、流
れIIにおいてステップS3が、それぞれ実行される。そ
して、これに対し、時間が経過して、次の時点T1で
は、流れIにおいてステップS2が、流れIIにおいてス
テップS3が、それぞれ実行されるようになる。
【0005】一般に、複数の流れが存在し、それぞれが
共通のデータを操作する場合、これらの間で同期をとら
なければデータの一貫性を保つことはできない。ここで
言う共通のデータには、タスク一覧や、条件変数などが
挙げられる。条件変数は、タスクが待っている条件を抽
象化した概念であり、タスクがいつ待ち状態に移行すべ
きか、又は、いつ実行可能状態に復帰すべきかをオペレ
ーティング・システムに伝える手段の1つとして用いら
れる。
【0006】例えば、2つの制御の流れB及びCが存在
する場合に、それぞれの制御の流れが以下の処理を行っ
た場合について考察してみる。
【0007】手順1:変数xの値を読み出す。 手順2:読み出した値に1を加えた値を変数xに代入す
る。
【0008】2つの流れB及びCがそれぞれ上記の処理
を1度行うと、同じ処理が2度行われることになる。し
たがって、変数xの値は2だけ増加するはずである。と
ころが、流れBと流れCが以下のように重なり合った場
合、変数xの値は1しか増加しない。
【0009】流れBが手順1を実行する。 流れCが手順1を実行する。 流れCが手順2を実行する。 流れBが手順2を実行する。
【0010】このような動作の誤りを防ぐためには、あ
る流れにおいて行われた一連の参照・更新操作(トラン
ザクション)の間に、他の流れからデータが参照・更新
されることを禁じる必要がある。
【0011】上述した例の場合、流れBにおいて手順1
と手順2という一連の操作が完全に完了する前に、流れ
Cが変数xを参照・更新してしまったために、データの
一貫性が失われるという問題が生じた訳である。
【0012】このデータの一貫性の問題を解決するため
に、既存のシステムでは「排他制御」と呼ばれる手法が
採用されている。すなわち、ある制御の流れにおいてあ
るデータに対して一連の処理が行われている間は、他の
制御の流れが同じデータへの操作を行うことを遅延す
る、すなわち特定のデータに対する操作を排他的に行う
ようになっている。
【0013】例えば、割り込み処理と通常処理の間でこ
のような排他制御を行うために、割り込み要求を一時的
に無視することが行われている。また、タスク間の排他
制御のために「mutex機構」や「セマフォア機構」
が使用されている。
【0014】ところが、このような排他制御を用いる手
法には、高優先度の処理が低優先度の処理によって延期
される可能性、すなわち優先度逆転現象が発生する可能
性があるという問題がある。
【0015】図10には、優先度逆転現象を図解してい
る。同図に示す例では、優先度が低いタスクAがあるデ
ータを操作中に、優先度の高いタスクBが同じデータの
操作を開始しようとしても遅延を余儀なくされる。その
後、タスクBよりも低いがタスクAよりも高い優先度を
持つタスクCの実行が開始すると、タスクAは優先度が
より高いタスクによって実行が中断する。この結果、タ
スクAによるデータ操作を待機するタスクBはさらに遅
延する。すなわち、高優先度タスクが参照・更新しよう
としたデータを低優先度タスクがアクセス中だった場合
には、このデータの一貫性とは無関係な任意の中優先度
タスクの実行が、低優先度タスクのみならず、高優先度
タスクよりも優先されるという優先度の逆転現象が起き
てしまう。
【0016】このような優先度逆転の問題を緩和するた
めの手法として、優先度継承プロトコル(Lui Sha、Rag
unathan Rajkumar、及びJohn P. Lehoczky共著の論文"P
riority Inheritance Protocols:An Approach to Real
-Time Synchronization",IEEE Transactions on Compu
ters, Vol. 39, No. 9, pp. 1175-1185, September 199
0を参照のこと)などが提案されている。優先度継承プ
ロトコルとは、低優先度タスクが一連の操作を実行中に
高優先度タスクが同一データを操作しようとした場合に
は、低優先度タスクの操作が完了するまで、低優先度タ
スクの優先度を一時的に高優先度タスクと同一の優先度
へと上昇させるという手法である。
【0017】図11には、優先度継承プロトコルの動作
を図解している。この場合、優先度の低いタスクAがあ
るデータを操作中に、優先度の高いタスクBが同じデー
タの操作を開始しようとしても遅延を余儀なくされる。
このとき、タスクAの優先度を一時的にタスクBと同じ
レベルまで上昇させる。その後、タスクBよりも低いが
タスクAよりも高い優先度を持つタスクCの実行が開始
しても、タスクAの優先度はタスクCよりも上昇してい
るので、タスクAの実行が中断することはない。そし
て、タスクAの終了後に、タスクBは、データの一貫性
を維持しながら、自分よりも優先度の低いタスクCに割
り込まれることなくデータの操作を開始することができ
る。
【0018】しかしながら、この優先度継承プロトコル
においても、一連の操作が完了するまで高優先度の処理
が延期されるという問題は依然として残っている。例え
ば図12に示す例では、タスクAよりも高いがタスクB
よりも低い優先度を持つタスクは、自分よりも優先度が
低いタスクAのために遅延する。
【0019】特に、組込型コンピュータ・システムにお
いては、システムの応答時間に対して厳しい要求が課せ
られることが多いので、高優先度の処理が延期される時
間を一連の操作が完了する時間よりも短くできることが
望ましい。
【0020】また、優先度継承プロトコルには、排他制
御を必要とするデータを操作しないタスクの実行時間が
遅延される可能性があるという問題もある。これは、低
優先度タスクの優先度が一時的に上昇するためであり、
本来ならば低優先度タスクよりも優先されるべき中優先
度タスクの実行が延期されてしまう。
【0021】
【発明が解決しようとする課題】本発明の目的は、プロ
グラム中に複数の制御の流れ(例えば、割り込み処理プ
ログラムと通常処理プログラム、又は、複数のタスクな
ど)が存在するタイプの、優れた演算処理システム、コ
ンピュータ・システム上でのタスク制御方法、並びに記
憶媒体を提供することにある。
【0022】本発明の更なる目的は、複数の制御の流れ
が存在するとともにそれぞれが共通のデータを操作する
ときに、データの一貫性を保つことができる、優れた演
算処理システム、コンピュータ・システム上でのタスク
制御方法、並びに記憶媒体を提供することにある。
【0023】本発明の更なる目的は、複数の制御の流れ
が存在するとともにそれぞれが共通のデータを操作する
ときに、高い優先度の処理を延期することなくデータの
一貫性を保つことができる、優れた演算処理システム、
コンピュータ・システム上でのタスク制御方法、並びに
記憶媒体を提供することにある。
【0024】
【課題を解決するための手段及び作用】本発明は、上記
課題を参酌してなされたものであり、その第1の側面
は、操作対象データに対してトランザクションを行う複
数のタスクを管理する演算処理システムであって、1以
上のタスクによる操作対象となるデータ毎に有効トラン
ザクション変数が用意されており、各タスクは、操作対
象データに対してトランザクションを開始する直前に該
操作対象データの有効トランザクション変数にトランザ
クション間で固有となる変数を代入し、タスク毎又はト
ランザクションの実行毎に用意されたデータ領域に該操
作対象データの更新内容を記録し、操作対象データに対
するトランザクションが完了後に、有効トランザクショ
ン変数を参照して、その値が変化しなかったことに応答
して、該データ領域に記録しておいた更新内容を操作対
象データに反映させる、ことを特徴とする演算処理シス
テムである。
【0025】但し、ここで言う「システム」とは、複数
の装置(又は特定の機能を実現する機能モジュール)が
論理的に集合した物のことを言い、各装置や機能モジュ
ールが単一の筐体内にあるか否かは特に問わない。
【0026】ここで、タスクが有効トランザクション変
数の参照、及び/又は、更新内容を操作対象データに反
映させる期間は、他のタスクによる割り込みを禁止す
る。
【0027】また、操作対象データに対するトランザク
ションが完了後に、有効トランザクション変数に変化が
あった場合には、タスクは、自分がした更新内容が無効
であることが分かるので、操作対象データに対するトラ
ンザクションを再実行するようにすればよい。
【0028】また、タスクは、トランザクション間で固
有となる変数として、更新内容を記録したアドレス又は
タスク識別子を有効トランザクション変数に代入するこ
とができる。
【0029】本発明の第1の側面に係る演算処理システ
ムによれば、操作対象となるデータ毎に有効トランザク
ション変数を用意して、トランザクションの開始時に更
新記録のアドレスやタスクIDなどのトランザクション
間でユニークな値を有効トランザクション変数に代入す
る。また、トランザクション開始時にスタック上にデー
タの更新記録を割り当てる。トランザクション終了時
に、タスクは、有効トランザクション変数を参照して自
分の更新記録アドレスやタスクIDが残っているか否か
で、操作対象データに対する更新記録の有効性を判断
し、有効と判断されたときに、スタック上の更新記録を
操作対象のデータに反映させるようにする。
【0030】したがって、複数の制御の流れが存在する
とともにそれぞれが共通のデータを操作するときに、高
い優先度の処理を延期することなくデータの一貫性を保
つことができる。
【0031】また、本発明の第2の側面は、1以上のタ
スクによる操作対象となるデータ毎に設けられて、該操
作対象データに対する有効な操作を行っているトランザ
クションに固有となる変数を格納する有効トランザクシ
ョン変数と、タスク毎又はトランザクションの実行毎に
用意される、操作対象データに対する更新内容を記録す
るデータ領域と、操作対象データに対するトランザクシ
ョン完了後に、有効トランザクション変数を参照して、
その値が変化しなかったことに応答して、該トランザク
ションがデータ領域に記録しておいた更新内容を操作対
象データに反映させるデータ同期手段と、を具備するこ
とを特徴とする演算処理システムである。
【0032】本発明の第2の側面に係る演算処理システ
ムは、前記データ同期手段が有効トランザクション変数
の参照及び/又は更新内容を捜査対象データに反映させ
ている期間は、データの一貫性を保つために、他のタス
クの割り込みを禁止する割り込み禁止手段をさらに備え
ることが好ましい。
【0033】また、前記データ同期手段は、操作対象デ
ータに対するトランザクションが完了後に、有効トラン
ザクション変数に変化があった場合には、トランザクシ
ョンによる更新内容が無効となっているので、該トラン
ザクションを再実行させるようにすることが好ましい。
【0034】また、トランザクションに固有となる変数
として更新内容を記録したアドレス又はタスク識別子を
有効トランザクション変数に格納することができる。
【0035】本発明の第2の側面に係る演算処理システ
ムによれば、操作対象となるデータ毎に有効トランザク
ション変数を用意して、トランザクションの開始時に更
新記録のアドレスやタスクIDなどのトランザクション
間でユニークな値を有効トランザクション変数に代入す
る。また、トランザクション開始時にスタック上にデー
タの更新記録を割り当てる。トランザクション終了時
に、タスクは、有効トランザクション変数を参照して自
分の更新記録アドレスやタスクIDが残っているか否か
で、操作対象データに対する更新記録の有効性を判断
し、有効と判断されたときに、スタック上の更新記録を
操作対象のデータに反映させるようにする。
【0036】したがって、複数の制御の流れが存在する
とともにそれぞれが共通のデータを操作するときに、高
い優先度の処理を延期することなくデータの一貫性を保
つことができる。
【0037】また、本発明の第3の側面は、操作対象デ
ータに対してトランザクションを行う複数のタスクが並
行して実行されるコンピュータ・システム上でのタスク
制御方法であって、操作対象データに対してトランザク
ションを開始する直前に該操作対象データに設けられた
有効トランザクション変数にトランザクション間で固有
となる変数を代入するステップと、タスク毎又はトラン
ザクションの実行毎に用意されたデータ領域に該操作対
象データの更新内容を記録するステップと、操作対象デ
ータに対するトランザクションが完了後に、有効トラン
ザクション変数を参照して、その値が変化しなかったこ
とに応答して、該データ領域に記録しておいた更新内容
を操作対象データに反映させるステップと、を具備する
ことを特徴とするコンピュータ・システム上でのタスク
制御方法である。
【0038】本発明の第3の側面に係るコンピュータ・
システム上でのタスク制御方法は、タスクが有効トラン
ザクション変数の参照、及び/又は、更新内容を操作対
象データに反映させる期間は割り込みを禁止するステッ
プをさらに備えるようにしてもよい。
【0039】また、操作対象データに対するトランザク
ションが完了後に、有効トランザクション変数に変化が
あった場合には、タスクは操作対象データに対するトラ
ンザクションを再実行するステップをさらに備えるよう
にしてもよい。
【0040】また、トランザクション間で固有となる変
数として、更新内容を記録したアドレス又はタスク識別
子を有効トランザクション変数に代入するようにしても
よい。
【0041】また、本発明の第4の側面は、操作対象デ
ータに対してトランザクションを行う複数のタスクの管
理をコンピュータ・システム上で実行するように記述さ
れたコンピュータ・ソフトウェアをコンピュータ可読形
式で物理的に格納した記憶媒体であって、前記コンピュ
ータ・ソフトウェアは、操作対象データに対してトラン
ザクションを開始する直前に該操作対象データに設けら
れた有効トランザクション変数にトランザクション間で
固有となる変数を代入するステップと、タスク毎又はト
ランザクションの実行毎に用意されたデータ領域に該操
作対象データの更新内容を記録するステップと、操作対
象データに対するトランザクションが完了後に、有効ト
ランザクション変数を参照して、その値が変化しなかっ
たことに応答して、該データ領域に記録しておいた更新
内容を操作対象データに反映させるステップと、を具備
することを特徴とする記憶媒体である。
【0042】本発明の第4の側面に係る記憶媒体は、例
えば、さまざまなプログラム・コードを実行可能な汎用
コンピュータ・システムに対して、コンピュータ・ソフ
トウェアをコンピュータ可読な形式で提供する媒体であ
る。このような媒体は、例えば、CD(Compact Disc)
やFD(Floppy Disk)、MO(Magneto-Optical dis
c)などの着脱自在で可搬性の記憶媒体である。あるい
は、ネットワーク(ネットワークは無線、有線の区別を
問わない)などの伝送媒体などを経由してコンピュータ
・ソフトウェアを特定のコンピュータ・システムに提供
することも技術的に可能である。
【0043】このような記憶媒体は、コンピュータ・シ
ステム上で所定のコンピュータ・ソフトウェアの機能を
実現するための、コンピュータ・ソフトウェアと記憶媒
体との構造上又は機能上の協働的関係を定義したもので
ある。換言すれば、本発明の第4の側面に係る記憶媒体
を介して所定のコンピュータ・ソフトウェアをコンピュ
ータ・システムにインストールすることによって、コン
ピュータ・システム上では協働的作用が発揮され、本発
明の第3の側面に係るコンピュータ・システム上でのタ
スク制御方法と同様の作用効果を得ることができる。
【0044】本発明のさらに他の目的、特徴や利点は、
後述する本発明の実施例や添付する図面に基づくより詳
細な説明によって明らかになるであろう。
【0045】
【発明の実施の形態】以下、図面を参照しながら本発明
の実施形態について詳解する。
【0046】図1には、本発明の実施に供される演算処
理システム10のハードウェア構成を模式的に示してい
る。同図に示すように、演算処理システム10は、プロ
セッサ11と、RAM(Random Access Memory)12
と、ROM(Read Only Memory)13と、複数の入出力
装置14−1,14−2…と、タイマ15とを含んでい
る。
【0047】プロセッサ11は、演算処理システム10
のメイン・コントローラであり、オペレーティング・シ
ステム(OS)の制御下で、各種のプログラム・コード
を実行するようになっている。
【0048】オペレーティング・システムがプログラム
実行を管理・制御する単位は、一般に「タスク」と呼ば
れる。本実施形態に係る演算処理システム10では、プ
ログラム中に複数のタスクが存在することを許容する。
したがって、実際に計算を進める実体であるプロセッサ
11の個数よりも多くのタスクが存在することになる。
オペレーティング・システムは、プロセッサ11により
処理されるタスクを頻繁に切り替えることにより、各タ
スクを擬似的に並列に実行させるようになっている。各
タスクには、他のタスクと識別可能なタスクIDが割り
振られている。また、各タスクは、スタック上のデータ
領域を用いてデータに対する一連の操作すなわちトラン
ザクションを行う。
【0049】プロセッサ11は、バス16によって他の
機器類(後述)と相互接続されている。システム・バス
16上の各機器にはそれぞれ固有のメモリ・アドレス又
はI/Oアドレスが付与されており、プロセッサ11は
これらアドレスを指定することによって所定の機器への
アクセスが可能となっている。システム・バス16は、
アドレス・バス、データ・バス、コントロール・バスを
含む共通信号伝送路である。
【0050】RAM12は、書き込み可能なメモリであ
り、プロセッサ11において実行されるプログラム・コ
ードをロードしたり、実行プログラムの作業データを一
時格納するために使用される。プログラム・コードに
は、例えば、BIOS(BasicInput/Output System:基
本入出力システム)、周辺機器をハードウェア操作する
ためのデバイス・ドライバ、オペレーティング・システ
ム、アプリケーションなどが挙げられる。
【0051】ROM13は、所定のコードやデータを恒
久的に記憶するための不揮発メモリであり、例えば、B
IOSや始動時の自己診断プログラム(Power On Self
Test:POST)などを格納している。
【0052】入出力装置14には、ディスプレイ21を
接続するためのディスプレイ・インターフェース14−
1、キーボード22やマウス23のようなユーザ入力装
置を接続するためのユーザ入力装置インターフェース1
4−2、ハード・ディスク24やメディア・ドライブ2
5などの外部記憶装置を接続するための外部記憶装置イ
ンターフェース14−3、外部ネットワークと接続する
ためのネットワーク・インターフェース・カード(NI
C)14−4などが含まれる。
【0053】ディスプレイ・インターフェース14−1
は、プロセッサ11が発行する描画命令を実際に処理す
るための専用インターフェース・コントローラである。
ディスプレイ・インターフェース14−1において処理
された描画データは、例えばフレーム・バッファ(図示
しない)に一旦書き込まれた後、ディスプレイ21によ
って画面出力される。
【0054】HDD24は、記憶担体としての磁気ディ
スクを固定的に搭載した外部記憶装置であり(周知)、
記憶容量やデータ転送速度などの点で他の外部記憶装置
よりも優れている。通常、HDD24には、プロセッサ
11が実行すべきオペレーティング・システムのプログ
ラム・コードや、アプリケーション・プログラム、デバイ
ス・ドライバなどが不揮発的に格納されている。ソフト
ウェア・プログラムを実行可能な状態でHDD24上に
置くことをプログラムのシステムへの「インストール」
と呼ぶ。例えば、本発明を実現するオペレーティング・
システムや、複数のタスクが存在するように設計された
アプリケーション・プログラムをHDD24上にインス
トールすることができる。
【0055】メディア・ドライブ25は、CD(Compact
Disc)やMO(Magneto-Optical disc)、DVD(Dig
ital Versatile Disc)などの可搬型メディアを装填し
て、そのデータ記録面にアクセスするための装置であ
る。
【0056】可搬型メディアは、主として、ソフトウェ
ア・プログラムやデータ・ファイルなどをコンピュータ可
読形式のデータとしてバックアップすることや、これら
をシステム間で移動(すなわち販売・流通・配布を含む)
する目的で使用される。例えば、本発明を実現するオペ
レーティング・システムや、複数のタスクが存在するよ
うに設計されたアプリケーション・プログラムを、これ
ら可搬型メディアを利用して複数の機器間で物理的に流
通・配布することができる。
【0057】ネットワーク・インターフェース14−1
は、Ethernetなどの所定の通信プロトコルに従
って、システム10をLAN(Local Area Network)な
どの局所的ネットワーク、さらにはインターネットのよ
うな広域ネットワークに接続することができる。
【0058】ネットワーク上では、複数のホスト端末
(図示しない)がトランスペアレントな状態で接続さ
れ、分散コンピューティング環境が構築されている。ネ
ットワーク上では、ソフトウェア・プログラムやデータ
・コンテンツなどの配信が行うことができる。例えば、
本発明を実現するオペレーティング・システムや、複数
のタスクが存在するように設計されたアプリケーション
・プログラムを、ネットワーク経由でダウンロードする
ことができる。
【0059】各入出力装置14−1,14−2…には、
割り込みレベルが割り当てられており、所定のイベント
発生(例えばキーボード入力やマウス・クリックなどの
GUI処理や、ハード・ディスクにおけるデータ転送の
完了など)に応答して、割り込み要求信号線19を介し
てプロセッサ11に通知することができる。プロセッサ
11は、このような割り込み要求に応答して、対応する
割り込みハンドラを実行する。
【0060】タイマ15は、タイマ信号を所定周期で発
生させる装置である。タイマ15にも割り込みレベルが
割り当てられており、割り込み要求信号線19を介して
プロセッサ11に対して周期的な割り込みを発生する。
【0061】なお、図1に示すような演算処理システム
10の一例は、米IBM社のパーソナル・コンピュータ"
PC/AT(Personal Computer/Advanced Technolog
y)"の互換機又は後継機である。勿論、他のアーキテク
チャを備えたコンピュータを、本実施形態に係る演算処
理システム10として適用することも可能である。
【0062】この演算処理システム10の実行環境を提
供するオペレーティング・システムは、複数の制御の流
れが存在するとともにそれぞれが共通のデータを操作す
るときに、高い優先度の処理を延期することなくデータ
の一貫性を保つ機能を備えている。データの同期をとる
ために、操作対象となるデータ毎に、並列に実行され得
るトランザンション間でユニークであることが保証され
ている値を代入するための変数「有効トランザクショ
ン」を用意する。そして、各タスクは、データの一貫性
を保つために、以下のような手順を実行する。
【0063】(1)データ操作(すなわち、トランザク
ション)の開始直前に、当該タスクが持つトランザンシ
ョン間でユニークな値を、有効トランザクション変数に
対して代入する。
【0064】(2)データの更新時には、即座に操作対
象となる共通データに対して更新を行うのではなく、タ
スク毎あるいは操作の実行毎に用意されたデータ領域
(例えば、スタック中のデータ・ブロック)に更新内容
を記録しておく。
【0065】(3)タスクによる一連の参照・更新操作
が完了した後に割り込みを禁止する。
【0066】(4)上記の手順(1)で有効トランザク
ション変数に代入した値が引き続き有効トランザクショ
ン変数に格納されていた場合、スタックなどに記録して
おいた更新内容を操作対象となる共通データに反映さ
せ、割り込みを許可した後に処理を終了する。
【0067】(5)他方、手順(1)で有効トランザク
ション変数に代入した値が有効トランザクション変数に
格納されていなかった場合、割り込みを許可した後に手
順(1)に戻って、共通データの更新処理を再実行す
る。
【0068】有効トランザクション変数に対して代入さ
れる値は、以下の性質を備えている必要がある。
【0069】同一データに対して一連の操作が並行に
実行される可能性がある場合、これらトランザンション
の間で異なる値を使用する。 割り込み処理時に代入され得るどの値とも異なってい
る。
【0070】より具体的には、各タスクに割り振られる
タスクIDやスタック上の更新記録のアドレスなどを有
効トランザクション変数に代入する値とし使用すること
ができる。
【0071】次いで、本実施形態に係るデータの一貫性
を保つための処理手順についてより詳細に説明する。
【0072】ここで、ある共通データaを操作する2つ
のタスクAとタスクBが存在し、タスクAよりもタスク
Bの方が高い優先度を持つというケースを考える。
【0073】タスクAが共通データaを操作したい場合
には、図2に示すように、まず有効トランザクション変
数に自分のタスクIDを代入して、自分が有効なトラン
ザクションであることを示す。次いで、操作対象となる
共通データに対して更新を行うのではなく、自分が使用
するスタック中のデータ・ブロックに更新内容を記録す
る。
【0074】そして、タスクAは、スタック中のデータ
・ブロックに対して一連の参照・更新操作が完了する
と、割り込みを禁止して、有効トランザクション変数を
参照してまだ自分のタスクIDが記憶されているか否か
をチェックする。
【0075】有効トランザクション変数に自分のタスク
IDが残っている場合には、図3に示すように、スタッ
ク中の更新内容を操作対象となる共通データaに反映さ
せ、割り込みを許可した後にタスクAの処理を終了す
る。
【0076】他方、タスクAがまず有効トランザクショ
ン変数に自分のタスクIDを代入した後、同じく共通デ
ータaを操作するタスクBが起動すると、タスクBの方
が高優先度のためタスクAの実行が停止するとともに、
有効トランザクション変数にはタスクBのタスクIDが
上書きされ、その値が変化する(図4を参照のこと)。
【0077】タスクBは、操作対象となる共通データに
対して更新を行うのではなく、自分が使用するスタック
中のデータ・ブロックに更新内容を記録する(同上)。
【0078】そして、タスクBは、スタック中のデータ
・ブロックに対して一連の参照・更新操作が完了する
と、割り込みを禁止して、有効トランザクション変数を
参照してまだ自分のタスクIDが記憶されていることを
確認してから、スタック中の更新内容を操作対象となる
共通データに反映させて(図5を参照のこと)、割り込
みを許可した後にタスクBの処理を終了する。
【0079】タスクAは、タスクBの処理終了に応答し
て実行を再開する。タスクAは、スタック中のデータ・
ブロックに対して一連の参照・更新操作が完了すると、
割り込みを禁止して、有効トランザクション変数を参照
してまだ自分のタスクIDが記憶されているか否かをチ
ェックする。しかしながら、有効トランザクション変数
には自分のタスクIDは残っていないので、タスクAの
更新内容は無効となっていることが分かる。このような
場合、割り込みを許可した後に、共通データの更新処理
を再実行する(図6を参照のこと)。
【0080】本発明によれば、操作対象となるデータ毎
に有効トランザクション変数を用意する。そして、トラ
ンザクション(すなわち、各タスク又は割り込み処理プ
ログラムがデータに加える一連の操作)の開始時に、並
行に実行され得るトランザクション間でユニークなこと
が保証されている値を有効トランザクション変数に代入
する。
【0081】有効トランザクション変数に代入する値と
して、タスクIDを使用することができる。このとき、
割り込み処理プログラムが代入する値はタスクIDとし
て使用される可能性がない任意の値を選べばよい。ま
た、後述する更新記録のアドレスを用いることも可能で
ある。この場合には、割り込み処理プログラムが代入す
る値としてヌルポインタ値などを使用することも可能で
ある。
【0082】さらに、アドレスと値の組を要素とする配
列を幾つか使用する。これらの配列を「更新記録」と呼
ぶ。実行期間が互いに重なり得るトランザクションに
は、それぞれ異なる更新記録を割り付ける必要がある。
この割り付けを簡易に行う手法として、トランザクショ
ン開始時にスタック上に更新記録を割り当てることが考
えられる。また、オペレーティング・システムがタスク
毎、あるいは割り込み発生源毎に用意する領域に更新記
録を格納することも考えられる。
【0083】したがって、各タスクは、有効トランザク
ション変数に自分のタスクIDが残っているか否かで、
操作対象となるデータに対して自分が行った更新内容が
有効か無効かを判断することができる。また、有効と判
断されたときに、スタック上の更新記録を操作対象のデ
ータに反映させることによって、データの一貫性を保証
することができる。
【0084】図7には、上述したようなタスク間の共通
データの一貫性を保つための処理手順をフローチャート
の形式で示している。この処理手順は、実際には、プロ
セッサ11が所定のプログラム・コードを実行するとい
う形態で実現する。以下、このフローチャートを参照し
ながら、共通データの一貫性を保つための処理について
説明する。
【0085】タスクは、操作対象となるあるデータに対
する一連の操作すなわちトランザクションを開始する
と、まず、更新記録の確保を行う(ステップS1)。更
新記録をスタック上に配置する場合には、其処でその処
理を行う。
【0086】次いで、操作対象となるデータに用意され
ている有効トランザクション変数に、トランザクション
間でユニークなことが保証されている値を代入する(ス
テップS2)。代入する値としては、タスクIDやスタ
ック上の更新記録のアドレスなどを使用することができ
る。このフローチャートでは更新記録のアドレスを使用
することにしている。
【0087】ステップ2で有効トランザクション変数に
代入された値は、他のタスクや割り込み処理プログラム
がデータに対して操作を加えない限り、変化しない。有
効トランザクション変数が変化していないかどうかをス
テップS7で検査するようになっている(後述)。
【0088】次の操作が、操作対象のデータに対する更
新である場合には(ステップS3)、スタック上でデー
タ更新を行うとともに、更新記録に更新対象アドレスと
値を追加する(ステップS4)。
【0089】また、次の操作が、操作対象のデータへの
参照である場合には(ステップS3)、操作対象のデー
タを読み出して、スタック上に書き込む(ステップS
5)。
【0090】また、次の操作が、トランザクションの終
了である場合には(ステップS3)、割り込みを禁止し
て(ステップS6)、有効トランザクション変数に更新
記録のアドレスが格納されているか否かを検査する(ス
テップS7)。
【0091】有効トランザクション変数に更新記録のア
ドレスが格納されている場合には、ステップS8に進ん
で、スタック上の更新記録に格納されている更新内容
を、操作対象のデータに反映させ、その後、禁止してい
た割り込みを許可する(ステップS9)。
【0092】また、有効トランザクション変数に更新記
録のアドレスが格納されていない場合には、更新記録を
空にするとともに割り込みを許可した後(ステップS1
0)、ステップS2に戻って、有効トランザクション変
数に更新記録のアドレスを代入するとともに、操作対象
のデータに対する操作をやり直す。
【0093】上述したように、ステップS7では有効ト
ランザクション変数が変化していないかどうかを検査す
るが、ステップS6で割り込みを禁止しておくことによ
り、ステップS7の時点で有効トランザクション変数が
変化していなければ、ステップS2の完了時点からステ
ップS7の開始時点までの期間に他のトランザクション
が開始していなかったことが保証される。また、ステッ
プS9によって割り込みが再び許可されるまで、他のト
ランザクションが開始されないことが保証される。した
がって、ステップS5で読み出した値は、他のトランザ
クションの実行途中の結果ではなく、また、ステップS
8において更新内容を捜査対象のデータに反映させて
も、データの一貫性は損なわれない。
【0094】他方、ステップS7において有効トランザ
クション変数の値の変化が検出された場合には、割り込
みを許可した後に、トランザクションを再度実行するこ
とになる。この場合、データに対する更新操作はすべて
スタック上の更新記録中に保持されているだけで、操作
対象データに対する実際の更新は行われていない。した
がって、他のトランザクションへの悪影響を与えてデー
タの一貫性を損なうようなことはない。
【0095】ここで、共通の変数xに対して操作を行う
2つの流れB及び流れCが並行して実行される場合を例
にとって、図7に示した処理手順についてより具体的に
説明する。
【0096】まず、流れBが変数xに対して操作を始め
る。このため、図7に示したフローチャート中のステッ
プS1及びS2が流れBのために行われる。具体的に
は、流れBに割り当てられているスタック領域中に更新
記録のための領域が確保されるとともに、このアドレス
(仮に、0x40000000番地とする)が有効トラ
ンザクション変数に代入される。
【0097】流れBは、変数xの値を読み出そうとす
る。そこで、図7に示したフローチャート中のステップ
S3及びS5が流れBのために実行される。このとき、
変数xの値として0が読み出されるとする。
【0098】ここで、流れCが変数xに対する操作を開
始する。このため、図7に示したフローチャート中のス
テップS1及びS2が流れCのために行われる。具体的
には、流れCに割り当てられているスタック領域中に更
新記録のための領域が確保されるとともに、このアドレ
ス(仮に、0x60000000番地とする)が有効ト
ランザクション変数に代入される。これによって、有効
トランザクション変数の値は0x40000000から
0x60000000に変化して、流れBによるトラン
ザクションが無効化される。
【0099】流れCは、変数xの値を読み出す。この値
は、上述した流れBによる読み出しと同様に0である。
【0100】流れCは、変数xに、読み出した値0に1
を加えた値、すなわち1を代入しようとする。このた
め、図7に示したフローチャート中のステップS3及び
ステップS4が流れCのために行われる。この結果、流
れCに割り当てられているスタック領域中に確保されて
いる更新記録に数xのアドレスと値1が追記される。
【0101】流れCが変数xに対する一連の操作すなわ
ちトランザクションをすべて終了すると、フローチャー
ト中のステップS6以降の処理が流れCのために開始さ
れる。まずステップS7では有効トランザクション変数
が読み出されるが、この値は0x60000000であ
る。これは、流れCが最後に代入した値に等しいので、
後続のステップS8及びS9が流れCのために実行され
ることになる。すなわち、変数xに対して値1が代入さ
れることになる。ここまでの処理によって、流れCによ
る変数xの操作は成功裏に終わる。
【0102】一方、流れBは、読み出した値0に1を加
えた値、すなわち、1を変数xに代入しようとする。こ
のため、図7に示したフローチャート中のステップS3
及びS4が流れBのために行われる。すなわち、流れB
に割り当てられているスタック領域中に確保されている
更新記録に変数xのアドレスと値1が追記される。
【0103】流れCはすでにトランザクションを終了し
ているので、図7に示したフローチャート中のステップ
S6以降の処理が流れBのために開始される。ステップ
S7では有効トランザクション変数が読み出されるが、
この値は後に流れCによって更新されているため(上
述)、0x400000000からx60000000
に変化している。このため、ステップS10が実行され
て、更新記録が空にされるとともに割り込みを許可し
て、再びステップS2から実行を継続する。
【0104】その後、流れBについてステップS2,S
3,S5,S3,S4,S6,S7と実行が進む。前回
とは異なり,変数xの値として読み出されるのは、流れ
CがステップS8で更新した値、すなわち1である。有
効トランザクション変数の値は0x40000000で
あるため、ステップS8及びS9へと実行が進む。ステ
ップS8では、値2が変数xに代入されることになる。
【0105】なお、上述した説明では、図7にフローチ
ャート中のステップS3が実行されるように説明してい
るが、現実の実装では、あらかじめ(すなわち,プログ
ラムのコーディング時に)ステップS4,S5,S6の
うちどの処理を行うべきかが分かっていることが多いの
で、ステップS3のような条件判断をプログラム・コー
ドから省略することも可能である。
【0106】図8には、同じデータを操作対象とするタ
スクAとタスクBが並行して実行される場合の処理動作
を図解している。但し、タスクBの方がタスクAよりも
優先度は高いものとする。
【0107】まず、タスクAが実行開始してタスクAが
共通データの操作を開始し、次いで,タスクBが実行開
始して共通データの操作を開始したとする。
【0108】タスクBは、タスクAよりも高優先度なの
で、タスクAのために処理が停止したり中断することな
く、共通データの操作を完了して、タスクBの実行を終
了する。
【0109】一方、タスクAは、高優先度のタスクBの
ために処理が一時中断するが、タスクBの実行終了に応
答して,処理を開始する。
【0110】但し、タスクBが共通データを操作してい
るので,タスクAがデータ操作を再開するも、これは無
駄なトランザクションとなる。
【0111】タスクAは、データ操作を終了すると、有
効トランザクション変数を参照することにより、自分の
データ操作が無効であることを検出することができる。
この結果、タスクAは、再度データ操作を行い、有効ト
ランザクション変数を基にトランザクションの有効性を
確認してから操作を完了することができる。
【0112】図8に示した処理動作を、図10及び図1
1に示した従来技術と比較することからも明らかである
ように、本発明に係るタスク処理によって行われるデー
タ操作の調停は、mutex機構などを採用した場合と
は相違し、低優先度処理がデータに対する操作を行って
いる間であっても、高優先度タスクがデータに対する操
作を開始することができる。
【0113】[追補]以上、特定の実施例を参照しなが
ら、本発明について詳解してきた。しかしながら、本発
明の要旨を逸脱しない範囲で当業者が該実施例の修正や
代用を成し得ることは自明である。すなわち、例示とい
う形態で本発明を開示してきたのであり、本明細書の記
載内容を限定的に解釈するべきではない。本発明の要旨
を判断するためには、冒頭に記載した特許請求の範囲の
欄を参酌すべきである。
【0114】
【発明の効果】以上詳記したように、本発明によれば、
プログラム中に複数の制御の流れ(例えば、割り込み処
理プログラムと通常処理プログラム、又は、複数のタス
クなど)が存在するタイプの、優れた演算処理システ
ム、コンピュータ・システム上でのタスク制御方法、並
びに記憶媒体を提供することができる。
【0115】また、本発明によれば、複数の制御の流れ
が存在するとともにそれぞれが共通のデータを操作する
ときに、データの一貫性を保つことができる、優れた演
算処理システム、コンピュータ・システム上でのタスク
制御方法、並びに記憶媒体を提供することができる。
【0116】また、本発明によれば、複数の制御の流れ
が存在するとともにそれぞれが共通のデータを操作する
ときに、高い優先度の処理を延期することなくデータの
一貫性を保つことができる、優れた演算処理システム、
コンピュータ・システム上でのタスク制御方法、並びに
記憶媒体を提供することができる。
【0117】本発明によれば、割り込み禁止期間を削減
することができる。すなわち、データ操作のうち更新操
作を実行する間だけ割り込みを禁止すればよいので、一
連のデータ操作を行う期間は割り込みを禁止するという
手法と比べて、割り込み禁止期間を短くすることができ
ることが多い。
【0118】その例外として、データの参照がほとんど
行われず、更新操作だけが行われる場合と、多数の更新
が行われるためmutex機構などによる排他制御より
も割り込み禁止期間が長くなる場合を挙げることができ
る。但し、このような場合に限って従来の手法を用いる
ことによって、最悪の場合でも従来手法と同等の割り込
み禁止時間を達成することが可能である。
【0119】また、本発明によれば、共有データを操作
しないタスクの遅延時間を削減することができる。すな
わち、本発明では、共有データを操作しないタスクの実
行が遅延されるのは割り込みが禁止される期間だけであ
るので、この時間は一連のデータ操作が完了するまでに
要する時間よりも短くすることが可能である。
【0120】また、本発明によれば、低優先度タスクに
よって高優先度タスクの実行が延期される時間を削減す
ることができる(但し、割り込みが禁止されている期間
を除き、プロセッサは常に実行可能タスクの中で最も優
先度が高いタスクを実行するものとする)。
【0121】本発明によれば、トランザクション処理が
中断されるのは、より優先度の高いタスクの実行が開始
された場合だけである。このため、高優先度タスクのト
ランザクション処理中に低優先度タスクのトランザクシ
ョンが処理されることはない。したがって、高優先度タ
スクの実行が延期されるのは割り込み禁止期間だけであ
る。この時間は従来手法と比べて短くすることが可能で
ある。
【図面の簡単な説明】
【図1】本発明の実施に供される演算処理システム10
のハードウェア構成を模式的に示した図である。
【図2】ある共通データaを操作する2つのタスクAと
タスクBが存在し、タスクAよりもタスクBの方が高い
優先度を持つ場合を例にとって、データの一貫性を保つ
ための処理手順を示した図である。
【図3】ある共通データaを操作する2つのタスクAと
タスクBが存在し、タスクAよりもタスクBの方が高い
優先度を持つ場合を例にとって、データの一貫性を保つ
ための処理手順を示した図である。
【図4】ある共通データaを操作する2つのタスクAと
タスクBが存在し、タスクAよりもタスクBの方が高い
優先度を持つ場合を例にとって、データの一貫性を保つ
ための処理手順を示した図である。
【図5】ある共通データaを操作する2つのタスクAと
タスクBが存在し、タスクAよりもタスクBの方が高い
優先度を持つ場合を例にとって、データの一貫性を保つ
ための処理手順を示した図である。
【図6】ある共通データaを操作する2つのタスクAと
タスクBが存在し、タスクAよりもタスクBの方が高い
優先度を持つ場合を例にとって、データの一貫性を保つ
ための処理手順を示した図である。
【図7】タスク間の共通データの一貫性を保つための処
理手順を示したフローチャートである。
【図8】同じデータを操作対象とするタスクAとタスク
Bが並行して実行される場合の処理動作を示したチャー
トである。
【図9】複数の制御の流れを持つプログラムのフローチ
ャートを示した図である。
【図10】排他制御によりデータの一貫性を維持する場
合に生じる優先度逆転現象を示した図である。
【図11】優先度継承プロトコルの動作を示した図であ
る。
【符号の説明】
10…演算処理システム 11…プロセッサ 12…RAM 13…ROM 14…入出力装置 15…タイマ 16…システム・バス 19…割り込み要求線 21…ディスプレイ 22…キーボード 23…マウス 24…HDD 25…メディア・ドライブ

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】操作対象データに対してトランザクション
    を行う複数のタスクを管理する演算処理システムであっ
    て、 1以上のタスクによる操作対象となるデータ毎に有効ト
    ランザクション変数が用意されており、 各タスクは、 操作対象データに対してトランザクションを開始する直
    前に該操作対象データの有効トランザクション変数にト
    ランザクション間で固有となる変数を代入し、 タスク毎又はトランザクションの実行毎に用意されたデ
    ータ領域に該操作対象データの更新内容を記録し、 操作対象データに対するトランザクションが完了後に、
    有効トランザクション変数を参照して、その値が変化し
    なかったことに応答して、該データ領域に記録しておい
    た更新内容を操作対象データに反映させる、ことを特徴
    とする演算処理システム。
  2. 【請求項2】タスクが有効トランザクション変数の参
    照、及び/又は、更新内容を操作対象データに反映させ
    る期間は割り込みを禁止する、ことを特徴とする請求項
    1に記載の演算処理システム。
  3. 【請求項3】操作対象データに対するトランザクション
    が完了後に、有効トランザクション変数に変化があった
    場合には、タスクは操作対象データに対するトランザク
    ションを再実行する、ことを特徴とする請求項1に記載
    の演算処理システム。
  4. 【請求項4】タスクは、トランザクション間で固有とな
    る変数として、更新内容を記録したアドレス又はタスク
    識別子を有効トランザクション変数に代入する、ことを
    特徴とする請求項1に記載の演算処理システム。
  5. 【請求項5】操作対象データに対してトランザクション
    を行う複数のタスクを管理する演算処理システムであっ
    て、 1以上のタスクによる操作対象となるデータ毎に設けら
    れて、該操作対象データに対する有効な操作を行ってい
    るトランザクションに固有となる変数を格納する有効ト
    ランザクション変数と、 タスク毎又はトランザクションの実行毎に用意される、
    操作対象データに対する更新内容を記録するデータ領域
    と、 操作対象データに対するトランザクション完了後に、有
    効トランザクション変数を参照して、その値が変化しな
    かったことに応答して、該トランザクションがデータ領
    域に記録しておいた更新内容を操作対象データに反映さ
    せるデータ同期手段と、を具備することを特徴とする演
    算処理システム。
  6. 【請求項6】前記データ同期手段が有効トランザクショ
    ン変数の参照及び/又は更新内容を捜査対象データに反
    映させている期間は他のタスクの割り込みを禁止する割
    り込み禁止手段をさらに備える、ことを特徴とする請求
    項5に記載の演算処理システム。
  7. 【請求項7】前記データ同期手段は、操作対象データに
    対するトランザクションが完了後に、有効トランザクシ
    ョン変数に変化があった場合には、該トランザクション
    を再実行させる、ことを特徴とする請求項5に記載の演
    算処理システム。
  8. 【請求項8】トランザクションに固有となる変数として
    更新内容を記録したアドレス又はタスク識別子を有効ト
    ランザクション変数に格納する、ことを特徴とする請求
    項5に記載の演算処理システム。
  9. 【請求項9】操作対象データに対してトランザクション
    を行う複数のタスクが並行して実行されるコンピュータ
    ・システム上でのタスク制御方法であって、 操作対象データに対してトランザクションを開始する直
    前に該操作対象データに設けられた有効トランザクショ
    ン変数にトランザクション間で固有となる変数を代入す
    るステップと、 タスク毎又はトランザクションの実行毎に用意されたデ
    ータ領域に該操作対象データの更新内容を記録するステ
    ップと、 操作対象データに対するトランザクションが完了後に、
    有効トランザクション変数を参照して、その値が変化し
    なかったことに応答して、該データ領域に記録しておい
    た更新内容を操作対象データに反映させるステップと、
    を具備することを特徴とするコンピュータ・システム上
    でのタスク制御方法。
  10. 【請求項10】タスクが有効トランザクション変数の参
    照、及び/又は、更新内容を操作対象データに反映させ
    る期間は割り込みを禁止するステップをさらに備える、
    ことを特徴とする請求項9に記載のコンピュータ・シス
    テム上でのタスク制御方法。
  11. 【請求項11】操作対象データに対するトランザクショ
    ンが完了後に、有効トランザクション変数に変化があっ
    た場合には、タスクは操作対象データに対するトランザ
    クションを再実行するステップをさらに備える、ことを
    特徴とする請求項9に記載のコンピュータ・システム上
    でのタスク制御方法。
  12. 【請求項12】トランザクション間で固有となる変数と
    して、更新内容を記録したアドレス又はタスク識別子を
    有効トランザクション変数に代入する、ことを特徴とす
    る請求項9に記載のコンピュータ・システム上でのタス
    ク制御方法。
  13. 【請求項13】操作対象データに対してトランザクショ
    ンを行う複数のタスクの管理をコンピュータ・システム
    上で実行するように記述されたコンピュータ・ソフトウ
    ェアをコンピュータ可読形式で物理的に格納した記憶媒
    体であって、前記コンピュータ・ソフトウェアは、 操作対象データに対してトランザクションを開始する直
    前に該操作対象データに設けられた有効トランザクショ
    ン変数にトランザクション間で固有となる変数を代入す
    るステップと、 タスク毎又はトランザクションの実行毎に用意されたデ
    ータ領域に該操作対象データの更新内容を記録するステ
    ップと、 操作対象データに対するトランザクションが完了後に、
    有効トランザクション変数を参照して、その値が変化し
    なかったことに応答して、該データ領域に記録しておい
    た更新内容を操作対象データに反映させるステップと、
    を具備することを特徴とする記憶媒体。
JP2001325357A 2001-10-23 2001-10-23 演算処理システム、コンピュータ・システム上でのタスク制御方法、並びに記憶媒体 Pending JP2003131893A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001325357A JP2003131893A (ja) 2001-10-23 2001-10-23 演算処理システム、コンピュータ・システム上でのタスク制御方法、並びに記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001325357A JP2003131893A (ja) 2001-10-23 2001-10-23 演算処理システム、コンピュータ・システム上でのタスク制御方法、並びに記憶媒体

Publications (2)

Publication Number Publication Date
JP2003131893A true JP2003131893A (ja) 2003-05-09
JP2003131893A5 JP2003131893A5 (ja) 2005-06-09

Family

ID=19141941

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001325357A Pending JP2003131893A (ja) 2001-10-23 2001-10-23 演算処理システム、コンピュータ・システム上でのタスク制御方法、並びに記憶媒体

Country Status (1)

Country Link
JP (1) JP2003131893A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011102207A1 (ja) * 2010-02-18 2011-08-25 株式会社日立製作所 組込み制御装置
DE102015203695A1 (de) 2014-03-07 2015-09-10 Denso Corporation Elektronische steuereinheit
US11734250B2 (en) 2019-12-12 2023-08-22 Fujitsu Limited Information processing apparatus, synchronization control method, and computer-readable recording medium recording synchronization control program

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011102207A1 (ja) * 2010-02-18 2011-08-25 株式会社日立製作所 組込み制御装置
US8649939B2 (en) 2010-02-18 2014-02-11 Hitachi, Ltd. Embedded control device
DE102015203695A1 (de) 2014-03-07 2015-09-10 Denso Corporation Elektronische steuereinheit
US11734250B2 (en) 2019-12-12 2023-08-22 Fujitsu Limited Information processing apparatus, synchronization control method, and computer-readable recording medium recording synchronization control program

Similar Documents

Publication Publication Date Title
JP3593241B2 (ja) 計算機の再起動方法
KR100934533B1 (ko) 연산 처리 시스템, 컴퓨터 시스템 상에서의 태스크 제어 방법, 및 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
CN100524223C (zh) 基于pmi和smi的调度执行框架中用于并发处理程序执行的方法
EP1035472A2 (en) Loading configuration data
JP2009245405A (ja) コンピュータおよびブート方法
JP2009140489A (ja) Vmmシステムにおけるユーザosがサービスosによって使用されている装置の電源を切らないようにするためのシステム及び方法
US7200705B2 (en) Method of checkpointing state of virtual memory for process
US9235426B2 (en) Multicore processor system, computer product, and notification method for updating operating system
CN114238236A (zh) 共享文件的访问方法、电子设备及计算机可读存储介质
CN115981685A (zh) 应用升级方法、装置、计算设备和芯片系统
JP7425685B2 (ja) 電子制御装置
JP5578811B2 (ja) 情報処理装置、情報処理装置の制御方法及びプログラム
US8732441B2 (en) Multiprocessing system
US7797473B2 (en) System for executing system management interrupts and methods thereof
JP2821345B2 (ja) 非同期i/o制御方式
JP2003131893A (ja) 演算処理システム、コンピュータ・システム上でのタスク制御方法、並びに記憶媒体
JPWO2006001051A1 (ja) マルチプロセッサ装置及びその制御方法
JP2011138401A (ja) プロセッサシステム、プロセッサシステムの制御方法、及び制御回路
JP4597032B2 (ja) コンピュータシステム、それにおける基本プログラムの起動方法、及びローダプログラム
JP5699665B2 (ja) サーバ装置、処理実行方法およびプログラム
US20080043734A1 (en) Data processing system, data processing apparatus, and data processing method
US10592329B2 (en) Method and electronic device for continuing executing procedure being aborted from physical address where error occurs
WO1996042056A1 (en) A cache flush mechanism for a secondary cache memory
CN114579195B (zh) 一种操作系统重启方法、系统及相关组件
JP2004005113A (ja) 複数の実計算機上で動作する仮想計算機システム及びその制御方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040825

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040825

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060905

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061031

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070313