JPH07182184A - 実行タスクのオーバーラン状態を監視する方法、タスク実行サイクルオーバーランを監視し制御する方法、及びタスク実行サイクルオーバーランを検出する装置 - Google Patents

実行タスクのオーバーラン状態を監視する方法、タスク実行サイクルオーバーランを監視し制御する方法、及びタスク実行サイクルオーバーランを検出する装置

Info

Publication number
JPH07182184A
JPH07182184A JP4212852A JP21285292A JPH07182184A JP H07182184 A JPH07182184 A JP H07182184A JP 4212852 A JP4212852 A JP 4212852A JP 21285292 A JP21285292 A JP 21285292A JP H07182184 A JPH07182184 A JP H07182184A
Authority
JP
Japan
Prior art keywords
task
execution
processor
count
counting
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.)
Granted
Application number
JP4212852A
Other languages
English (en)
Other versions
JP2520544B2 (ja
Inventor
Donald E Carmon
ドナルド、エドワード、カーモン
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH07182184A publication Critical patent/JPH07182184A/ja
Application granted granted Critical
Publication of JP2520544B2 publication Critical patent/JP2520544B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0715Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a system implementing multitasking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/348Circuit details, i.e. tracer hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【目的】 任意のタスクまたはタスク群によるシステム
の利用率を正確に検出し制限することができる、厳格な
リアルタイム、マルチタスキングコンピュータシステム
で使用される改良型ハードウェアおよびソフトウェアを
実施する監視および制御システムの提供。 【構成】 厳格な、リアルタイム、マルチタスキングシ
ステムは、ハードウェアとソフトウェアと論理の組合せ
により監視され、タスクの宣言された最高プロセッササ
イクル制限を越えた任意のタスクのオーバーランを検出
する。DMAまたは割込み処理により利用され、実行中
のタスクには無関係のプロセッサ実行サイクルはカウン
トされない。カウンタハードウェアと制御論理は、タス
クによる実行サイクル利用率を監視するためにソフトウ
ェアのオーバーヘッドを減少して、オーバーラン検出だ
けでなく、プログラム式サイクル使用量アラーム、消費
サイクルカウントおよび全体的なプロセッサローディン
グまたは利用率測定の機能を備えている。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は一般的にはマルチタスク
コンピュータシステムに関し、具体的には、マルチメデ
ィアコンピュータやディスプレイシステムにおいてみら
れるタスクなどの実行結果をリアルタイムで供給する必
要のあるシステムに関する。
【0002】
【従来の技術】リアルタイムシステムのアルゴリズムを
計画する分野では多くの研究が行なわれている。たとえ
ば、ソフトウェア工学分野のIEEE Transactions, Vol.1
6, No.3, 1990 年3月、360-369 頁におけるXuその他に
よる「リリース時間による処理、デッドライン、先行、
排他関係の計画化(Scheduling Processes with Releas
e Times, Deadlines, Precedents and Exclusion Relat
ions)」、ACM ジャーナル、1989年、Vol.10, 490-498
頁のRabbieその他による「リアルタイムADA のオペレー
ティングシステム(An Operating System for Real-Tim
e ADA )」さらにIEEE会議紀要、1989年、567-573 頁の
Halangその他による「工業分散リアルタイムシステムに
おける厳しいデッドラインを満たす方法論(Methodolog
ies for Meeting Hard Deadlines in Industrial Distr
ibuted Real-Time Systems)」などが参考文献として挙
げられる。
【0003】従来例には、マルチタスクの厳しいリアル
タイム動作を実行可能にするスケジュール化問題への様
々な方法が含まれているが、所定のタスクがその実行時
間をオーバーランし、それにより走行可能な他の厳格な
リアルタイムタスクを危険に陥れて、厳格なマルチタス
クリアルタイム環境の要求を満たすコンピュータシステ
ムを故障させたり壊したりすることになる「クラッシ
ュ」を予防したり制御する工夫はほとんどまたは全く示
してあるようには思われない。
【0004】重要な問題は、デッドラインを満たさなか
ったために実際に障害の発生したプログラムが、最高サ
イクル使用量を越えたプログラムとは限らないことであ
る。マシンで実施されたタスクに関わる潜在的な問題
は、他のタスクがロードされるまで、おそらく数年後ま
で明らかにされることはないであろう。他のタスクを実
行しようとして、障害が発生しても、最初に導入された
プログラムがその問題の源であるという事実に気がつく
ことはないと思われる。さらに、マルチタスクシステム
にはロードされるタスクが重くなるときだけ障害が発生
する可能性がある。その結果、システムに導入された新
しいプログラムが問題が発生するぐらいのプロセッサ資
源を使用するまで、最高サイクル配分を破る1つまたは
複数のプログラムが検出されることはないことになる。
【0005】
【発明が解決しようとする課題】従来技術における上記
のよく知られた問題と欠点を考慮して、本発明の目的
は、任意のタスクまたはタスク群によるシステムの利用
率を正確に検出し制限することができる、厳格なリアル
タイムマルチタスキングコンピュータシステムで使用さ
れる改良型ハードウェアおよびソフトウェアを実施する
監視および制御システムを提供することにある。
【0006】
【課題を解決するための手段】厳格な、リアルタイムマ
ルチタスキングシステムにおけるシステム保全性を保証
するために、各リアルタイムプログラムタスクは、それ
が各プログラム実行のために使用する最高数のプロセッ
ササイクルを前もって指定するように保持されなければ
ならない。システムで実行する任意のプログラムが、割
り当てられたよりも多くのプロセッササイクルを消費す
る場合、そのプログラムまたは他のプログラムには、リ
アルタイムデッドラインを満たすよう十分な時間やプロ
セッササイクルが残されてない場合がある。それを解決
するために、厳格なリアルタイムシステムにおいて、実
際のタスクプロセッササイクル使用量を正確に、割り当
て、管理し、測定する必要がある。非リアルタイムマル
チタスキングシステムには、それらの割当てメモリ境界
内で個々のプログラムを保持する方法が必要であるのと
同様に、厳格なリアルタイムマルチタスキングシステム
には、プロセッサ使用量割当て内でプログラムを保持す
る方法が必要である。この問題を複雑にしているのは、
所与のタスクまたはプログラムが連続時間ブロックで必
ずしも実行される訳ではないということである。特定の
プログラムの実行期間は、システム割込み処理ルーチン
またはより高い優先プログラム割込みにより割り込まれ
ることがある。1つのタスクそれ自体の最高プロセッサ
サイクル割当てを越えることはないことを正確に保証す
るために、各個別のプログラムにより使用されたプロセ
ッササイクルだけを正確に計算する機構とプロセスが提
供されている。カウンタを実施する論理は、DMAまた
は割込みが発生するとカウンタの動作を止めるように構
成されている。これを解決するのは、ハードウェア論理
と複数のカウンタがプロセッサで実施され、最高オーバ
ーヘッドをもつ管理ルーチンが、各タスク毎に消費され
たマシンサイクルを追跡するハイブリッドシステムであ
る。
【0007】サイクルカウンタは、16ビット減分カウ
ンタなどの16ビットカウンタレジスタであり、次の3
つの状態の1つでカウンタを動作する制御論理が必要で
ある。これら3つの状態とは、カウンタ自体が使用禁止
かつ停止、使用可能かつ停止、および使用可能かつ実行
である。その論理が保証するのは、サイクルカウンタが
使用禁止かつ停止の状態から使用可能かつ実行の状態に
直接変化しないことである。すなわち、実際の計数は、
1つのタスクに対して発生する実際の実行サイクルによ
り制御される。この機構のソフトウェア部分は、サイク
ルカウントレジスタをロードし、使用サイクルと割込み
の場合に残っているサイクルを追跡し、オーバーランを
検出するよう減分カウンタを監視し、より高次のタスク
または割込みが発生するとカウンタレジスタの残りの内
容のセーブと回復を管理する。このソフトウェアによ
り、実行中に、どのプログラムもそれが宣言し指定した
最高サイクルカウント消費を越えることはなくなる。プ
ログラムの割当て最高実行サイクルのカウントと、プロ
グラムがより高次の優先プログラムにより占有されてい
るときは常に実際の使用量のカウントとを行なうソフト
ウェアにより、いくつかのレジスタ値が維持される。
【0008】
【実施例】従来技術の項で引用された参考文献や刊行物
により明らかなように、本分野の当業者は厳格なリアル
タイムプロセッサシステムをよく知っていることを最初
に確認しておく。本発明では、マルチタスキングシステ
ムにおける各タスクは、完了するまで実行されるタスク
により要求されるそれ自体が宣言した最高実行サイクル
カウント制限に応じて保持されると仮定されている。本
発明は、その実行中に各タスクまたはプログラムにより
使用されたプロセッササイクルだけを正確に数えて、コ
ードが実際に実行されていないタスクの実行時間中には
マシンサイクルを数えることはない。たとえば、DMA
またはメモリリフレッシュのためまたは実行する高優先
順位のタスクによるタスクの割込みによって横取りされ
たマシンサイクルは数えられてない。
【0009】本発明のハードウェア部分は、16ビット
レジスタと減分カウンタの周りに集められている。この
ハードウェアには、減分カウンタを動かし、16ビット
レジスタの内容を読み書きし、オーバーラン状態を検出
し、「使用禁止かつ停止」、「使用可能かつ停止」また
は「使用可能かつ実行」として定義された3つの論理状
態の任意のものにおいてカウンタを全体的に動かすため
に必要な制御論理も含まれている。
【0010】図1を参照すると、カウンタレジスタ1の
初期レジスタ内容が16ビットバス2を介して供給され
る。バス2は双方向で、ふつうのマルチプロセッサシス
テムのデータバスである。カウンタ1のレジスタに、線
3を介してプロセッサ回路から実行クロックサイクルパ
ルスが与えられている。通常は、各プロセッサ実行クロ
ックパルスは、カウンタが使用可能かつ実行中に16ビ
ットレジスタカウンタ1の現内容を増分するよう利用さ
れる。カウンタが16進数の「FFFF」に「ロールオ
ーバーする」と、このことが復号論理4で検出され、カ
ウンタ1が使用可能かつ実行中の時に、ゲート5は、エ
ラー状態の検出として本発明のソフトウェアシステム部
分へのサイクルカウンタ割込みを送ることになる。すな
わち、オーバーランが検出されたことになる。
【0011】図1のハードウェアの動作には、バス6に
現われるカウンタアドレスの初期復号が含まれている。
これは、プロセッサシステムのアドレスバスである。復
号が発生するのは、データバス2の内容をレジスタカウ
ンタ1にロードするよう待機しているカウンタアドレス
復号器7においてである。カウンタのアドレスがバス6
で見いだされると、アドレス復号器7はANDゲート8
と9を使用可能にする。このため、線10にデータ書込
みストローブまたは線11にデータ読取りストローブが
あると、線12を介してレジスタ1にデータバス2の現
内容をロードするよう使用許可され、「カウントレジス
タのロードが使用可能になる」。このため、バス2の内
容がレジスタ1にゲートされる。双方向ドライバ14を
介してレジスタカウンタ1の出力端13から現内容を
「読取る」と、レジスタ1からの内容が、ANDゲート
9とデータ読取りストローブ11により制御されている
読取り中にデータバス2に戻される。
【0012】レジスタカウンタ1の状態を制御するため
に、追加論理が図1に示すように統合されている。デー
タをカウンタに書き込むとラッチ15がセットされ、カ
ウンタ使用許可出力16を励起する。カウンタレジスタ
を読み取る場合、出力16は線17を介してリセットさ
れる。使用許可出力16があると、割込みは起こらず、
背景状態にプロセッサが分岐し、(タスクの実行を開始
するのに必要な状態)、ANDゲート18は完全に使用
可能になり、ラッチ19は、カウンタレジスタ1を使用
可能にし実行するよう設定される。前景への分岐が起こ
ると(背景への分岐の逆)、割込みまたはクロック停止
が発生する場合に状況に応じてラッチ18は使用不可能
になる。これにより、インバータ20を介して、AND
ゲート18が使用不可能になり、ラッチ19がリセット
されて、カウンタレジスタ1を停止する。背景制御線2
1と割込み制御線22への分岐により、図示のように必
要な信号がANDゲート18に供給される。
【0013】図1の論理とハードウェアの動作は、サイ
クルカウンタ1は、使用禁止かつ停止状態から使用可能
かつ実行状態に直接変わることはできないようになって
いる。というのは、背景への分岐と割込み状態がないこ
とが両方とも上記のように満たされてなければならない
からである。以前に述べられたように、サイクルカウン
タレジスタ1は、それが走行可能になりデータバス2か
らそれに最初にロードされたカウントを減分するとき
に、実行サイクルをカウントする。読取りがカウンタ1
のレジスタ内容で実行される場合サイクルカウンタは停
止される。カウンタレジスタに新しいロードを書き込む
と、カウンタは使用可能になるが、その動作は始まるこ
とはない。背景モードへのシステムプロセッサの分岐に
より、サイクルレジスタ1のカウントが開始される、た
だしサイクルレジスタが他の条件により使用不可能にな
ってる場合を除く。線22に現われる任意の割込みによ
り、サイクルカウンタは使用禁止にすることなく、動作
が停止される。
【0014】こうした条件により、ハードウェアは、タ
スクが実際に実行中に経過した実行サイクルだけをカウ
ントするよう制御可能になる。サイクルカウンタレジス
タ1が使用可能になり実行中に、その中のカウントレジ
スタは、プロセッササイクルクロックにより線3を介し
てストローブ信号が発信される各マシン実行サイクル毎
に1カウント減分される。プロセッサが、プロセッサの
メモリへのDMAアクセスを可能にするようななんだか
の理由で停止しても、サイクルカウントレジスタ1は減
分されることはない。というのは、線3上のプロセッサ
サイクルクロックはプロセッサが停止しているときには
ストローブ信号を出さないからである。したがって、タ
スクコードが実際に実行されているプロセッササイクル
だけが計数される。カウントが最終的にゼロから16進
数のFFFFに「ロールオーバーすると」、サイクルカ
ウンタハードウェア1は、復号論理4とANDゲート5
を介して、本発明のソフトウェア部分でみられるように
処理される実行プロセッサシステムへの割込みを引き起
こす。カウントレジスタへの書込みにより引き起こされ
る0からFFFFへの遷移では、割込みは発生しない。
【0015】好ましい実施例のソフトウェア部分は図2
乃至4に示されており、ここでは簡単に記載する。図示
の実施例では、完全32ビットサイクルカウントのソフ
トウェアレジスタの内容が備えてあり、本マシンは図1
に示してある32ビットカウンタを実施してないので、
全サイクルカウントは、低位ビットと上位ビットの2つ
の16ビットグループに分けられる。「CYCLES
L」のソフトウェアレジスタは、プログラムまたはタス
クの最高割当てサイクルカウンタの低位16ビットを記
憶し、「CYCLESH」には、プログラムの最高割当
てサイクルカウントの上位16ビットが含まれている。
「PRESENTH」は、図1のカウンタ1が到達した
サイクルカウントの上位16ビットを保持している。シ
ステムの動作は、プロセッサのオペレーティングシステ
ムが実行のためにタスクまたはプログラムを呼び出すと
きに、CYCLESLの内容がカウントレジスタ1にコ
ピーされて、CYCLESHの内容はPRESENTH
のソフトウェアレジスタにコピーされる。したがって、
ソフトウェアとハードウェアによるレジスタの組合せ、
PRESENTHおよびカウントレジスタ1は、この時
点で呼び出されている所定のタスクまたはプログラムの
最高数の割当てプロセッササイクルを保持している。タ
スクが実行されると、カウントレジスタ1はプロセッサ
の各実行サイクル毎に減分される。プログラムが高優先
順位タスクにより占有されている場合、カウントレジス
タ1の現状態は記憶から取り出されて、占有されたプロ
グラムの実行が再開されるときに回復されるようにセー
ブされる。カウントレジスタ1が、ゼロからFFFF
(16進数)にロールオーバするために減分されると、
潜在的な「エラー」がオーバーランの形で検出されたと
きにプログラム制御をオペレーティングシステムに戻す
割込み状態が発生する。オペレーティングシステムは、
そのソフトウェアレジスタPRESENTHの内容を検
査する。その内容が0でなければ、PRESENTHの
内容は1つ減分され、制御が再び割り込まれたプログラ
ムに戻されて、カウントレジスタは再びFFFFから減
分する。サイクルカウンタ1が割込みを引き起こし、P
RESENTHは0になると、プログラムはその最高サ
イクルカウントを越えることになり、適切なエラー報告
と回復動作が取られる。
【0016】上記のシステムで非常に有益である追加機
能を、同じハードウェアとソフトウェアで実施可能であ
る。サイクルアラームサービスは、たとえば、それぞれ
不特定の数のプロセッササイクルを消費する所定のタス
クまたはプログラムにより使用されるように実施可能で
ある。たとえば、プログラムが、望ましい解に収束する
繰返しプロセスまたは他の繰返しアルゴリズムプロセス
を使用する機能を呼び出す。おそらく、繰返し処理は、
その入力データの関数として異なる速度で収束すること
になる。さらに、繰返しが確定された数だけ行なわれる
と、アルゴリズムがどの解に到達するかを考慮し、望ま
しい結果に十分近づいて、代替動作をとることも可能で
ある。こうした場合では、アラームが作成されるまで
に、サイクルアラームサービスは、内容を定期的に読み
取ったり、サイクルカウンタ1を要求されたサイクル数
に事前設定することにより実施可能である。プログラム
は、マシンサイクルの割当てと少ないほうのサイクル数
の要求アラーム状態を備えている。すなわち、十分正確
な解が得ることができるのに必須のサイクルの最高数に
達したことを判定可能である。サイクルアラームサービ
スルーチンは、要求されたアラームサイクル制限に等し
くなるようにサイクルカウンタ1を設定し、割り当てら
れたサイクルの残りを予約位置に入力して、それによ
り、任意の時点で予約されているサイクル数の報告をユ
ーザプログラムに行なう。タスクが追加アラームサイク
ルを完了するか要求する前にサイクルカウンタがゼロに
到達すると、プログラムが割り込まれて、任意の予約サ
イクルがサイクルカウンタ1に入力されて実行が再開さ
れる。
【0017】サイクルカウントサービスは、所定の時点
でどれぐらいのプロセッササイクルが残されているかを
尋ねるためにプログラマタスクにより使用されるサイク
ルカウントサービスも実施可能である。このサービス
は、サイクルカウンタ1の現在の状態を読み、情報を要
求プログラムに戻すだけである。図1の論理により、カ
ウンタが論理により使用不能になる間、レジスタ1から
データを読みだすことが可能になる。
【0018】プロセッサの使用量モニタは同じシステム
を利用して作成することができ、プロセッサシステムの
ローディングの程度を決定する。各プログラムまたはタ
スクがその実行期間中に使用するサイクル数が分かって
いれば、システムプロセッサが使用するサイクルの正確
な数は容易に計算できる。これを実施するために、タス
クがオペレーティングシステムに戻る度に、プロセッサ
使用量管理プログラムがサイクルカウンタの現在の状態
を読み取り、プログラムの全サイクルの割当てからそれ
を差し引き、各タスクにより使用された実際のプロセッ
サ使用量を決定する。これらは、時間経過に応じて他の
タスクの実際のカウントまたは使用量と平均されて、平
均プロセッサ使用量を求める。
【0019】実施例に戻ると、図2、3では、所定のタ
スクが実行を始めるためにプロセッサのオペレーティン
グシステムにより呼び出されると処理がブロック23か
ら始まる。これにより、命令サイクルカウンタとブロッ
ク23の準備フローが開始される。ブロック24では、
オペレーティングシステムは、タスクの制御ブロックと
メモリからの「CYCLESH」内容をPRESENT
Hフィールドにコピーしたり、メモリのフレーム制御ブ
ロックにレジスタする必要がある。これに続いて、ブロ
ック25に示してあるようにプロセッサの制御でオペレ
ーティングシステムの前景への分岐が始まる。これは、
ブロック26と27において続いて発生する臨界動作中
に割込みの発生を阻止する。ブロック26では、フラグ
がプロセッサのメモリのフレーム制御ブロックに設定さ
れて、図1の命令サイクルカウンタ1が現在動作中であ
ることを示す。ブロック27では、CYCLESLがメ
モリのタスク制御ブロックから図1のサイクルカウント
レジスタ1にコピーされて、カウンタ1は次に、開始信
号以外は完全に使用可能になる。開始信号は、もしあれ
ば割込みの発生を同時に可能にする背景状態への分岐を
実行することによりブロック28に到達し、図1のAN
Dゲート18を使用可能にし、カウントレジスタ1のカ
ウント動作が可能になる。タスクコードは、ブロック2
9で実行を初めて、多様なソースから定期的に発生する
仮割込みが発生するまで実行される。これにより、ブロ
ック30に示すようにカウンタが停止する。他のタスク
が実行可能かどうかに関する疑問がブロック31で尋ね
られ、答えが「yes 」の場合、ブロック32でそのタス
クの優先順位が検査されて、それが実行中のタスクより
高位にあるかどうか判定する。他のタスクが走行を希望
しない場合または割込みタスクが実行中のタスクより低
い優先順位を備えている場合、システムはブロック33
に進んで、「背景」に分岐することにより割り込まれた
タスクを再開する。背景では、カウンタ1が、プロセッ
サのオペレーティングシステムに戻ることによりタスク
がブロック35で完了するまでブロック34に示す動作
を再開する。次に、オペレーティングシステムの管理の
下で、カウントレジスタ1の内容を読み取り、上記の記
録保持目的のために、カウンタを停止かつ使用禁止にす
る。これはブロック36と37に示してあり、オペレー
ティングシステムは、動作のためにマルチタスキングシ
ステムで次のタスクを呼び出す。
【0020】ブロック32に戻ると、割込みタスクの優
先順位の方が高い場合には、プロセッサの状態は、ブロ
ック38に示すメモリのタスクのフレーム制御ブロック
(FCB)にセーブされ記憶される。これには図1のレ
ジスタ1からのサイクルカウントの読取りが含まれてい
る。この結果、ブロック39に示すカウンタを使用禁止
にし、カウンタの内容はデータバス2に入力されて、ブ
ロック40に示すメモリのタスクのフレーム制御ブロッ
クにロードする。新しいタスクは、ブロック23ないし
29で管理されたステップと同様のステップにしたがっ
て、ブロック41で起動される。この新しいタスクは、
それが割り込まれるか、終了するかまたはオーバーラン
するまで実行されて、割り込まれたタスクへの帰還は最
終的にはブロック42に示すオペレーティングシステム
により指示される。ブロック43では、プロセッサの状
態は、より高位の優先順位をもつタスクにより占有され
る前にその状態に回復される。注意:「活動フラグ」
は、たとえばサイクルカウンタを使用しないタスクを保
持し、非リアルタイムタスクはサイクルカウンタを使用
しないので、割り込まれたタスクを回復するときにカウ
ンタを使用可能にしない手段が必要である。ブロック4
4では、タスクが占有されているときにサイクルカウン
タが活動状態であるかどうかを判定する。ブロック45
では、カウンタが活動状態でなかった場合、背景への分
岐を介してタスクにジャンプして戻る。カウンタがブロ
ック45で活動状態であった場合、ブロック46で、F
CBにセーブされたサイクルカウントレジスタの内容が
レジスタ1に書き戻されて、カウンタが使用禁止にな
り、図示のようにブロック33に進む。
【0021】したがって、図2、3には、カウンタにロ
ードし、実行中にタスクに割り込み、タスクのフレーム
制御ブロックのカウンタの内容をセーブし、新しいタス
クを起動して、記載のように完了又は割込みまで実行を
続けるという動作の概略が示してある。図4は、図2、
3でも動作する全体的な状態を示す。ただし、タスク
は、カウントレジスタが全Fにロールオーバーするまで
実行を続ける。図4では、ブロック23ないし29は、
サイクルカウントのローディングとフレーム制御ブロッ
クの初期化による任意のタスクの起動に関わる図2、3
に記載のブロックと同じである。したがって、説明は繰
り返さない。
【0022】図4では、活動状態のサイクルカウンタに
よる実行タスクにより、最終的には、サイクルカウンタ
の内容はブロック47に示すようになる。このため、ブ
ロック48においてメモリのFCBからPRESENT
H内容の読取りと、ブロック49においてPRESEN
TH値に残っているゼロ状態の検査とが行なわれる。ゼ
ロが見つかると、ブロック50は、カウンタ内容1がす
べて減分されて、利用できるカウントがPRESENT
Hに残ってないのでそのタスクがマシンサイクルの割当
て最高数をオーバーランしたという事実を示すエラー状
態をオペレーティングシステムに報告する。しかし、P
RESNTHがゼロでない場合、ブロック51はPRE
SENTHカウントを1減分し、ブロック52で、PR
ESENTHの新しい値をフレーム制御ブロックに回復
し、ブロック53に移動して、背景への分岐を再開し、
カウンタを再起動する。次に、実行中のタスクがブロッ
ク54で再開されて、ブロック35ないし37に示すよ
うに完了まで走行したり、レジスタが再びロールオーバ
ーし、上記に記載のようにブロック47ないし53から
の流れが繰り返される。
【0023】特定の例として、システムプロセッサが、
1秒当たり1千万個の命令を実行可能なプロセッサと等
価の、100ナノ秒の命令サイクル実行時間を備えてい
ると仮定する。所定のタスクが、その最高使用量が10
0,000プロセッササイクルでありタスクが絶対的な
厳格な結果を必要とする実行時間が20ミリ秒であると
割り当てられるか又は宣言されると仮定する。したがっ
て、1秒当たり5百万個の命令を処理できるプロセッサ
システムが必要となる。当然、タスクはプロセッサシス
テムの能力の範囲内である。
【0024】タスクのタスク制御ブロックTCBには、
他のものの間で、100,000マシン実行サイクルと
いうタスクの宣言サイクルカウント割当て及び2サイク
ルが含まれている。これら追加された2つのサイクル
は、タスクがオペレーティングシステムに戻るときにプ
ロセッサがサイクルカウンタを止めるのに必要なもので
ある。上記で実施されたカウントは、上位及び下位16
ビットがCYCLESHとCYCLESLと呼ばれる位
置にそれぞれ保持されている32ビットカウントであ
る。20ミリ秒実行期間を要求するタスク用のフレーム
制御ブロックFCBには、他のものの中で、32ビット
カウントの上位および下位16ビットが記憶されるメモ
リの位置が含まれている。それらの位置はPRESEN
THおよびSCYCLCNTとそれぞれ呼ばれる。
【0025】上記の仮定の元では、図1の命令サイクル
カウンタは、図2、3及び/又は図4に示すソフトウェ
アにより以下のように動作する。タスクを呼び出すに
は、オペレーティングシステムは、TCBからのCYC
LESHをFCBで指定されたPRESENTHの位置
にコピーする図2または4のステップ23ないし29を
実行する。サイクルカウンタ1がセットアップされその
タスクが他のタスクまたはソースからの割込みを被るこ
となく起動できるように、プロセッサの「前景」モード
を入力することにより、いかなる割込みも禁止される。
FCBにフラグが設定されて、サイクルカウンタが活動
状態になり、タスクの動作または実行を監視しているこ
とを示す。最後に、TCBからのCYCLESLがカウ
ントレジスタ1にコピーされる。
【0026】この時点では、図1のハードウェアが使用
可能になるが、カウンタは動作していない。背景への分
岐が行なわれてないので、カウンタ1は減分しない。メ
モリのPRESENTH位置が16進数の0001値を
保持し、カウントレジスタ1は16進数の86A2を保
持する。すなわち、一緒にすると、PRESENTHの
内容とカウントレジスタ1の内容が、総配分量100,
002サイクルの32ビット16進数表示を保持する。
カウントは、割込み保護と前景への分岐が落されてタス
クが実行のため呼び出されるときに減分を始める。これ
を実行するためには、オペレーティングシステムは、プ
ロセッサ内で背景モードへの分岐を実行する。分岐目標
はタスクの最初の命令位置である。そのタスクは、実行
を始めて、カウンタ1は、そのタスクが実行中の各実行
サイクル当たり1つづつ減分する。DMA活動または他
の理由でタスク動作から盗まれることがある個々のサイ
クルは、カウントされない。これは、上記の動作を可能
にするために発生するプロセッサ実行サイクルクロック
が停止されるとカウンタが停止されるからである。通常
の動作では、全ゼロから16進数の全Fまでロールオー
バーされるまで、カウンタは減分を続ける。このため、
図1に示すように、復号器4とANDゲート5から命令
サイクルカウンタ割込みが発生する。この結果、一時的
に、カウントレジスタ1は減分を止めて、プログラム実
行が命令サイクルカウンタ割込み処理コードに再び向け
られることになる。このコードは、図4のブロック48
ないし53に示すようにFCBのPRESENTHの内
容を検査する。PRESENTHがゼロまで減分される
と、そのタスクは完全に割当てカウントを使い尽くし
て、適切なエラー処理手順が呼び出される。本例では、
PRESENTHは、0001(16進数)を保持する
ので、そのタスクに割当てサイクルのうち65,534
サイクルが残っていることを示す。PRESENTHで
保持された値はゼロでないので、PRESENTHは1
つ減分し(それにより全ゼロになる)、制御は実行すべ
きタスクに戻る。タスクへの分岐は、全Fからの減分を
再開するためにカウントレジスタを再起動する背景への
分岐により実行される。
【0027】割込みの場合には、最初のタスクが実行中
であり、図1に示す割込みが、制御が特定の割込みコー
ド処理セグメントに再び更けられている間は、カウント
レジスタ1の減分を止めていると仮定する。割込みコー
ドが、他のより高い優先順位のタスクの実行が図2に示
すブロック31ないし46に示すように必要であると判
定するとも仮定する。この場合、カウントレジスタ1の
内容は図2のブロック40に示すFCBのSCYCLC
NT位置に移されることになる。PRESENTHとS
CYCLCNTの組合せは、現32ビットカウント値を
保持し、より高い優先順位のタスクはオペレーティング
システムにより呼び出すことができる。より高位の優先
順位をもつタスクが完了まで走行したりもっと高い優先
順位のタスクによる割込みまで走行するときが、割込み
タスクまたはより高い優先順位のタスクを再開するとき
となる。より高い優先順位の割込みタスクが完了したこ
とにより割り込まれたタスクに戻る場合を考えると、そ
の帰還は図示のように実施される。割り込まれたタスク
に戻る分岐により、背景への分岐がカウントを再開可能
にする場合にカウントレジスタは減分を再開する。カウ
ントレジスタ1は、タスクがオペレーティングシステム
に戻りオペレーティングシステムがカウントレジスタの
読み取りを実行するまで、減分を継続することになる。
このため、レジスタは停止され使用禁止になる。この点
において、PRESENTHの内容とカウントレジスタ
1の組合わせが、そのタスクが宣言された最高サイクル
カウントの残りのサイクル数を保持する。望まれれば、
上述のように、そのタスクが使用した実際のサイクル数
は、タスクが宣言した最高カウントから任意の残りのサ
イクルを引くことで計算できる。
【0028】
【発明の効果】図2、3と図4のソフトウェアルーチン
と共に図1のハードウェア回路を利用すると、オペレー
ティングシステムとプロセッサに入力されるオーバーヘ
ッドが飛躍的に減少し、モニタプログラムの計算及び論
理機能がすべて実施できる。さらに、これらの機能すべ
てを実施するモニタプログラムは、すべてのタスク実行
の後で実行するマシンサイクルの数が必要なので、オー
バーヘッドは許されない。割込みなどで呼び出されるだ
けの最小のソフトウェアルーチンとハードウェアの組合
わせが唯一の解である。図示のように適切な制御論理に
より、この解法を用いれば、その実際の実行中にタスク
の利用率が正確に測定できる。どんな種類のマルチタス
キングシステムでもオーバーランの問題は重要である。
今日の理論的な解法は、本発明の機能が利用されなかっ
たために、適切である。本発明は、特定のオペレーティ
ングシステムまたはプロセッサファミリーから独立して
おり、それが、マルチメディアアプリケーションにおけ
る信号プロセッサで発生するもののようなマルチタスキ
ングの厳格なリアルタイム環境において本発明の利点は
大いに発揮できるが、本発明は同様に、プロセッサの利
用率の正確な測定、タスクオーバーランの検出などが望
ましいときはいつでも、マルチタスクモードの大型コン
ピュータのオペレーティングシステムと様々なもっと小
さなシステムにも適用できる。
【図面の簡単な説明】
【図1】好ましい実施例のハードウェア部分のハードウ
ェア論理と減分カウンタを概略的に示す図。
【図2】他のタスクが第1のタスクの実行中にその第1
のタスクの動作に割り込む状態を表す、本発明のソフト
ウェア部分の好ましい実施例の処理の流れ図。
【図3】他のタスクが第1のタスクの実行中にその第1
のタスクの動作に割り込む状態を表す、本発明のソフト
ウェア部分の好ましい実施例の処理の流れ図。
【図4】オーバーランタスクの実行中に検出と管理を示
すソフトウェアの流れ図。
【符号の説明】
1 レジスタカウンタ 4 復号論理 7 カウンタアドレス復号器 8、9、18 ANDゲート 15、19 ラッチ 20 インバータ

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】マルチタスキングプログラム実行システム
    において、 タスクが実行中に発生するプロセッサ実行クロックサイ
    クルだけを計数するステップと、 前記計数値が所定の値に達するといつもプロセッサ実行
    割込みを生成するステップと、 プロセッサ実行割込みが発生するときは常に、前記計数
    を停止するステップと、を備えていることを特徴とする
    実行タスクのオーバーラン状態を監視する方法。
  2. 【請求項2】プロセッサが前記タスクの実行を再開する
    ときは常に前記計数を再開するステップをさらに備えた
    請求項1記載の方法。
  3. 【請求項3】前記プロセッサ実行割込みを検査するステ
    ップと、 前記割込みがより高い優先順位をもつタスクのためであ
    る場合は、前記計数で達した計数値を記憶するステップ
    と、 前記割込みがより高い優先順位をもつタスクのためでな
    い場合は、前記計数を再開するステップとをさらに備え
    た請求項1又は2記載の方法。
  4. 【請求項4】各タスクに対して、プロセッサの実行サイ
    クルカウント制限を確立するステップと、 前記計数ステップで獲得された前記計数値と前記カウン
    ト制限を比較するステップと、 前記タスクサイクルカウント制限に到達してない場合
    は、前記計数を継続するが、前記サイクルカウント制限
    に到達している場合は、前記タスクの実行を終了するス
    テップとをさらに備えた請求項1または2記載の方法。
  5. 【請求項5】前記計数ステップから発生した前記計数値
    を読み取るステップと、 前記読取りが発生するときは常に前記計数を停止するス
    テップと、をさらに備えた請求項1または2記載の方
    法。
  6. 【請求項6】前記読取りが発生するときは常に前記カウ
    ンタを使用禁止にするステップをさらに備えた請求項5
    記載の方法。
  7. 【請求項7】実行中の前記タスクが完了するときは常
    に、前記読取りが発生する請求項6記載の方法。
  8. 【請求項8】マルチタスキングプログラム実行システム
    において、 実行する各タスクに対して、プロセッサのサイクルカウ
    ント制限を確立するステップと、 前記サイクルカウント制限をカウンタに書き込むステッ
    プと、 前記タスクが前記プロセッサで実行中にプロセッサ実行
    クロックサイクルを計数するステップと、 前記カウントが前記カウンタから読み取られるときは常
    に、前記計数を使用禁止にし停止するステップと、 ある値が前記カウンタに書き込まれるときは常に、前記
    計数を開始しないが、使用可能にするステップと、 前記実行システムが割込みを受けるときは常に、前記計
    数を使用禁止にしないが停止するステップと、 前記実行システムが前記タスクの実行を開始するときは
    常に前記計数を開始し、そうでない場合、計数が使用禁
    止になるステップと、 前記サイクルカウント制限に達するときは常に、割込み
    を生成するステップと、を備えていることを特徴とする
    タスク実行サイクルオーバーランを監視し制御する方
    法。
  9. 【請求項9】マルチタスキングプロセッサシステムにお
    いて、 プロセッサ実行クロックサイクルを計数する計数手段
    と、 前記計数手段を制御するために前記計数手段に接続され
    た論理手段と、を備え、 前記論理手段は、前記計数手段の計数値が読み取られる
    ときは常に前記計数手段を使用禁止にして停止し、初期
    計数値が前記計数手段に書き込まれるときは常に前記計
    数手段を使用可能にするが起動しないで、前記プロセッ
    サがタスクの実行を開始し前記計数手段が使用禁止でな
    いときは常に前記計数手段を開始し、さらに、 プロセッサシステム割込みまたはクロック停止が発生す
    るときは常に前記計数を停止するが前記計数手段を使用
    禁止にしない、ことを特徴とするタスク実行サイクルオ
    ーバーランを検出する装置。
  10. 【請求項10】前記計数手段が所定の値に達するときは
    常にプロセッサシステム割込みを生成する手段をさらに
    備えた請求項9記載の装置。
JP4212852A 1991-09-26 1992-08-10 タスクのオ―バ―ラン状態を監視する方法及びタスク実行サイクルのオ―バ―ランを検出する装置 Expired - Lifetime JP2520544B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US76649091A 1991-09-26 1991-09-26
US766490 1991-09-26

Publications (2)

Publication Number Publication Date
JPH07182184A true JPH07182184A (ja) 1995-07-21
JP2520544B2 JP2520544B2 (ja) 1996-07-31

Family

ID=25076588

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4212852A Expired - Lifetime JP2520544B2 (ja) 1991-09-26 1992-08-10 タスクのオ―バ―ラン状態を監視する方法及びタスク実行サイクルのオ―バ―ランを検出する装置

Country Status (4)

Country Link
US (1) US6085218A (ja)
EP (1) EP0534884B1 (ja)
JP (1) JP2520544B2 (ja)
DE (1) DE69224251T2 (ja)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE59310052D1 (de) * 1993-11-26 2000-07-06 Siemens Ag Recheneinheit mit mehreren ausführbaren Tasks
US6317774B1 (en) * 1997-01-09 2001-11-13 Microsoft Corporation Providing predictable scheduling of programs using a repeating precomputed schedule
JPH10198583A (ja) * 1997-01-10 1998-07-31 Nec Corp 空走プロセスの検出と処置方式及び方法
DE19707454A1 (de) * 1997-02-25 1998-08-27 Bosch Gmbh Robert Verfahren und signalverarbeitender Prozessor mit Kontrolle der Bearbeitungszeit
CN1113289C (zh) * 1997-03-04 2003-07-02 松下电器产业株式会社 能执行多异步运行任务中的异步事件任务的处理器
US5978867A (en) * 1997-08-21 1999-11-02 International Business Machines Corporation System for counting clock cycles stolen from a data processor and providing the count value to a second processor accessing the data processor cycle resources
US6986141B1 (en) * 1998-03-10 2006-01-10 Agere Systems Inc. Context controller having instruction-based time slice task switching capability and processor employing the same
JP2000010800A (ja) * 1998-06-19 2000-01-14 Toshiba Corp 計算機システムに於けるスレッド制御装置、及び同システムに於けるスレッド制御方法
US7451448B1 (en) 1998-08-28 2008-11-11 Oracle International Corporation Methods for selectively quiescing a computer system
US7017156B1 (en) 1998-08-28 2006-03-21 Oracle International Corporation System for computing an estimate execution time by totaling the time value base on an architecture or a software operating environment
US7526767B1 (en) * 1998-08-28 2009-04-28 Oracle International Corporation Methods for automatic group switching according to a resource plan
US6535905B1 (en) * 1999-04-29 2003-03-18 Intel Corporation Method and apparatus for thread switching within a multithreaded processor
US6496925B1 (en) 1999-12-09 2002-12-17 Intel Corporation Method and apparatus for processing an event occurrence within a multithreaded processor
US6990669B1 (en) * 2000-03-21 2006-01-24 Microsoft Corporation Real-time scheduler
US7856633B1 (en) 2000-03-24 2010-12-21 Intel Corporation LRU cache replacement for a partitioned set associative cache
JP2004521427A (ja) * 2001-06-05 2004-07-15 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ タスクの進行を評価する方法及びシステム
US7155722B1 (en) * 2001-07-10 2006-12-26 Cisco Technology, Inc. System and method for process load balancing in a multi-processor environment
DE10206865C1 (de) * 2002-02-18 2003-05-15 Daimler Chrysler Ag Reaktionszeit-Beschränkung eines Software-Prozesses
US7278043B2 (en) * 2002-03-06 2007-10-02 Qualcomm Incorporated System, method, and apparatus for overload detection in real-time data processing applications
DE10243856B4 (de) 2002-09-20 2004-09-30 Siemens Ag Regler und Verfahren zum Betreiben eines Reglers
US7340740B2 (en) * 2003-04-22 2008-03-04 International Business Machines Corporation Cooperatively multitasking in an interrupt free computing environment
CN100470498C (zh) * 2003-08-27 2009-03-18 皇家飞利浦电子股份有限公司 用于支撑和监视微控制器的电路装置和方法
JP2005301812A (ja) * 2004-04-14 2005-10-27 Hitachi Ltd デジタル制御装置およびこれを用いたエンジン制御装置
US7748003B2 (en) * 2004-12-20 2010-06-29 International Business Machines Corporation Hard real-time response
US7774784B2 (en) * 2005-03-17 2010-08-10 Microsoft Corporation Determining an actual amount of time a processor consumes in executing a portion of code
US7466715B2 (en) * 2005-03-28 2008-12-16 International Business Machines Corporation Flexible control block format for frame description and management
US7734833B2 (en) * 2005-09-08 2010-06-08 International Business Machines Corporation Method for scheduling operations called by a task on a real-time or non-real time processor
US8510741B2 (en) * 2007-03-28 2013-08-13 Massachusetts Institute Of Technology Computing the processor desires of jobs in an adaptively parallel scheduling environment
DE102007026982B4 (de) * 2007-06-07 2009-04-02 Fachhochschule Nordhausen Prozessor, programmgesteuerte Einheit und Verfahren zur Regelung eines Prozessortaktes
US8713535B2 (en) * 2008-06-30 2014-04-29 Microsoft Corporation Reliable and accurate usage detection of a software application
EP2141643A1 (en) 2008-07-04 2010-01-06 Koninklijke KPN N.V. Software usage controlled by CPU utilization
US9459890B2 (en) 2008-07-10 2016-10-04 Mentor Graphics Corporation Controlling real time during embedded system development
WO2012001835A1 (ja) * 2010-07-02 2012-01-05 パナソニック株式会社 マルチプロセッサシステム
JP5193327B2 (ja) * 2011-02-28 2013-05-08 シャープ株式会社 画像形成装置
WO2015173533A1 (en) 2014-05-11 2015-11-19 Safetty Systems Ltd. A monitoring unit as well as method for predicting abnormal operation of time-triggered computer systems
US10552215B1 (en) * 2017-08-05 2020-02-04 Jia Xu System and method of handling real-time process overruns on a multiprocessor
US11922161B2 (en) 2022-03-07 2024-03-05 Bank Of America Corporation Scheduling a pausable automated process in a computer network
US11792135B2 (en) 2022-03-07 2023-10-17 Bank Of America Corporation Automated process scheduling in a computer network

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58191045A (ja) * 1982-04-30 1983-11-08 Fujitsu Ltd 実行時間管理装置
JPH01154237A (ja) * 1987-12-10 1989-06-16 Matsushita Electric Ind Co Ltd 時分割タスク実行装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3648253A (en) * 1969-12-10 1972-03-07 Ibm Program scheduler for processing systems
US3996567A (en) * 1972-05-23 1976-12-07 Telefonaktiebolaget L M Ericsson Apparatus for indicating abnormal program execution in a process controlling computer operating in real time on different priority levels
FR2253432A5 (ja) * 1973-11-30 1975-06-27 Honeywell Bull Soc Ind
US4954948A (en) * 1986-12-29 1990-09-04 Motorola, Inc. Microprocessor operating system for sequentially executing subtasks
JP2675779B2 (ja) * 1987-01-12 1997-11-12 沖電気工業株式会社 命令解読装置
US5193189A (en) * 1987-10-07 1993-03-09 Allen-Bradley Company, Inc. Programmable controller with multiple priority level task processing
US5012435A (en) * 1988-11-17 1991-04-30 International Business Machines Corporation Multiple event timer circuit
US4965717A (en) * 1988-12-09 1990-10-23 Tandem Computers Incorporated Multiple processor system having shared memory with private-write capability
US5210872A (en) * 1991-06-28 1993-05-11 Texas Instruments Inc. Critical task scheduling for real-time systems

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58191045A (ja) * 1982-04-30 1983-11-08 Fujitsu Ltd 実行時間管理装置
JPH01154237A (ja) * 1987-12-10 1989-06-16 Matsushita Electric Ind Co Ltd 時分割タスク実行装置

Also Published As

Publication number Publication date
US6085218A (en) 2000-07-04
DE69224251T2 (de) 1998-08-13
EP0534884B1 (en) 1998-01-28
JP2520544B2 (ja) 1996-07-31
EP0534884A1 (en) 1993-03-31
DE69224251D1 (de) 1998-03-05

Similar Documents

Publication Publication Date Title
JP2520544B2 (ja) タスクのオ―バ―ラン状態を監視する方法及びタスク実行サイクルのオ―バ―ランを検出する装置
Haban et al. Application of real-time monitoring to scheduling tasks with random execution times
US4809168A (en) Passive serialization in a multitasking environment
KR100934533B1 (ko) 연산 처리 시스템, 컴퓨터 시스템 상에서의 태스크 제어 방법, 및 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
US8370841B2 (en) Optimizing deterministic event record and replay operations
JP3921447B2 (ja) エラーを抑制して制御・コマンド型のマルチタスクアプリケーションを決定論的に実時間で実行するセキュリティ方法
JP5505914B2 (ja) 単一プロセッサまたはマルチプロセッサ・コンピュータ・システムにおけるマルチタスク・アプリケーションのロギングおよび再生を最適化する方法
US5440750A (en) Information processing system capable of executing a single instruction for watching and waiting for writing of information for synchronization by another processor
US5920689A (en) System and method for low overhead, high precision performance measurements using state transitions
US20020004966A1 (en) Painting apparatus
US9632842B2 (en) Exclusive access control method prohibiting attempt to access a shared resource based on average number of attempts and predetermined threshold
JPH04137046A (ja) 電子計算機のオペレーティングシステム
CN108885559B (zh) 在多个处理器之间快速转移工作负载
US7043729B2 (en) Reducing interrupt latency while polling
US11061730B2 (en) Efficient scheduling for hyper-threaded CPUs using memory monitoring
WO2003040948A1 (fr) Ordinateur et procede de commande
JP3598282B2 (ja) コンピュータ、その制御方法及びその制御方法を記録した記録媒体
US7603673B2 (en) Method and system for reducing context switch times
JPH06274354A (ja) 破壊的なハードウェア動作を制御する方法及びシステム
CN115098230A (zh) 管理线程的方法及装置
JP2004192052A (ja) ソフトウェア処理方法およびソフトウェア処理システム
JPH0245838A (ja) プログラム実行状態監視方法
Harbour et al. Implementing and using execution time clocks in Ada hard real-time applications
O'Neil et al. Towards predictable transaction executions in real-time database systems
US20230305872A1 (en) Efficient central processing unit overcommit for virtual machines with symmetric multi-processing