JPH10116203A - コンピュータ装置 - Google Patents

コンピュータ装置

Info

Publication number
JPH10116203A
JPH10116203A JP27073796A JP27073796A JPH10116203A JP H10116203 A JPH10116203 A JP H10116203A JP 27073796 A JP27073796 A JP 27073796A JP 27073796 A JP27073796 A JP 27073796A JP H10116203 A JPH10116203 A JP H10116203A
Authority
JP
Japan
Prior art keywords
wake
periodic
cycle
periodic wake
time
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
JP27073796A
Other languages
English (en)
Inventor
Takeshi Marubayashi
健 丸林
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP27073796A priority Critical patent/JPH10116203A/ja
Publication of JPH10116203A publication Critical patent/JPH10116203A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 リアルタイム制御部側におけるCPUリソー
スの使用時間が所定時間経過した場合でも、重要度の高
い周期起床プロセスを実行する。 【解決手段】 周期起床プロセス54aはフラグ等によ
ってハードリアルタイムと指定されており、周期起床プ
ロセス54bはソフトリアルタイムと指定する。する
と、CPUリソース使用権監視手段53によってリアル
タイム制御部5におけるCPUリソース1の使用時間が
所定時間以上経過したものと判断された場合でも、第2
のスケジューリング手段52は、周期起床プロセス54
aの場合には、CPUリソース1をPC−OS2へ戻さ
ずに当該周期起床プロセス54aを周期実行する一方、
周期起床プロセス54bの場合には、CPUリソース1
をPC−OS2へ戻して周期起床プロセス54bを周期
実行しないようにする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、オペレーティング
システム上で実行されるアプリケーションプログラム等
の通常プロセスと、ドライバ中に組み込まれて所定周期
で起床されて実行される制御プログラマブル等の周期起
床プロセスとを実行するためCPUリソースの使用をス
ケジューリングするコンンピュータ装置に関し、特に、
汎用パーソナルコンピュータ装置のオペレーティングシ
ステム(以下、「オペレーティングシステム」とい
う。)のドライバレベルで、リアルタイム応答性の高い
周期起床プロセスを確実に実行することのできるコンピ
ュータ装置に関する。
【0002】
【従来の技術】本出願人は、先に、周期起床プロセスを
実行するリアルタイム制御部を採用したコンピュータ装
置の発明(特願平8−177898号)について出願し
ている。尚、この従来の発明は本出願時には未公開な内
容である。
【0003】この出願に係るコンピュータ装置は、通常
は、通常プロセススケジューリング手段としての第1の
スケジューリング手段によるスケジューリングによって
オペレーティングシステム上で各種アプリケーションプ
ロセス等のPCプロセスを実行するが、外部の周期割込
デバイスからの周期割込み等があり、周期起床プロセス
スケジューリング手段としての第2のスケジュール手段
が所定条件を満足したものと判断した場合には、周期起
床プロセスを順次実行するように動作する。その際、周
期起床プロセスによるCPUリソースの使用時間を計測
するCPUリソース使用権監視手段によって強制終了フ
ラグ等がセットされている場合には、周期起床プロセス
によるCPUの使用時間が所定時間を経過したというこ
となので、CPUリソースを強制的にオペレーティング
システムへ戻して、周期起床プロセスを実行しないよう
にしている。
【0004】尚、特開平6−67899号公報や、特開
平6−149599号公報および特開平7−28190
8号公報には、タスクスケジューリングにおいて一定周
期のインターバル割込みでタスクスケジューラが複数タ
スクを周期的に実行する発明が記載されているが、これ
らの発明では、その複数タスクをオペレーティングシス
テム上で実行される各種アプリケーションプロセス等の
PCプロセスと、ドライバ中に組み込まれて周期的に実
行される周期起床プロセスとに区別していないので、本
願発明とは関係がないものである。
【0005】
【発明が解決しようとする課題】しかし、本出願人が先
に出願した上述のコンピュータ装置では、周期起床プロ
セスを実行するリアルタイム制御部におけるCPUリソ
ースの使用時間をCPUリソース使用権監視手段が監視
して、その使用時間が所定時間経過した場合には、常に
CPUリソースをオペレーティングシステム上における
PCプロセスの実行へと強制的に戻すようにしているた
め、このような場合には重要度の高い周期起床プロセス
が実行できない、という問題があった。
【0006】そこで、本発明はこのような問題点に鑑み
てなされたもので、オペレーティングシステム上で実行
される通常プロセスと、ドライバとして起動されるリア
ルタイム制御部上で周期的に実行される周期起床プロセ
スとを共存させたCPUリソース使用時間に制約のある
環境において、リアルタイム制御部側におけるCPUリ
ソース時間が所定時間経過した場合には、CPUリソー
スをオペレーティングシステム上へと常に強制的に戻す
ようにするのではなく、このような場合でも、各周期起
床プロセスの処理内容に応じて、重要度の高い周期起床
プロセスを実行する等の適切な対応をとることのできる
コンピュータ装置を提供することを目的とする。
【0007】
【課題を解決するための手段】上記課題を解決するた
め、本発明では、オペレーティングシステム上で実行さ
れる通常プロセスと、ドライバ中に組み込まれて所定の
起床周期で起床して実行される周期起床プロセスと、上
記周期起床プロセスを所定の起床周期で起床させて実行
するためにCPUリソースの使用をスケジューリングす
る周期起床プロセススケジューリング手段と、上記周期
起床プロセスの実行による上記CPUリソースの使用時
間を計測してその使用時間が所定時間を超えた場合に
は、上記CPUリソースの使用を上記周期起床プロセス
の実行から上記通常プロセスの実行へ移行することを上
記周期起床プロセススケジューリング手段に指示するC
PUリソース使用権監視手段と、を有するコンピュータ
装置において、上記CPUリソース使用権監視手段によ
って上記CPUリソースの使用を上記周期起床プロセス
の実行から上記通常プロセスの実行へ移行することが上
記周期起床プロセススケジューリング手段に指示されて
いる場合でも実行するか否かを指定するハード/ソフト
リアルタイム指定情報を上記周期起床プロセスに設定
し、上記周期起床プロセススケジューリング手段は、上
記周期起床プロセスを所定の起床周期で起床させて上記
CPUリソースに実行させる場合には、その周期起床プ
ロセスに設定された上記ハード/ソフトリアルタイム指
定情報を参照してハードリアルタイムと指定されている
場合には、上記CPUリソース使用権監視手段によって
上記周期起床プロセスの実行から上記通常プロセスの実
行へと上記CPUリソースの使用が指示されている場合
でも、上記CPUリソースに当該周期起床プロセスを実
行させるものである。
【0008】また、本発明では、周期起床プロセスが複
数あり、周期起床プロセススケジューリング手段はその
複数の周期起床プロセスを所定の起床周期で実行するた
めにCPUリソースの使用をスケジューリングすると共
に、通常プロセスを実行するためにCPUリソースの使
用をスケジューリングする通常プロセススケジューリン
グ手段をさらに具備し、上記周期起床プロセススケジュ
ーリング手段は、CPUリソース使用権監視手段からC
PUリソースの使用を上記周期起床プロセスの実行から
上記通常プロセスの実行へ移行する指示があった場合に
は、上記通常プロセススケジューリング手段にCPUリ
ソースを開放するものである。
【0009】また、本発明では、周期起床プロセススケ
ジューリング手段は、外部から周期割込みがある毎に全
ての周期起床プロセスの起床周期をカウントし、そのカ
ウント値に基づいて各周期起床プロセスをそれぞれの所
定の起床周期で起床させてCPUリソースに実行させる
ものである。
【0010】また、本発明では、さらに、ハード/ソフ
トリアルタイム指定情報によってソフトリアルタイムと
指定された周期起床プロセスに、その起床周期のときに
CPUリソース使用権監視手段によって起床できなかっ
た場合には、以後その起床周期によらず当該周期起床プ
ロセスが実行できるまでその実行を試みるか否かを指定
する早期実行プロセス指定情報を設定し、周期起床プロ
セススケジューリング手段は、ハード/ソフトリアルタ
イム指定情報を参照して実行すべき周期起床プロセスが
ハードリアルタイム指定のものであるか否かを判断した
際、実行すべき周期起床プロセスがソフトリアルタイム
指定のものであり、且つ、CPUリソース使用権監視手
段によって周期起床プロセスの実行から通常プロセスの
実行へとCPUリソースの使用が指示されている場合に
は、さらに、当該周期起床プロセスに上記早期実行プロ
セス指定情報が設定されているか否かを判断し、上記早
期実行プロセス指定情報が設定されている場合には、以
後その起床周期によらず当該周期起床プロセスが実行で
きるまでその実行を試みるものである。
【0011】また、本発明では、周期起床プロセススケ
ジューリング手段は、さらに、周期起床プロセスに早期
実行プロセス指定情報が設定されているか否かを判断し
て、上記早期実行プロセス指定情報が設定されている場
合には、以後その起床周期によらず当該周期起床プロセ
スの実行を試み実行できた場合でも、その起床周期の最
初の基点を以後その起床周期の基点とするものである。
【0012】また、本発明では、周期起床プロセススケ
ジューリング手段は、さらに、当該周期起床プロセスに
早期実行プロセス指定情報が設定されているか否かを判
断し、上記早期実行プロセス指定情報が設定されている
場合には、以後その起床周期によらず当該周期起床プロ
セスの実行を試み実行できた場合に、その実行時を以後
その起床周期の基点とするものである。
【0013】また、本発明では、さらに、早期実行プロ
セス指定情報が設定されたソフトリアルタイム指定の周
期起床プロセスに、絶対周期で実行するか、あるいは相
対周期で実行するかの別を指定する周期特定指定情報を
設定し、周期起床プロセススケジューリング手段は、さ
らに、早期実行プロセス指定情報が設定されており、以
後その起床周期によらず当該周期起床プロセスの実行を
試み実行できた場合には、上記周期特定指定情報を参照
して、絶対周期での実行が指定されている場合にはその
起床周期の最初の基点を以後その起床周期の基点とする
一方、相対周期での実行が指定されている場合にはその
実行時を以後その起床周期の基点とするものである。
【0014】また、本発明では、さらに、ソフトリアル
タイム指定の周期起床プロセスに、その起床周期のとき
にCPUリソース使用権監視手段によって起床できなか
った場合には、その起床不可回数を示す起床不可カウン
タを設け、周期起床プロセススケジューリング手段は、
さらに、実行すべき周期起床プロセスがソフトリアルタ
イムに指定されており、且つ、その起床周期のときにC
PUリソース使用権監視手段によって起床できなかった
場合には、当該起床プロセスの上記起床不可カウンタを
インクリメントするものである。
【0015】また、本発明では、周期起床プロセススケ
ジューリング手段は、さらに、実行すべき周期起床プロ
セスがソフトリアルタイムに指定されており、且つ、そ
の起床周期のときにCPUリソース使用権監視手段によ
って起床できなかった場合には、当該周期起床プロセス
の起床周期を伸長するものである。
【0016】また、本発明では、周期起床プロセススケ
ジューリング手段は、実行すべき周期起床プロセスがソ
フトリアルタイムに指定されており、且つ、その起床周
期のときにCPUリソース使用権監視手段によって起床
できなかった場合には、さらに、当該周期起床プロセス
の起床不可カウンタを参照して、その起床不可カウンタ
の値が所定値以上の場合のみ、当該周期起床プロセスの
起床周期を伸長するものである。
【0017】また、本発明では、さらに、ソフトリアル
タイム指定の周期起床プロセスに、その起床周期のとき
にCPUリソース使用権監視手段によって起床できなか
った場合に当該周期起床プロセスの起床周期を伸長する
か否かを指定する伸長操作指定情報を設定し、周期起床
プロセススケジューリング手段は、さらに、実行すべき
周期起床プロセスがソフトリアルタイム指定のものであ
り、且つ、その起床周期のときにCPUリソース使用権
監視手段によって起床できなかった場合には、上記伸長
操作指定情報を参照して伸長操作が指定されている場合
のみ、当該周期起床プロセスの起床周期を伸長するもの
である。
【0018】
【発明の実施の形態】次に、本発明に係るコンピュータ
装置の実施の形態1〜7を図面を参照して説明する。
【0019】実施の形態1.図1に、本発明に係るコン
ピュータ装置の実施の形態1のパーソナルコンピュータ
(PC)の構成を示す。図1において、1はCPU等の
プロセッサや当該プロセッサが使用するメモリ領域等で
あるCPUリソース、2はMS−WINDOWS等のパ
ーソナルコンピュータ用のオペレーティングシステム
(PC−OS)、3a〜3cはオペレーティングシステ
ム2上で実行されるワードプロセッサや表計算等の各種
アプリケーションプログラムの通常プロセスである複数
(便宜上、3つとする。)のPCプロセス、4はオペレ
ーティングシステム2上においてPCプロセス3a〜3
cを実行する際の上記CPUリソース1の使用をスケジ
ューリングする通常プロセススケジューリング手段とし
ての第1のスケジューリング手段である。
【0020】また、5はドライバ中に組み込まれオペレ
ーティングシステム2のドライバとして起動されるリア
ルタイム制御部、6はリアルタイム制御部5をドライバ
中にインストールするためのオペレーティングシステム
2のドライバ組み込み部であり、リアルタイム制御部5
は、周期起床プロセス管理テーブル51と、第2のスケ
ジューリング手段52と、CPUリソース使用権監視手
段53と、複数(便宜上、3つとする。)の周期起床プ
ロセス54a〜54cとを有する。
【0021】ここで、周期起床プロセス管理テーブル5
1は、周期起床プロセス54a〜54cの起床動作を管
理するもので、詳細な内容は後述の図2に示すものであ
る。また、第2のスケジューリング手段52は、周期起
床プロセススケジューリング手段として機能するもの
で、周期起床プロセス管理テーブル51を参照して周期
起床プロセス54a〜54cを起床して実行する際にC
PUリソース1の割当て等のスケジューリングするもの
である。また、CPUリソース使用権監視手段53は、
第2のスケジュール手段2がCPUリソース1をリアル
タイム制御部5で使用している時間を計測して、その計
測時間が所定時間を経過した場合にはCPUリソース1
を強制的にオペレーティングシステム2上におけるPC
プロセス3a〜3cの実行へ戻すように第2のスケジュ
ーリング手段52に指示して、CPUリソース1を第2
のスケジューリング手段52から第1のスケジューリン
グ手段4へ開放するものである。また、周期起床プロセ
ス54a〜54cは、それぞれの起床周期に基づいて周
期的に起床されて実行され被制御機器(図示せず。)を
制御するユーザ設定の制御プログラム等のプロセスであ
る。
【0022】図2に、この実施の形態1の周期起床プロ
セス管理テーブル51の内容を示す。この周期起床プロ
セス管理テーブル51は、この図に示すように、周期起
床プロセス54a〜54c毎に各種情報が設定されて構
成されており、1aは実行すべき各周期起床プロセス5
4a〜54cの先頭アドレスが格納される先頭アドレス
指定領域、1bは各周期起床プロセス54a〜54cの
起床周期、1cは初期値を起床周期1bとして周期割込
デバイス(図示せず。)からの割込みにより第2のスケ
ジューリング手段2が呼び出される毎にデクリメントさ
れる周期カウンタ1cである。尚、この実施の形態1で
は、その起床周期1bの基本単位を外部端末である周期
割込デバイス(図示せず。)等からの割込み入力回数と
する。また、1dは各周期起床プロセス54a〜54c
毎にハードリアルタイム(H)、すなわちCPUリソー
ス使用権監視手段53によってリアルタイム制御部5に
よるCPUリソース1の使用時間が所定時間を超えてい
る場合でも実行するか、あるいはソフトリアルタイム
(S)、すなわちCPUリソース使用権監視手段53に
よってリアルタイム制御部5によるCPUリソース1の
使用時間が所定時間を超えた場合には実行しないかを
“1”、“0”によりユーザが指定するためのハード/
ソフトリアルタイム(H/S)指定フラグである。
【0023】次に、このように構成されたこの実施の形
態1における第2のスケジューリング手段52の動作
を、図面を参照して説明する。
【0024】図3に、この実施の形態1における第2の
スケジューリング手段52のスケジューリング処理を示
す。まず、外部の周期割込デバイス(図示せず。)から
の周期割込みがあり、第2のスケジューリング手段2が
呼び出されると(ステップS110“YES”)、第2
のスケジュール手段2は、まず図2に示す周期起床プロ
セス管理テーブル51を参照して、その先頭アドレス指
定領域1aに先頭アドレスが格納された全ての周期起床
プロセス54a〜54cの周期カウンタ1cをデクリメ
ントする(ステップS120)。尚、各周期起床プロセ
ス54a〜54cの周期カウンタ1cには、最初、初期
値としてそれぞれの起床周期1bの値が設定されている
ものとする。
【0025】次に、周期起床プロセス管理テーブル51
の先頭アドレス指定領域1aに先頭アドレスが格納され
た周期起床プロセス54a〜54cに1つずつ注目する
必要があるので、まずは今回の周期割込みの際に全ての
周期起床プロセス54a〜54cに注目したか否かを判
断する(ステップS125)。尚、周期起床プロセス5
4a〜54cに1つずつ注目する順序としては、例えば
周期起床プロセス管理テーブル51の上から下、すなわ
ち周期起床プロセス54a、周期起床プロセス54b、
周期起床プロセス54cの順に注目するものとする。こ
こで、全ての周期起床プロセス54a〜54cに注目し
ていないと判断した場合には(ステップS125“N
O”)、続いて次の周期起床プロセスに注目するように
する(ステップS130)。ただし、初めて周期起床プ
ロセスに注目する場合には、次の周期起床プロセスと
は、最初の周期起床プロセス、すなわち例えば図2に示
す周期起床プロセス管理テーブル51を上の周期起床プ
ロセスから順に注目していくものとすれば、最上の周期
起床プロセス54aのことになる。
【0026】次に、注目した当該注目周期起床プロセス
の周期カウンタ1cの値が0であるか否かを判断し(ス
テップS135)、当該注目周期起床プロセスの周期カ
ウンタ1cの値が0でない場合には(ステップS135
“NO”)、当該注目周期起床プロセスの起床周期、す
なわち周期起床タイミングが来ていないことを示してい
るため、周期起床プロセス管理テーブル51上の次の周
期起床プロセスに注目するために上記ステップS125
の処理へ戻る。
【0027】一方、当該注目周期起床プロセスの周期カ
ウンタ1cの値が0である場合には(ステップS135
“YES”)、当該注目周期起床プロセスの周期起床タ
イミングが来たことを示しているため、まずは、その周
期カウンタ1cの値をその起床周期1bの値に再設定し
(ステップS140)、続いて周期起床プロセス管理テ
ーブル51を参照して、当該注目周期起床プロセス54
a等のハード/ソフトリアルタイム指定フラグが“0”
に設定されている否かを判断する(ステップS15
0)。ここで、周期起床プロセス54b,54cの場合
のように(図2参照)、当該注目周期起床プロセスにハ
ード/ソフトリアルタイム指定フラグが“0”に設定さ
れている場合には(ステップS150“YES”)、当
該周期起床プロセスがソフトリアルタイムの指定である
ということなので、続いてリアルタイム制御部5におけ
るCPUリソース1の使用終了を示す強制終了フラグが
CPUリソース使用権監視手段53によってセットされ
ているか否かを判断する(ステップS160)。そし
て、CPUリソース使用権監視手段53によって強制終
了フラグがセットされている場合には(ステップS16
0“YES”)、周期起床プロセスがソフトリアルタイ
ムの指定であり、しかもCPUリソース1を強制的にオ
ペレーティングシステム2へ戻す場合であるので、次の
ステップS170によって当該注目周期起床プロセスの
実行を行なわず、周期起床プロセス管理テーブル51上
において次の周期起床プロセスを注目するため、上記ス
テップS125の処理へ戻って他に注目していない周期
起床プロセスがあるかないかを判断して、まだ他に注目
していない周期起床プロセスがあれば(ステップS12
5“YES”)、次の周期起床プロセスに注目して(ス
テップS130)、上記と同様の処理を行なうようにす
る。尚、この実施の形態1では、外部の周期割込デバイ
ス(図示せず。)から割込みがある度にステップS12
0の処理によって全ての周期起床プロセス54a〜54
cの周期カウンタ1cを1ずつデクリメントしているの
で、今回の周期起床タイミングで実行されなかったソフ
トリアルタイム指定の当該注目周期起床プロセスは、当
該注目周期起床プロセスの起床周期1b分の周期割込み
があった後の次回の周期起床タイミングで、再度、周期
起床の実行が試みられる。例えば、実行されなかったソ
フトリアルタイム指定の周期起床プロセスが周期起床プ
ロセス54cの場合であれば、図2の周期起床プロセス
管理テーブル51に示すように、周期起床プロセス54
cの起床周期1bの5回分の周期割込みがあった時に、
再度、次の周期実行が試みられることになる。
【0028】その一方、強制終了フラグがセットされて
いない場合には(ステップS160“NO”)、当該周
期起床プロセスがソフトリアルタイムの指定であるが、
CPUリソース1をオペレーティングシステム2上の処
理へ返さずにまだリアルタイム制御部5において使用し
ていて良い場合を示しているので、次のステップS17
0によってその先頭アドレス指定領域1aに格納された
周期起床プロセスのアドレスをコールして、当該周期起
床プロセスを実行し(ステップS170)、続いて周期
起床プロセス管理テーブル51上において次の周期起床
プロセスを注目するため、上記ステップS125の処理
へ戻って上記処理を行なうようにする。
【0029】これに対し、例えば周期起床プロセス54
aの場合のように(図2参照)、ステップS150にお
いてハード/ソフトリアルタイム指定フラグ1dが
“1”に設定されているものと判断される場合には(ス
テップS150“YES”)、その周期起床プロセスが
ハードリアルタイムの指定であるということなので、上
述のソフトリアルタイム指定の場合とは異なり、次のス
テップS160の処理によってCPUリソース使用権監
視手段53により強制終了フラグがセットされているか
否かを判断せずに、すなわち強制終了フラグの設定の有
無にかかわらず、次のステップS170の処理によって
その先頭アドレス指定領域1aに格納された周期起床プ
ロセスのアドレスをコールして、当該周期起床プロセス
を実行するようにする。
【0030】このため、周期起床プロセス54aの場合
のようにハード/ソフトリアルタイム指定フラグ1dに
よって周期起床プロセスがハードリアルタイムに指定さ
れている場合には、CPUリソース使用権監視手段53
によってリアルタイム制御部5におけるCPUリソース
1の使用終了を示す強制終了フラグがセットされている
場合でも、CPUリソース1をオペレーティングシステ
ム2へ戻さずに、当該周期起床プロセスが実行されるこ
とになる。尚、その後は、周期起床プロセス管理テーブ
ル51上において次の周期起床プロセスが注目されるよ
うに上記ステップS125の処理へ戻って、まだ注目し
ていない周期起床プロセスがあれば、次の注目周期起床
プロセスについて上述の処理を行なうようにする。
【0031】このようにして1回の周期割込みにより周
期起床プロセス管理テーブル51に登録された全ての周
期起床プロセス54a〜54cに注目し、ステップS1
25において全ての周期起床プロセスを注目したものと
判断された場合には(ステップS125“YES”)、
ステップS110の処理に戻って周期割込デバイス(図
示せず。)からの次の周期割込みを待機し、周期割込デ
バイス(図示せず。)から次の周期割込みがあれば(ス
テップS110“YES”)、再度上記ステップS12
0〜170の処理を行なって、周期割込デバイス(図示
せず。)から周期割込みがある度にステップS120〜
170の処理を行なうようにする。
【0032】従って、この実施の形態1のコンピュータ
装置によれば、周期起床プロセス54aの場合のように
ハード/ソフトリアルタイム指定フラグによって周期起
床プロセスがハードリアルタイムに指定されている場合
には、CPUリソース使用権監視手段53によってリア
ルタイム制御部5におけるCPUリソース1の使用終了
を示す強制終了フラグがセットされている場合でも、C
PUリソース1をオペレーティングシステム2へ戻さず
に、その周期起床プロセスのアドレスをコールして、当
該周期起床プロセスを実行するようにしたので、ユーザ
設定により重要度の高い周期起床プロセス4aを確実に
実行することができる。
【0033】実施の形態2.この実施の形態2のコンピ
ュータ装置は、上記実施の形態1のコンピュータ装置を
改良したもので、周期起床プロセスの実行からCPUリ
ソースを強制的にオペレーティングシステムへ戻した場
合に実行されなかったソフトリアルタイム指定の周期起
床プロセスを、以後その起床周期によらず当該周期起床
プロセスが実行できるまでその実行を試みるようにし
て、ソフトリアルタイム指定の周期起床プロセスでも確
実に早期実行できるようにしたことを特徴とするもので
ある。尚、この実施の形態2では、コンピュータ装置自
体の構成は、図1に示す上記実施の形態1のものと変わ
らず、周期起床プロセス管理テーブルと、その周期起床
プロセス管理テーブルを参照した第2のスケジューリン
グ手段によるスケジューリング処理が異なるだけである
ので、図1に示す上記実施の形態1の構成を参照して、
相違点を中心に説明するものとする。
【0034】図4に、この実施の形態2のコンピュータ
装置における周期起床プロセス管理テーブル151の内
容を示す。この周期起床プロセス管理テーブル151
は、図2に示す実施の形態1の周期起床プロセス管理テ
ーブル51と同様に、周期起床プロセス54a〜54c
毎に、先頭アドレス指定領域1a、起床周期1b、周期
カウンタ1c、ハード/ソフトリアルタイム(H/S)
指定フラグ1dを設けていると共に、さらに、早期実行
プロセス指定フラグ1eと、早期実行要求フラグ1fと
を設けたこと特徴としている。
【0035】早期実行プロセス指定フラグ1eは、ソフ
トリアルタイム指定の周期起床プロセスのうち、CPU
リソース1をオペレーティングシステム2上におけるP
Cプロセス3a〜3cの実行処理に強制的に戻したため
その起床周期のときに実行できなかった場合でも、以後
その起床周期によらず当該周期起床プロセスが実行でき
るまでその実行を試みる早期実行の周期起床プロセスを
指定するためにユーザが設定するフラグで、ハード/ソ
フトリアルタイム(H/S)指定フラグ1dにソフトリ
アルタイムの指定を示す“0”が設定された周期起床プ
ロセスにのみ設定されるものである。尚、図4では、ソ
フトリアルタイム指定の周期起床プロセス54cの早期
実行プロセス指定フラグ1eに“1”が設定され、早期
実行プロセスに指定されている。
【0036】また、早期実行要求フラグ1fは、早期実
行プロセス指定フラグ1eが設定されたソフトリアルタ
イム指定の周期起床プロセスが今回のその起床周期のと
きに実際に実行されなかった場合に、以後その起床周期
によらず当該周期起床プロセスが実行できるまでその実
行を試みることを要求する早期実行要求フラグである。
【0037】次に、この実施の形態2のコンピュータ装
置の動作について説明する。尚、この実施の形態2にお
ける早期実行プロセス指定フラグ1eおよび早期実行要
求フラグ1fによりある周期起床プロセスを早期実行し
た場合には、その後当該周期起床プロセスを実行する際
の周期を絶対周期、すなわちその周期起床プロセスの周
期カウンタ1cをクリアせずに起床周期の基点を最初の
まま変えないようにするか、あるいは相対周期、すなわ
ち早期実行の時点の際その周期起床プロセスの周期カウ
ンタ1cをクリアしてその時点を以後の起床周期の基点
とするか、2つの方法が考えられるので、それぞれ2つ
に分けて、まず最初に絶対周期から説明するものとす
る。
【0038】図5に、絶対周期を採用した場合における
実施の形態2の第2のスケジューリング手段52による
スケジューリング処理を示す。尚、図5において図3に
示す上記実施の形態1と同じ処理については同一のステ
ップ番号を付してその説明は省略するものとする。
【0039】具体的には、この実施の形態2では、ステ
ップS110〜170までの処理は上記実施の形態1の
場合と同様であり、ステップS210〜240までの処
理を追加したことを特徴とするものである。
【0040】つまり、この実施の形態2では、ステップ
S150の処理によりハード/ソフトリアルタイム指定
フラグが“0”、すなわち周期起床プロセスがソフトリ
アルタイム指定であるものと判断され(ステップS15
0“YES”)、且つ、続いてCPUリソース使用権監
視手段53によって強制終了フラグがセット、すなわち
CPUリソース1を強制的にオペレーティングシステム
2へ戻す場合と判断された場合には(ステップS160
“YES”)、上記実施の形態1の場合と同様に、ステ
ップS170により当該周期起床プロセスを実行するこ
となく、ステップS125の処理へ戻るが、その前に、
まず早期実行プロセス指定フラグ1eに“1”が設定さ
れているか否かを判断する(ステップS230)。ここ
で、周期起床プロセス54c(図4参照)のように早期
実行プロセス指定フラグ1eに“1”が設定されている
と判断した場合には(ステップS230“YES”)、
当該ソフトリアルタイム指定の周期起床プロセスはユー
ザの設定により早期実行すべきものであることが指定さ
れたものであるため、この場合のみ、周期割込デバイス
(図示せず。)からの次以降の周期割込みにおける当該
周期起床プロセスの早期実行を要求するため早期実行要
求フラグ1fに“1”をセットするようにする。
【0041】その後は、ステップS125に戻り全ての
周期起床プロセスを注目した否かを判断して、まだ注目
していない周期起床プロセスがあれば(ステップS12
5“NO”)、次の周期起床プロセスに注目して(ステ
ップS130)、次の周期起床プロセスについてステッ
プS130以下の処理を行なうようにする。
【0042】ところで、この実施の形態2では、そのス
テップS120の処理の後に、上記実施の形態1の場合
とは異なり、早期実行要求フラグ1fとして“0”がセ
ットされているか否かを判断する(ステップS21
0)。そして、早期実行要求フラグ1fとして“0”が
セットされている場合には(ステップS210“YE
S”)、当該周期起床プロセスには早期実行すべきこと
が設定されていない場合を示しているので、上記実施の
形態1の場合と同様にステップS135へ進み、ステッ
プS135以下の処理を行なうようにする。
【0043】これに対し、早期実行要求フラグ1fとし
て“1”がセットされている場合には(ステップS21
0“NO”)、当該周期起床プロセスには前回の起床周
期の際に早期実行が指定されたものであり、且つ、前回
の起床周期から現在まで実行されずにステップS230
“YES”、ステップS240を経由して、今回の周期
割込みの際にその起床周期にかかわらず、すなわちその
周期カウンタ1cの値にかかわらず早期実行すべきこと
が設定されていることを示しているので、まずは、その
早期実行要求フラグ1fをクリアして(ステップS22
0)、ステップS135,140の処理を行わずにステ
ップS150の処理に移行して、それ以下の処理を行な
い、強制終了フラグがセットされていない場合には当該
周期起床プロセスを実行するようにする。
【0044】つまり、この場合には、当該周期起床プロ
セスは、ソフトリアルタイム指定の場合であるため、ス
テップS150では“YES”と判断されて、ステップ
S160の判断処理へ進み、強制終了フラグがセットさ
れていない場合のみ、次のステップS170ヘ進むの
で、周期カウンタ1cの値等にかかわらずに、当該周期
起床プロセスを実行できることになる。
【0045】次に、相対周期を採用した場合におけるこ
の実施の形態2の第2のスケジューリング手段52によ
るスケジューリング処理を示す
【0046】図6に、相対周期を採用した場合における
実施の形態2の第2のスケジューリング手段52による
スケジューリング処理を示す。この図6に示す相対周期
を採用した場合における第2のスケジューリング手段5
2によるスケジューリング処理は、図5に示す絶対周期
を採用した場合と各ステップの処理内容は同一であり、
ステップS220の処理終了後の次のステップが異なる
だけである。
【0047】つまり、図5に示す絶対周期を採用した場
合には、上述したようにステップS220の処理の次に
ステップS150の処理がきており、ステップS135
の処理によって“YES”と判断され、注目している周
期起床プロセスの周期カウンタ1cの値が0になった場
合のみ、当該周期カウンタ1cの値をその周期起床プロ
セスの起床周期1bに再設定するのに対し、図6に示す
相対周期を採用した場合には、ステップS220の処理
の次にステップS140の処理がきており、ステップS
135の処理によって“YES”と判断され、注目して
いる周期起床プロセスの周期カウンタ1cの値が0にな
った場合だけでなく、ステップS210の処理によって
“NO”、すなわち早期実行要求フラグ1fが“1”で
あると判断された場合にも、ステップS220の処理の
後に当該周期カウンタ1cの値をその周期起床プロセス
の起床周期1bに再設定する。
【0048】このため、図5に示す絶対周期を採用した
場合には、早期実行指定の周期起床プロセスが早期実行
されて、その周期が一時的に乱れた場合でも、当該周期
起床プロセスの周期カウンタ1cの値が0になった場合
のみ当該周期カウンタ1cの値をその周期起床プロセス
の起床周期1bに再設定しているので、最初の周期基点
からの周期が狂うことなく実行される一方、図6に示す
相対周期を採用した場合には、早期実行要求フラグ1f
に“1”がセットされている場合、すなわち早期実行が
されるまでは常に周期カウンタ1cの再設定を行うこと
になるので、早期実行により周期が一時的に乱れた場合
には、その早期実行の時点を次回以降の周期基点とする
ことにより周期基点を相対的にずらすことができる。
【0049】従って、この実施の形態2のコンピュータ
装置によれば、図5に示す絶対周期を採用した場合で
も、あるいは図6に示す相対周期を採用した場合でも、
早期実行プロセス指定フラグ1eとして“1”が設定さ
れたソフトリアルタイム指定の周期起床プロセスでは、
その周期カウンタ1cの値が0となり起床周期のタイミ
ングとなったときは本来なら起床されて実行されるはず
だが、CPUリソース使用権監視手段53によって強制
終了フラグがセットされている場合には、上記実施の形
態1の場合と同様に今回の起床周期では実行しないが、
上記実施の形態1の場合とは異なり、次回以降周期割込
デバイスから周期割込みがあった際にその起床周期にか
かわらず、すなわちその周期カウンタ1cの値によらず
実行できるまで実行を試みるようにしたので、当該周期
起床プロセスを確実に早期実行することができる。
【0050】実施の形態3.この実施の形態3のコンピ
ュータ装置は、上記実施の形態2のコンピュータ装置を
改良したもので、上記実施の形態2における第2のスケ
ジューリング手段によるスケジューリング処理として図
5に示す絶対周期と、図6に示す相対周期とをユーザの
設定により選択できるようにしたことを特徴とするもの
である。
【0051】図7に、この実施の形態3の周期起床プロ
セス管理テーブル251の内容を示す。この実施の形態
3の周期起床プロセス管理テーブル251は、図4に示
す内容の実施の形態2の周期起床プロセス管理テーブル
151に、さらに“1”,“0”により図5に示すよう
な絶対周期を採用するか、あるいは図6に示すような相
対周期を採用するかを指定するためのユーザ設定の周期
特性指定フラグ1gを設けたものである。尚、この図7
では、早期実行をする周期起床プロセス54cの周期特
定指定フラグ1gに“1”が設定されているので、周期
起床プロセス54cは絶対周期で行なうことを示してい
る。
【0052】次に、この実施の形態3の動作について説
明する。
【0053】図8に、この実施の形態3における第2の
スケジューリング手段によるスケジューリング処理を示
す。尚、この図8において図5および図6に示す上記実
施の形態2と同一の処理については同一のステップ番号
を付してその説明は省略するものとする。具体的には、
この実施の形態3では、ステップS110〜170およ
びステップS210〜240までの処理は上記実施の形
態2の場合と同様であり、上記実施の形態2のステップ
S220の処理の次に、新たにステップS310の判断
処理を追加したことを特徴とするものである。
【0054】つまり、この実施の形態3では、ステップ
S210の処理により早期実行要求フラグ1fに“1”
が設定されているものと判断され、続くステップS22
0の処理によりその早期実行要求フラグ1fがクリアさ
れた場合には、続いてステップS310の処理により周
期特定指定フラグ1gに“1”が設定されているか否か
を判断する。ここで、周期特定指定フラグ1gに“1”
が設定されているものと判断された場合には(ステップ
S310“YES”)、当該早期実行指定の周期起床プ
ロセスは、以後絶対周期で実行することをユーザが指定
した場合であるため、上記実施の形態2の図5に示す場
合と同様に、ステップS140の周期カウンタ1cの値
をその起床周期に再設定する処理を行わずに、続いてス
テップS150の処理に移行するようにする。これに対
し、周期特定指定フラグ1gに“0”が設定されている
ものと判断された場合には(ステップS310“N
O”)、当該早期実行指定の周期起床プロセスは以後相
対周期で実行することをユーザが指定した場合であるた
め、上記実施の形態2の図6に示す場合と同様に、続い
てステップS140の周期カウンタ1cの値をその起床
周期1bに再設定する処理を行なって、次のステップS
150以下の処理を実行するようにする。
【0055】従って、この実施の形態3のコンピュータ
装置によれば、早期実行プロセス指定フラグ1eの設定
により早期実行を指定した周期起床プロセスに、さらに
周期特定指定フラグ1gを設定することにより、当該周
期起床プロセスの早期実行後の当該周期起床プロセスの
起床周期基点を最初の周期基点で行なう絶対周期とする
か、あるいはその起床周期基点をその早期実行時の新た
な周期基点とする相対周期とするかを選択できるように
したため、早期実行指定の周期起床プロセスの内容に応
じて、ユーザの設定により絶対周期と相対周期の選択が
可能となる。
【0056】実施の形態4.この実施の形態4のコンピ
ュータ装置は、上記実施の形態1のコンピュータ装置を
改良したもので、周期起床プロセスの実行からCPUリ
ソースを強制的にオペレーティングシステムへ戻した場
合に実行されなかったソフトリアルタイム指定の周期起
床プロセスの実行不可回数、すなわち起床不可回数をカ
ウントしてユーザに示すようにしたことを特徴とするも
のである。尚、この実施の形態4では、コンピュータ装
置自体の構成は、図1に示す上記実施の形態1のものと
変わらず、周期起床プロセス管理テーブルと、その周期
起床プロセス管理テーブルを参照した第2のスケジュー
リング手段によるスケジューリング処理が異なるだけで
あるので、図1に示す構成図を参照して、これらの異な
る点を中心に説明するものとする。
【0057】図9に、この実施の形態4の周期起床プロ
セス管理テーブル351の内容を示す。この実施の形態
4の周期起床プロセス管理テーブル351は、図2に示
す実施の形態1の周期起床プロセス管理テーブル51
に、さらに、CPUリソース1を強制的にオペレーティ
ングシステム2上におけるPCプロセス3a〜3cの実
行処理に戻したため起床されずに実行されなかった場合
にインクリメントされるソフトリアルタイム指定の周期
起床プロセスの起床不可回数をカウントする起床不可カ
ウンタ1hを設けたものである。
【0058】次に、この実施の形態4の動作について説
明する。
【0059】図10に、この実施の形態4における第2
のスケジューリング手段によるスケジューリング処理を
示す。尚、この図10において図3に示す上記実施の形
態1と同一の処理については同一のステップ番号を付し
てその説明は省略するものとする。具体的には、この実
施の形態4では、ステップS110〜170までの処理
は上記実施の形態1の場合と同様であり、このスケジュ
ーリング処理に対し新たにステップS410の処理を追
加したことを特徴とするものである。
【0060】つまり、ステップS150でハード/ソフ
トリアルタイム指定フラグが“0”に設定されているも
のと判断され(ステップS150“YES”)、且つ、
続くステップS160CPUリソース使用権監視手段5
3によって強制終了フラグがセットされている場合には
(ステップS160“YES”)、当該注目周期起床プ
ロセスがソフトリアルタイム指定であり、しかもCPU
リソース1を強制的にオペレーティングシステム2へ戻
して当該周期起床プロセスを周期起床させない場合であ
るので、次のステップS170によってその周期起床プ
ロセスの実行を行なうことなく、ステップS125の処
理に戻って次の周期起床プロセスに注目する前に、ステ
ップS410により当該周期起床プロセスの起床不可カ
ウンタ1hを+1インクリメントするようにする。
【0061】これにより、この起床不可カウンタ1hの
カウンタ1c値を参照すれば、ユーザはソフトリアルタ
イム指定の周期起床プロセスの起床不可回数、すなわち
実行不可回数を容易かつ迅速に知ることができる。
【0062】従って、この実施の形態4のコンピュータ
装置によれば、周期起床プロセスがソフトリアルタイム
指定で、CPUリソース1を強制的にオペレーティング
システム2へ戻して当該周期起床プロセスを周期起床さ
せない場合には、起床不可カウンタ1hにより当該周期
起床プロセスの起床不可回数をカウントするようにした
ため、この起床不可カウンタ1hのカウンタ1c値を参
照することにより、ユーザはソフトリアルタイム指定の
周期起床プロセスの起床不可回数、すなわち実行不可回
数を容易かつ迅速に知ることができる。
【0063】実施の形態5.この実施の形態5のコンピ
ュータ装置は、上記実施の形態1のコンピュータ装置を
改良したもので、周期起床プロセスの実行からCPUリ
ソースを強制的にオペレーティングシステムへ戻した場
合に実行されなかったソフトリアルタイム指定の周期起
床プロセスの起床周期および周期カウンタ1cの値を自
動的に伸長するようにしたことを特徴とするものであ
る。このため、この実施の形態5では、コンピュータ装
置自体の構成は、図1に示す上記実施の形態1のものと
変わらず、周期起床プロセス管理テーブルを参照した第
2のスケジューリング手段によるスケジューリング処理
が異なるだけであるので、図1に示す構成図および図2
に示す周期起床プロセス管理テーブル51を参照して、
スケジューリング処理の異なる点を中心に説明するもの
とする。
【0064】図11に、この実施の形態5における第2
のスケジューリング手段によるスケジューリング処理を
示す。尚、この図11において図3に示す上記実施の形
態1と同一の処理については同一のステップ番号を付し
てその説明は省略するものとする。具体的には、この実
施の形態5では、ステップS110〜170までの処理
は上記実施の形態1の場合と同様であり、このスケジュ
ーリング処理に対し新たにステップS510の処理を追
加したことを特徴とするものである。
【0065】つまり、ステップS150でハード/ソフ
トリアルタイム指定フラグが“0”に設定されているも
のと判断され(ステップS150“YES”)、且つ、
続くステップS160でCPUリソース使用権監視手段
53によって強制終了フラグがセットされている場合に
は(ステップS160“YES”)、当該注目周期起床
プロセスがソフトリアルタイム指定であり、しかもCP
Uリソース1を強制的にオペレーティングシステム2へ
戻して当該周期起床プロセスを周期起床させない場合で
あるので、次のステップS170によってその周期起床
プロセスの実行を行なうことなく、ステップS125の
処理に戻って次の周期起床プロセスに注目する前に、ス
テップS510の処理によって、例えば当該周期起床プ
ロセスの起床周期1bおよび周期カウンタ1hの値を+
1等所定の値だけインクリメントするようにする。
【0066】従って、この実施の形態5のコンピュータ
装置によれば、ステップS510の処理により、ソフト
リアルタイム指定の周期起床プロセスが起床されなかっ
た場合には、当該周期起床プロセスの起床周期1bをイ
ンクリメントすることにより、起床されなかった当該ソ
フトリアルタイム指定の周期起床プロセスの起床周期1
bを自動的に伸長させることができると共に、当該周期
起床プロセスの周期カウンタ1hの値をインクリメント
することにより、その分だけ次の周期起床のタイミング
を遅らせることができる。
【0067】尚、この実施の形態5では、実行されなか
った周期起床プロセスの起床周期1bおよび周期カウン
タ1hの両方の値をステップS510の処理によってイ
ンクリメントするようにして説明したが、本発明では、
必ずしもその両方をインクリメントする必要はなく、少
なくても実行されなかった周期起床プロセスの起床周期
1bのみをインクリメントすれば十分であり、また所定
値だけインクリメントするのではなく、所定の計算式を
用いて起床周期1b等の伸長処理を行うようにしてもよ
い。
【0068】また、この実施の形態5では、上記実施の
形態1の場合と同様に、周期カウンタ1c値が0になっ
た場合に行なうステップS140の周期カウンタ1c値
の再設定処理を、ステップS135の処理の後にすぐ行
っているが、ステップS510の処理を行った場合に
は、このステップS140の周期カウンタ1c値の再設
定処理を実行しないよう、例えばこのステップS140
の周期カウンタ1c値の再設定処理をステップS170
の周期起床プロセスの実行処理の前後等に設けるように
すれば、強制終了フラグのセットにより周期起床プロセ
スが実行されずにステップS510の処理を行った場合
には、ステップS120の処理により1から0になった
周期カウンタ1cの値がステップS510の処理により
再度1になり、続いて次の周期割込みによりステップS
110“YES”およびS120により、再度その周期
カウンタ1c値が0になるので、上記実施の形態2のよ
うに早期実行プロセス指定フラグ1eを設けなくても周
期起床プロセスの早期実行ができる。
【0069】実施の形態6.この実施の形態6のコンピ
ュータ装置は、上記実施の形態5のコンピュータ装置を
さらに改良したもので、周期起床プロセスの実行からC
PUリソースを強制的にオペレーティングシステムへ戻
した場合に実行されなかったソフトリアルタイム指定の
周期起床プロセスの起床周期および周期カウンタ1cの
値を自動的に伸長する際に、当該周期起床プロセスの起
床不可回数に基づいて伸長するようにしたことを特徴と
するものである。このため、上記実施の形態5とは、第
2のスケジューリング手段によるスケジューリング処理
に新たな処理ステップを設けた点だけが相違するので、
この相違点を中心に説明する。
【0070】図12に、この実施の形態6における第2
のスケジューリング手段によるスケジューリング処理を
示す。この実施の形態6では、図11に示す実施の形態
5のスケジューリング処理に対し、新たにステップS6
10の処理をステップS510の処理の前に追加したこ
とを特徴とするものである。
【0071】つまり、この実施の形態6では、ステップ
S150でハード/ソフトリアルタイム指定フラグが
“0”に設定されているものと判断され(ステップS1
50“YES”)、且つ、続くステップS160でCP
Uリソース使用権監視手段53によって強制終了フラグ
がセットされている場合には(ステップS160“YE
S”)、当該注目周期起床プロセスがソフトリアルタイ
ム指定であり、しかもCPUリソース1を強制的にオペ
レーティングシステム2へ戻して当該周期起床プロセス
を周期起床させない場合であるので、上記実施の形態5
と同様に、次のステップS170によってその周期起床
プロセスの実行を行なうことなく、ステップS510の
処理によって当該周期起床プロセスの起床周期1bおよ
び周期カウンタ1hの値を+1等所定の値だけインクリ
メントするようにするが、そのステップS510の処理
前に、起床不可カウンタ1hの値に基づいてその周期起
床プロセスの起床不可回数を判断して(ステップS61
0)、その起床不可回数が所定値以上の場合のみ(ステ
ップS610“YES”)、上記ステップS510の処
理を行なうようにする。
【0072】従って、この実施の形態6のコンピュータ
装置によれば、ソフトリアルタイム指定の周期起床プロ
セスが起床されなかった場合には、一律に起床周期1b
等の伸長処理を行うのではなく、当該周期起床プロセス
の起床不可カウンタ1hの値に基づいてその伸長処理を
行なうか否かを操作することができる。
【0073】実施の形態7.この実施の形態7のコンピ
ュータ装置は、上記実施の形態5のコンピュータ装置を
改良したもので、周期起床プロセスの実行からCPUリ
ソースを強制的にオペレーティングシステムへ戻した場
合に実行されなかったソフトリアルタイム指定の周期起
床プロセスの起床周期および周期カウンタ1cの値を伸
長する際に、ユーザの指定した周期起床プロセスのみそ
の値を伸長するようにしたことを特徴とするものであ
る。このため、上記実施の形態5との相違点を中心に説
明する。
【0074】図13に、この実施の形態7の周期起床プ
ロセス管理テーブル451の内容を示す。この実施の形
態7の周期起床プロセス管理テーブル451は、図2に
示す実施の形態1の周期起床プロセス管理テーブル51
に、さらに、その起床周期1b等の伸長処理を行なう周
期起床プロセスをユーザが指定するための伸長操作指定
フラグ1iを設けたものである。尚、この図13では、
周期起床プロセス54cに伸長操作指定フラグ1iとし
て“1”が設定されており、伸長操作を行なうことが指
定されている。
【0075】次に、この実施の形態7の動作について説
明する。
【0076】図14に、この実施の形態7における第2
のスケジューリング手段によるスケジューリング処理を
示す。この実施の形態7では、図11に示す実施の形態
5のスケジューリング処理に対し、新たにステップS7
10の処理をステップS510の処理の前に追加したこ
とを特徴とするものである。
【0077】つまり、この実施の形態7では、ステップ
S150でハード/ソフトリアルタイム指定フラグが
“0”に設定されているものと判断され(ステップS1
50“YES”)、且つ、続くステップS160でCP
Uリソース使用権監視手段53によって強制終了フラグ
がセットされている場合には(ステップS160“YE
S”)、当該注目周期起床プロセスがソフトリアルタイ
ム指定であり、しかもCPUリソース1を強制的にオペ
レーティングシステム2へ戻して当該周期起床プロセス
を周期起床させない場合であるので、上記実施の形態5
と同様に、次のステップS170によってその周期起床
プロセスの実行を行なうことなく、ステップS510の
処理によって当該周期起床プロセスの起床周期1bおよ
び周期カウンタ1hの値を+1等所定の値だけインクリ
メントするようにするが、そのステップS510の処理
前に、ユーザの設定した伸長操作指定フラグ1iの値に
判断して(ステップS710)、伸長操作指定フラグ1
iとして伸長操作を行なうことを示す“1”が設定され
ている場合のみ(ステップS710“YES”)、上記
ステップS510の処理を行なうようにする。
【0078】従って、この実施の形態7のコンピュータ
装置によれば、ソフトリアルタイム指定の周期起床プロ
セスが起床されなかった場合には、一律に起床周期1b
等の伸長処理を行うのではなく、ユーザの設定した伸長
操作指定フラグ1iに基づいてその伸長処理を行なうか
否かを操作することができる。
【0079】尚、上記各実施の形態1〜7では、コンピ
ュータ装置をパーソナルコンピュータとし、しかも、P
Cプロセス3a〜3b等の通常プロセスおよび周期起床
プロセス54a〜54cをそれぞれ複数設けて説明した
が、本発明では、本発明に係るコンピュータ装置をUN
IX等をオペレーティングシステムとしたエンジニアリ
ングワークステーション(EWS)としても良いし、ま
た通常プロセスおよび周期起床プロセスはそれぞれ単数
であっても良いし、さらに通常プロセスの実行のためC
PUリソースの使用を管理する第1のスケジューリング
手段を有していなくても勿論よい。
【0080】また、上記各実施の形態1〜7では、周期
割込デバイスから周期割込みがある度に、ステップS1
20の処理により全ての周期起床プロセスの周期カウン
タ1cの値を1だけデクリメントすると共に、ステップ
S125およびステップS130の処理により全ての周
期起床プロセスに注目して、周期カウンタ1cの値が0
になった周期起床プロセスを起床して実行させるように
説明したが、本発明では、これらに限定されず、例えば
周期カウンタ1cの値を所定値ずつデクリメントするよ
うにしたり、あるいは周期カウンタ1cの値をインクリ
メントしてその周期カウンタ1cの値がそれぞれの起床
周期1bに等しくなった場合にその周期起床プロセスを
起床して実行させるようにしても良く、さらには周期割
込デバイスから周期割込みがある度に、周期起床プロセ
スを1つずつ注目すると共に、その注目している1つの
周期起床プロセスの周期カウント値をデクリメント若し
くはインクリメントして、その注目周期起床プロセスの
周期カウント値が0若しくはその起床周期1bになった
場合に、ステップS140〜170の処理を同時または
順次行なうようにしても勿論良い。このように周期割込
みがある度に周期起床プロセスを1つずつ注目して、そ
の注目した周期起床プロセスの周期カウント値をデクリ
メント等するようにした場合には、各周期起床プロセス
の実際の起床周期は、周期起床プロセス管理テーブル5
1上の起床周期1bの値だけでなく、周期起床プロセス
の数にも依存することになる。つまり、この場合には、
周期割込みがある度に周期起床プロセスを1つずつしか
注目しないため、例えば、周期起床プロセス54aの場
合には、例えば図2の周期起床プロセス管理テーブル5
1に示すように、周期起床プロセス54a〜54c数の
“3”と、周期起床プロセス54cの起床周期“5”と
の積である15回の周期割込みが、この周期起床プロセ
ス54aの実際の起床周期となる。
【0081】
【発明の効果】以上説明したように、本発明では、ハー
ド/ソフトリアルタイム指定フラグによって周期起床プ
ロセスがハードリアルタイムに指定した場合には、CP
Uリソース使用権監視手段によってリアルタイム制御部
におけるCPUリソースの使用終了が指示されている場
合でも、CPUリソースをオペレーティングシステムへ
戻さずに、そのハードリアルタイム指定の周期起床プロ
セスを実行するようにしたので、ユーザ設定により重要
度の高い周期起床プロセスはハードリアルタイムに指定
すれば確実に実行することができる。
【0082】また、次の発明では、ハード/ソフトリア
ルタイム指定情報を参照して実行すべき周期起床プロセ
スがハードリアルタイム指定のものであるか否かを判断
した際、実行すべき周期起床プロセスがソフトリアルタ
イム指定のものであり、且つ、CPUリソース使用権監
視手段によって周期起床プロセスの実行から通常プロセ
スの実行へとCPUリソースの使用が指示されている場
合には、さらに、当該周期起床プロセスに早期実行プロ
セス指定情報が設定されているか否かを判断して、早期
実行プロセス指定情報が設定されている場合には、以後
その起床周期によらず当該周期起床プロセスが実行でき
るまでその実行を試みるようにしたため、当該周期起床
プロセスを確実に早期実行することができる。
【0083】また、次の発明では、さらに、当該周期起
床プロセスに早期実行プロセス指定情報が設定されてい
るか否かを判断し、早期実行プロセス指定情報が設定さ
れている場合に、以後その起床周期によらず当該周期起
床プロセスの実行を試み実行できた場合でも、その起床
周期の最初の基点を以後その起床周期の基点とするよう
にしたため、早期実行指定の周期起床プロセスが早期実
行されて、その周期が一時的に乱れた場合でも、以後、
最初の周期基点からの起床周期が狂うことなく絶対周期
で実行することができる。
【0084】また、次の発明では、さらに、当該周期起
床プロセスに早期実行プロセス指定情報が設定されてい
るか否かを判断し、早期実行プロセス指定情報が設定さ
れている場合に、以後その起床周期によらず当該周期起
床プロセスの実行を試み実行できた場合には、その実行
時を以後その起床周期の基点とするようにしたため、早
期実行により周期が一時的に乱れた場合でも、その早期
実行の時点を以後の周期基点とした相対周期で実行する
ことができる。
【0085】また、次の発明では、さらに、早期実行プ
ロセス指定情報が設定されたソフトリアルタイム指定の
周期起床プロセスに、絶対周期で実行するか、あるいは
相対周期で実行するかの別を指定する周期特定指定情報
を設定し、早期実行プロセス指定情報が設定されてお
り、以後その起床周期によらず当該周期起床プロセスの
実行を試み実行できた場合には、上記周期特定指定情報
を参照して、絶対周期での実行が指定されている場合に
はその起床周期の最初の基点を以後その起床周期の基点
とする一方、相対周期での実行が指定されている場合に
はその実行時を以後その起床周期の基点とするようにし
たため、早期実行指定の周期起床プロセスの内容に応じ
て、ユーザの設定により絶対周期と相対周期の選択が可
能となる。
【0086】また、次の発明では、さらに、ソフトリア
ルタイム指定の周期起床プロセスに、その起床周期のと
きにCPUリソース使用権監視手段によって起床できな
かった場合には、その起床不可回数を示す起床不可カウ
ンタを設け、実行すべき周期起床プロセスがソフトリア
ルタイムに指定されており、且つ、その起床周期のとき
にCPUリソース使用権監視手段によって起床できなか
った場合には、当該起床プロセスの上記起床不可カウン
タをインクリメントするようにしたため、この起床不可
カウンタのカウンタ値を参照することにより、ユーザは
ソフトリアルタイム指定の周期起床プロセスの起床不可
回数、すなわち実行不可回数を容易かつ迅速に知ること
ができ、ユーザに当該周期起床プロセスの起床周期等の
チューニングを促すことができる。
【0087】また、次の発明では、さらに、実行すべき
周期起床プロセスがソフトリアルタイムに指定されてお
り、且つ、起床しようとした当該周期起床プロセスがC
PUリソース使用権監視手段によって起床できなかった
場合には、当該周期起床プロセスの起床周期を伸長する
ようにしたため、ソフトリアルタイム指定の周期起床プ
ロセスが起床されなかった場合には、当該周期起床プロ
セスの起床周期を自動的に伸長させることができ、起床
周期のチューニングを自動的に行なうことができる。
【0088】また、次の発明では、実行すべき周期起床
プロセスがソフトリアルタイムに指定されており、且
つ、その起床周期のときにCPUリソース使用権監視手
段によって起床できなかった場合には、さらに、当該周
期起床プロセスの起床不可カウンタを参照して、その起
床不可カウンタの値が所定値以上の場合のみ、当該周期
起床プロセスの起床周期を伸長するようにしたため、ソ
フトリアルタイム指定の周期起床プロセスが起床されな
かった場合には、一律に起床周期等の伸長処理を行うの
ではなく、当該周期起床プロセスの起床不可カウンタの
値に基づいてその伸長処理を行なうか否かを設定するこ
とができる。
【0089】また、次の発明では、さらに、ソフトリア
ルタイム指定の周期起床プロセスに、その起床周期のと
きにCPUリソース使用権監視手段によって起床できな
かった場合に当該周期起床プロセスの起床周期を伸長す
るか否かを指定する伸長操作指定情報を設定し、実行す
べき周期起床プロセスがソフトリアルタイム指定のもの
であり、且つ、その起床周期のときにCPUリソース使
用権監視手段によって起床できなかった場合には、上記
伸長操作指定情報を参照して伸長操作が指定されている
場合のみ、当該周期起床プロセスの起床周期を伸長する
ようにしたため、起床周期を自動的に伸長する周期起床
プロセスをユーザが任意に選択することができる。
【図面の簡単な説明】
【図1】 本発明に係るコンピュータ装置の実施の形態
1の構成を示す図である。
【図2】 実施の形態1の周期起床プロセス管理テーブ
ル51の内容を示す図である。
【図3】 実施の形態1における第2のスケジューリン
グ手段のスケジューリング処理を示すフローチャートで
ある。
【図4】 実施の形態2のコンピュータ装置における周
期起床プロセス管理テーブル151の内容を示す図であ
る。
【図5】 実施の形態2のコンピュータ装置において絶
対周期を採用した場合における第2のスケジューリング
手段によるスケジューリング処理を示すフローチャート
である。
【図6】 実施の形態2のコンピュータ装置において相
対周期を採用した場合における第2のスケジューリング
手段によるスケジューリング処理を示すフローチャート
である。
【図7】 実施の形態3の周期起床プロセス管理テーブ
ル251の内容を示す図である。
【図8】 実施の形態3における第2のスケジューリン
グ手段によるスケジューリング処理を示すフローチャー
トである。
【図9】 実施の形態4の周期起床プロセス管理テーブ
ル351の内容を示す図である。
【図10】 実施の形態4における第2のスケジューリ
ング手段によるスケジューリング処理を示すフローチャ
ートである。
【図11】 実施の形態5における第2のスケジューリ
ング手段によるスケジューリング処理を示すフローチャ
ートである。
【図12】 実施の形態6における第2のスケジューリ
ング手段による他のスケジューリング処理を示すフロー
チャートである。
【図13】 実施の形態7の周期起床プロセス管理テー
ブル451の内容を示す図である。
【図14】 実施の形態7における第2のスケジューリ
ング手段によるスケジューリング処理を示すフローチャ
ートである。
【符号の説明】
1 CPUリソース、2 オペレーティングシステム
(PC−OS)、3a〜3c PCプロセス、4 第
1のスケジューリング手段(通常プロセススケジューリ
ング手段)、5 リアルタイム制御部、6 ドライバ組
込み部、51,151,251,351,451 周期
起床プロセス管理テーブル、52 第2のスケジューリ
ング手段(周期起床プロセススケジューリング手段)、5
3 CPUリソース使用権監視手段、54a〜54c
周期起床プロセス、51a 先頭アドレス、51b 起床
周期、51c 周期カウンタ1c、51d ハード/ソフ
トリアルタイム(H/S)指定フラグ、51e 早期実
行プロセス指定フラグ、51f早期実行要求フラグ、5
1g 周期特性指定フラグ、51h 起床不可カウンタ1
c、51i 伸長操作指定フラグ。

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 オペレーティングシステム上で実行され
    る通常プロセスと、ドライバ中に組み込まれて所定の起
    床周期で起床して実行される周期起床プロセスと、上記
    周期起床プロセスを所定の起床周期で起床させて実行す
    るためにCPUリソースの使用をスケジューリングする
    周期起床プロセススケジューリング手段と、上記周期起
    床プロセスの実行による上記CPUリソースの使用時間
    を計測してその使用時間が所定時間を超えた場合には、
    上記CPUリソースの使用を上記周期起床プロセスの実
    行から上記通常プロセスの実行へ移行することを上記周
    期起床プロセススケジューリング手段に指示するCPU
    リソース使用権監視手段と、を有するコンピュータ装置
    において、 上記CPUリソース使用権監視手段によって上記CPU
    リソースの使用を上記周期起床プロセスの実行から上記
    通常プロセスの実行へ移行することが上記周期起床プロ
    セススケジューリング手段に指示されている場合でも実
    行するか否かを指定するハード/ソフトリアルタイム指
    定情報を上記周期起床プロセスに設定し、 上記周期起床プロセススケジューリング手段は、上記周
    期起床プロセスを所定の起床周期で起床させて上記CP
    Uリソースに実行させる場合には、その周期起床プロセ
    スに設定された上記ハード/ソフトリアルタイム指定情
    報を参照してハードリアルタイムと指定されている場合
    には、上記CPUリソース使用権監視手段によって上記
    周期起床プロセスの実行から上記通常プロセスの実行へ
    と上記CPUリソースの使用が指示されている場合で
    も、上記CPUリソースに当該周期起床プロセスを実行
    させる、 ことを特徴とするコンピュータ装置。
  2. 【請求項2】 周期起床プロセスが複数あり、周期起床
    プロセススケジューリング手段はその複数の周期起床プ
    ロセスを所定の起床周期で実行するためにCPUリソー
    スの使用をスケジューリングすると共に、通常プロセス
    を実行するためにCPUリソースの使用をスケジューリ
    ングする通常プロセススケジューリング手段をさらに具
    備し、 上記周期起床プロセススケジューリング手段は、CPU
    リソース使用権監視手段からCPUリソースの使用を上
    記周期起床プロセスの実行から上記通常プロセスの実行
    へ移行する指示があった場合には、上記通常プロセスス
    ケジューリング手段にCPUリソースを開放する、 ことを特徴とする請求項1記載のコンピュータ装置。
  3. 【請求項3】 周期起床プロセススケジューリング手段
    は、外部から周期割込みがある毎に全ての周期起床プロ
    セスの起床周期をカウントし、そのカウント値に基づい
    て各周期起床プロセスをそれぞれの所定の起床周期で起
    床させてCPUリソースに実行させる、 ことを特徴とする請求項2記載のコンピュータ装置。
  4. 【請求項4】 さらに、ハード/ソフトリアルタイム指
    定情報によってソフトリアルタイムと指定された周期起
    床プロセスに、その起床周期のときにCPUリソース使
    用権監視手段によって起床できなかった場合には、以後
    その起床周期によらず当該周期起床プロセスが実行でき
    るまでその実行を試みるか否かを指定する早期実行プロ
    セス指定情報を設定し、 周期起床プロセススケジューリング手段は、ハード/ソ
    フトリアルタイム指定情報を参照して実行すべき周期起
    床プロセスがハードリアルタイム指定のものであるか否
    かを判断した際、実行すべき周期起床プロセスがソフト
    リアルタイム指定のものであり、且つ、CPUリソース
    使用権監視手段によって周期起床プロセスの実行から通
    常プロセスの実行へとCPUリソースの使用が指示され
    ている場合には、さらに、当該周期起床プロセスに上記
    早期実行プロセス指定情報が設定されているか否かを判
    断し、上記早期実行プロセス指定情報が設定されている
    場合には、以後その起床周期によらず当該周期起床プロ
    セスが実行できるまでその実行を試みる、 ことを特徴とする請求項1、請求項2または請求項3記
    載のコンピュータ装置。
  5. 【請求項5】 周期起床プロセススケジューリング手段
    は、さらに、周期起床プロセスに早期実行プロセス指定
    情報が設定されているか否かを判断して、上記早期実行
    プロセス指定情報が設定されている場合には、以後その
    起床周期によらず当該周期起床プロセスの実行を試み実
    行できた場合でも、その起床周期の最初の基点を以後そ
    の起床周期の基点とする、 ことを特徴とする請求項4記載のコンピュータ装置。
  6. 【請求項6】 周期起床プロセススケジューリング手段
    は、さらに、当該周期起床プロセスに早期実行プロセス
    指定情報が設定されているか否かを判断し、上記早期実
    行プロセス指定情報が設定されている場合には、以後そ
    の起床周期によらず当該周期起床プロセスの実行を試み
    実行できた場合に、その実行時を以後その起床周期の基
    点とする、 ことを特徴とする請求項4記載のコンピュータ装置。
  7. 【請求項7】 さらに、早期実行プロセス指定情報が設
    定されたソフトリアルタイム指定の周期起床プロセス
    に、絶対周期で実行するか、あるいは相対周期で実行す
    るかの別を指定する周期特定指定情報を設定し、 周期起床プロセススケジューリング手段は、さらに、早
    期実行プロセス指定情報が設定されており、以後その起
    床周期によらず当該周期起床プロセスの実行を試み実行
    できた場合には、上記周期特定指定情報を参照して、絶
    対周期での実行が指定されている場合にはその起床周期
    の最初の基点を以後その起床周期の基点とする一方、相
    対周期での実行が指定されている場合にはその実行時を
    以後その起床周期の基点とする、 ことを特徴とする請求項4記載のコンピュータ装置。
  8. 【請求項8】 さらに、ソフトリアルタイム指定の周期
    起床プロセスに、その起床周期のときにCPUリソース
    使用権監視手段によって起床できなかった場合には、そ
    の起床不可回数を示す起床不可カウンタを設け、 周期起床プロセススケジューリング手段は、さらに、実
    行すべき周期起床プロセスがソフトリアルタイムに指定
    されており、且つ、その起床周期のときにCPUリソー
    ス使用権監視手段によって起床できなかった場合には、
    当該起床プロセスの上記起床不可カウンタをインクリメ
    ントする、 ことを特徴とする請求項1、請求項2または請求項3記
    載のコンピュータ装置。
  9. 【請求項9】 周期起床プロセススケジューリング手段
    は、さらに、実行すべき周期起床プロセスがソフトリア
    ルタイムに指定されており、且つ、その起床周期のとき
    にCPUリソース使用権監視手段によって起床できなか
    った場合には、当該周期起床プロセスの起床周期を伸長
    する、 ことを特徴とする請求項1、請求項2または請求項3記
    載のコンピュータ装置。
  10. 【請求項10】 周期起床プロセススケジューリング手
    段は、実行すべき周期起床プロセスがソフトリアルタイ
    ムに指定されており、且つ、その起床周期のときにCP
    Uリソース使用権監視手段によって起床できなかった場
    合には、さらに、当該周期起床プロセスの起床不可カウ
    ンタを参照して、その起床不可カウンタの値が所定値以
    上の場合のみ、当該周期起床プロセスの起床周期を伸長
    する、 ことを特徴とする請求項8記載のコンピュータ装置。
  11. 【請求項11】 さらに、ソフトリアルタイム指定の周
    期起床プロセスに、その起床周期のときにCPUリソー
    ス使用権監視手段によって起床できなかった場合に当該
    周期起床プロセスの起床周期を伸長するか否かを指定す
    る伸長操作指定情報を設定し、 周期起床プロセススケジューリング手段は、さらに、実
    行すべき周期起床プロセスがソフトリアルタイム指定の
    ものであり、且つ、その起床周期のときにCPUリソー
    ス使用権監視手段によって起床できなかった場合には、
    上記伸長操作指定情報を参照して伸長操作が指定されて
    いる場合のみ、当該周期起床プロセスの起床周期を伸長
    する、 ことを特徴とする請求項1、請求項2または請求項3記
    載のコンピュータ装置。
JP27073796A 1996-10-14 1996-10-14 コンピュータ装置 Pending JPH10116203A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP27073796A JPH10116203A (ja) 1996-10-14 1996-10-14 コンピュータ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27073796A JPH10116203A (ja) 1996-10-14 1996-10-14 コンピュータ装置

Publications (1)

Publication Number Publication Date
JPH10116203A true JPH10116203A (ja) 1998-05-06

Family

ID=17490275

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27073796A Pending JPH10116203A (ja) 1996-10-14 1996-10-14 コンピュータ装置

Country Status (1)

Country Link
JP (1) JPH10116203A (ja)

Similar Documents

Publication Publication Date Title
US9990229B2 (en) Scheduling method and apparatus for applying laxity correction based on task completion proportion and preset time
JP4367856B2 (ja) プロセス制御システム及びその制御方法
EP2885707B1 (en) Latency sensitive software interrupt and thread scheduling
JP4747307B2 (ja) ネットワーク処理制御装置,プログラムおよび方法
US7849463B2 (en) Dynamically variable idle time thread scheduling
US20020007387A1 (en) Dynamically variable idle time thread scheduling
US20050086030A1 (en) Software tool for synthesizing a real-time operating system
US10271326B2 (en) Scheduling function calls
JP2013218744A (ja) リソースに基づいたスケジューラ
JP4170675B2 (ja) メモリ使用容量の監視方法及び計算機システム
JPH10116203A (ja) コンピュータ装置
JP4048638B2 (ja) スケジューリング装置及び方法並びに記録媒体
CN114721791A (zh) 任务调度方法、电子设备及计算机可读存储介质
JP2001236236A (ja) タスク制御装置およびそのタスクスケジューリング方法
JP2002073354A (ja) タスク制御装置とタスク制御方法
JP3603752B2 (ja) 制御機能付き表示器
JP2000132428A (ja) コンピュータシステム、コンピュータシステムのアプリケーション監視方法、及びプログラム記録媒体
JPH08272627A (ja) リアルタイムタスク制御装置
CN111796949A (zh) 通讯任务处理方法、装置、设备及存储介质
JP3027526B2 (ja) ジョブスケジュール方法
JP3524700B2 (ja) タスク監視方法
JP2006172229A (ja) タスクの動作制御方法、タスクの動作制御システムおよびプログラム
JP5127541B2 (ja) タイマ管理方法、並びにタイマ管理装置
JP2003280929A (ja) タスク管理装置、同方法およびプログラム
Seo et al. Catching two rabbits: adaptive real‐time support for embedded Linux