JPH10312294A - 情報処理装置、情報処理方法、及び、情報処理プログラムを記録した読み取り可能な記録媒体 - Google Patents

情報処理装置、情報処理方法、及び、情報処理プログラムを記録した読み取り可能な記録媒体

Info

Publication number
JPH10312294A
JPH10312294A JP12249297A JP12249297A JPH10312294A JP H10312294 A JPH10312294 A JP H10312294A JP 12249297 A JP12249297 A JP 12249297A JP 12249297 A JP12249297 A JP 12249297A JP H10312294 A JPH10312294 A JP H10312294A
Authority
JP
Japan
Prior art keywords
information processing
specific condition
flag
held
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
JP12249297A
Other languages
English (en)
Inventor
Nobuyuki Yamauchi
信之 山内
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP12249297A priority Critical patent/JPH10312294A/ja
Publication of JPH10312294A publication Critical patent/JPH10312294A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 システム全体の処理効率を向上させるととも
に、ソフトウェア生産性、保守性を向上させることであ
る。 【解決手段】 OS4内部における特定条件の成立を保
持する状態フラグ1と、この状態フラグ1が保持する特
定条件に対応した動作を記述する動作記述部2と、この
動作記述部2に記述された動作を実行するためのデータ
を保持する動作キー記述部3と、を有し、動作記述部2
に記述された動作を、動作キー記述部3に記述されたデ
ータを用いて行うようにしてある。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、情報処理装置及び
情報処理プログラムを記録した読み取り可能な記録媒体
に関し、特に、特定の内部状態に対して従属する動作を
効率的に実行させることを可能とし、かつソフトウェア
生産性及び可搬性を向上させることを可能としたソフト
ウェアアーキテクチャを含む情報処理技術に関する。
【0002】
【従来の技術】一般に、コンピュータシステムに用いら
れるオペレーティングシステム(OS)の構造は、ソフ
トウェアの可搬性を向上させるため、可能な限り汎用的
な内部ルーチンを持たせることが多い。近年は特に、処
理の効率化というよりはむしろ、システムコールインタ
フェースの統一、あるいは環境に依存した部分の隠蔽を
目的とした共通インタフェースの開発に注力されている
傾向がある。
【0003】一方、最近のアプリケーションソフトウェ
アの傾向として、規模の巨大化、処理の複雑化がある。
このようにアプリケーションを従来の汎用的なOSで処
理する場合、そのままでは早急な応答を保証できなくな
ってきている。また、OSの機能を使用するための手
順、OS内部状態の変化に伴う振舞いは一般に複雑であ
るため、アプリケーションの変更に柔軟に対応するのは
難しいのが現状である。
【0004】たとえば、数百個のタスクが存在し、その
優先度がすべて同じ状況を考える。このような状況は、
時分割処理を主体としたプログラムにおいてはよく見ら
れるものである。従来のOSでは、これら数百個のタス
クをキュー構造で管理し、そのキューの先頭に繋がれて
いるタスクを実行させるように制御していた。ここで
は、キューの先頭を時分割に変更していくことによって
目的の処理を実現させることを考える。ここで、実行さ
せるタスクがキューの先頭であるということは、OSの
仕様として静的に決められており、変更することは多く
の場合不可能となっている。
【0005】図2に示すような状況において説明を行
う。図2は、LANに接続された装置A,装置B,装置
CがリアルタイムOSとその上で動作するタスク群によ
り制御されていることを表している。タスク群にはタス
クA,タスクB及び、タスクCが含まれ、それぞれ装置
A,装置B及び、装置Cを制御している。
【0006】各装置はLANに接続されている他の装置
との通信で使用されるプロトコルを解釈し、他の装置と
の同期通信を成立させている。ハードウェアの仕様は全
装置で同一とし、それぞれ識別番号で識別されるとす
る。また、装置の接続順序によって装置間に従属関係が
生じると仮定する。すなわち、接続順序が早い装置がマ
スターとなり、その他の装置(スレーブ)に対しての初
期化処理を行う必要性を考慮に入れる。この例では、装
置Aをマスターとし、装置B及び、装置Cをスレーブと
する。この従属関係は初期化時だけであるので、通常は
時分割で各装置を制御すればよい。このシステムが長期
にわたり稼働するものであれば、装置の電源投入を人間
系が行い、あとは自動制御する実現方法がよくとられ
る。
【0007】ここで何らかの障害が発生し、各装置にリ
セットがかかったことを想定すると、上記初期化処理が
必要となるため、リアルタイムOSは最初の制御をタス
クAに対して行うようにしなければならない。この場合
にとられる従来のOSの動作を図8に示す。まず、次に
行うべき処理を決定する。これにより、次に初期化処理
について行うと判断したものとする(ステップS80
1)。続いて、マスターとなるべきタスクを検索する
(ステップS802)。これにより、タスクAがマスタ
ーであると判明したことにする。続いて、今まで実行中
だったタスクをキューの先頭から外して(ステップS8
03)、タスクAをレディキューの先頭につなぐ(ステ
ップS804)。続いて、タスクA及び実行中のタスク
のコンテキスト格納領域を検索して(S805)、現在
実行中のタスクのコンテキストと、次に実行するタスク
Aのコンテキストを交換する(ステップS806)。
【0008】また、従来のOSにおける処理では、実行
するタスクはレディキューの最高優先度部分に繋がって
いるタスクのうち、最初のタスクを見つけだして制御を
移していた。したがって、目的のタスクがキューの先頭
にない場合には、そのタスクを先頭に移動させる必要が
あり、そのために必要以上の処理時間をとられることが
少なくない。この状況を図9に示す。図9は、同一優先
度に3つのタスクが繋がっており、タスクAを起動させ
るために、キューの順番の変更を最悪2回行う必要が生
じる。すなわち、タスクAを起動させる場合、キューの
先頭のタスクAをタスクBからタスクCにする変更と、
タスクCからタスクAに変更が必要になる。この処理を
図10に示す。まず、レディキューの先頭のタスクは、
目的のタスクか否かを判断する(ステップS100
1)。目的のタスクが先頭であれば、この処理は終了す
るが、先頭ではない場合には、続いて、キューの最初の
タスクをキューから外し(ステップS1002)、外し
たタスクをキューの最後につなげる(ステップS100
3)。更に、次のタスクをキューにつなぎ替えて(ステ
ップS1004)、これにより先頭になったタスクが目
的のタスクか否かを判断する(ステップS1001)。
以上のような処理を目的のタスクが先頭になるまで続け
る。
【0009】図10の処理において、仮にタスクの数が
さらに多いときには、かかる時間もその数に比例して大
きくなる。応答性が要求されるアプリケーションにおい
ては、応答時間の見込みがたたないシステムの適用は困
難であり、ハードウェア、ソフトウェアを機能拡張して
対応する必要が生じてくる。このことはシステム規模の
肥大化を招き保守性を著しく損なうことにつながる。
【0010】以上のように、発生する複数のイベントの
発生に従ってタスク制御方法を変更する必要が生じた場
合、対応する方法は複雑なものになった。すなわち、数
百個のタスクのつながりをアプリケーション側で起動、
停止しながら、自ら順序を作って制御する必要があり、
数百個分のタスクにおけるソフトウェアの改編が必要と
されるため、作業量が膨大であるばかりでなく、保守
性、信頼性の低下を招く可能性があった。また、この場
合、余計な処理時間が要求されるため、応答性能も低下
してまった。更に、タスクの起動時間の見積もりについ
ても、そのタスクのキュー上の位置で変化するため、設
計時において正確に予測することができないという問題
点があった。
【0011】次に、アプリケーションに何らかの機能を
追加する必要が生じた際の従来例について説明する。従
来技術では、OSの機能の制限により簡単な拡張では実
現できない場合がある。たとえば、タスクの内容は変更
せず、ある特定の条件下でキューの最後尾にあるタスク
を実行させたいというような場合である。このようなキ
ューの順序を無視してタスクを実行することは従来のO
Sでは不可能なものがほとんどであったため、別のOS
を使用し、アプリケーションを開発し直すしか方法がな
かった。
【0012】別の例として、たとえば、バイナリセマフ
ォで管理していた資源を計数型セマフォで管理したいと
いうような状況を考える。一般に、管理すべき資源の数
が増加するというような時に、このような状況が生じ
る。バイナリセマフォを計数型セマフォに変更するため
には、一般に、OSそのものの内部構造を修正する必要
があるため容易ではない。したがって、アプリケーショ
ンプログラムを改造し、対応するのが一般的となってい
る。この場合は資源の数だけセマフォを使用し管理する
ことになるが、セマフォ用の管理領域が大きくなるほ
か、セマフォと資源の対応づけが複雑になるため、プロ
グラムの正当性を保証することが非常に難しくなる。ま
た上述したように、OSの目的の一つとして汎用性を高
めることもあるため、特定のアプリケーションに特化し
た形にOSの仕様を変更することも、事実上不可能であ
った。したがって計数型セマフォを持つ別のOSを導入
する方法もしばしばとられる。ただし、この場合、OS
とアプリケーション間のインタフェースも異なってくる
ため、アプリケーション修正に必要な作業量は膨大なも
のとなっていた。
【0013】次に、OSが提供していない機能をアプリ
ケーションプログラムが使用することになった場合につ
いて、別の例に従って説明する。ここではアプリケーシ
ョンの構成図を図11のように考える。図11におい
て、タスク1はリアルタイムOS1上で動作するプログ
ラムであり、実行のためには資源1を必要とすることを
示している。そのためタスク1は、実行の前に資源1を
獲得し、終了すると資源1を解放する処理を行う。ここ
で、資源1の獲得、解放はリアルタイムOS1の機能を
使用することになる。すなわち、タスク1から資源獲得
/解放要求をリアルタイムOS1に対して発行し、リア
ルタイムOSからその許可をタスクに与える。また、タ
スク1から発行する資源獲得/解放要求はOSの「セマ
フォ」という機能を使用する。
【0014】一般に、セマフォはバイナリセマフォ、計
数型セマフォの二つに大別される。バイナリセマフォは
資源一つだけに対して排他制御でき、計数型セマフォは
複数の資源を排他制御できる。図11の例では、OSは
バイナリセマフォを有するとする。資源の数は一つだけ
であるため、システムの動作上、問題は無いことにな
る。図11におけるタスク1のプログラムを図12に示
した。
【0015】ここで、管理する資源の数が増えたことを
想定する。図13は、管理する資源が100あり、この
100の資源に対してタスク1から各資源を管理するも
のとする。複数の資源は、直接、バイナリセマフォでは
管理できないため、従来はアプリケーションプログラム
の変更が必要となった。すなわち、資源の数だけセマフ
ォを用意し、資源の一つ一つに対応づけることになる。
このときのタスク1のプログラムを図14に示した。図
14に示すように、資源の数が増えた分、セマフォ獲得
/解放のための処理が必要となる。このことは、プログ
ラムサイズが増大するだけでなく、セマフォ管理領域も
また増大することを示している。処理時間に関しても、
セマフォの数が増えた分、長くなってしまう。この例で
はタスクの数は一つであったが、仮に複数のタスクが同
じ資源にアクセスしようとした場合には、タスクの数だ
けプログラムの修正範囲はさらに広くなる。このこと
は、セマフォ機能に関するアプリケーションプログラム
の修正には、膨大な作業量を伴うことを示している。同
時に、修正後のプログラム実行効率は、資源の数、タス
クの数にしたがって、低下してしまうという問題点もあ
る。
【0016】上述したことは言い方を替えると、アプリ
ケーションをまったく変更せずに、アプリケーションの
仕様変更要求を満たすことは、従来のOSを使用したシ
ステムでは不可能であったといえる。このことは、近
年、爆発的に増大しているソフトウェア資産の活用とい
う観点からみると、非常に非効率的であるといえる。
【0017】
【発明が解決しようとする課題】上述のごとく、従来の
情報処理装置では、OSの内部処理手順を変更すること
ができないため、例外的なイベントに対応する処理を行
うことが困難であった。また、OSの内部処理に依存し
た部分の処理時間はアプリケーション設計時に見積もる
ことが不可能であった。更に、アプリケーションをまっ
たく変更せずに、アプリケーションの仕様変更を行うこ
とは不可能であった。
【0018】本発明は、上記事情に鑑みてなされたもの
であり、その目的とするところは、システム内部の状況
に依存する特定の通常のOSの処理とは独立に効率よく
実行させ、アプリケーションに依存した処理を容易に記
述する手段をプログラムに提供することによって、シス
テム全体の処理効率を向上させるとともに、ソフトウェ
ア生産性、保守性を向上させることができる情報処理装
置及び情報処理プログラムを記録した読み取り可能な記
録媒体を提供することにある。
【0019】
【課題を解決するための手段】上記目的を達成するた
め、請求項1の発明は、オペレーティングシステム(O
S)の制御に基づいて処理動作を行う情報処理装置にお
いて、前記OS内部における特定条件の成立を保持する
状態フラグと、この状態フラグが保持する特定条件に対
応した動作を記述する動作記述部と、を有し、前記動作
記述部に記述された動作を行うことを特徴とする。
【0020】請求項2の発明は、オペレーティングシス
テム(OS)の制御に基づいて処理動作を行う情報処理
装置において、前記OS内部における特定条件の成立を
保持する状態フラグと、この状態フラグが保持する特定
条件に対応した動作を記述する動作記述部と、この動作
記述部に記述された動作を実行するためのデータを保持
する動作キー記述部と、を有し、動作記述部に記述され
た動作を、前記動作キー記述部に記述されたデータを用
いて行うことを特徴とする。
【0021】請求項3の発明は、前記請求項1又は2に
おける前記状態フラグは、前記OS内部における特定条
件の成立をビットパターンを用いて保持することを特徴
とする。
【0022】請求項4の発明は、前記請求項1又は2に
おける前記動作記述部は、前記状態フラグが保持する特
定条件に対応した動作を前記OSの内部ルーチンとは異
なったプログラムにより記述することを特徴とする。
【0023】請求項5の発明は、リアルタイムOSとそ
のリアルタイムOS上で動作する複数のタスクとにより
複数の装置の動作を制御する情報処理装置において、前
記リアルタイムOSが障害が起きたことを保持する第1
のフラグ、及び、スケジューリングの操作を開始するこ
とを保持する第2のフラグを有する状態フラグと、前記
第1及び第2のフラグが保持する条件に基づいて、対応
する動作を記述する動作記述部と、を有し、前記動作記
述部に記述された動作を行うことを特徴とする。 請求
項6の発明は、リアルタイムOSとそのリアルタイムO
S上で動作する複数のタスクとにより複数の資源の排他
制御を行う情報処理装置において、前記複数の資源の排
他制御を行う計数セマフォへ変更可能とする状態を保持
するセマフォ変更フラグを有する状態フラグと、前記セ
マフォ変更フラグが保持する計数セマフォへ変更可能と
する状態に対応した動作を記述する動作記述部と、この
動作記述部に記述された計数セマフォへ変更するための
パラメータを保持する動作キー記述部と、を有し、動作
記述部に記述された動作を、前記動作キー記述部に記述
されたデータを用いて行うことを特徴とする。
【0024】上記目的を達成するため、請求項7の発明
は、オペレーティングシステム(OS)の制御に基づい
て処理動作を行う情報処理方法において、前記OS内部
における特定条件の成立を保持し、この保持した特定条
件に対応した動作を記述しておき、この記述された動作
を行うことを特徴とする。
【0025】請求項8の発明は、オペレーティングシス
テム(OS)の制御に基づいて処理動作を行う情報処理
方法において、前記OS内部における特定条件の成立を
保持し、この保持した特定条件に対応した動作を記述し
ておき、この記述された動作を実行するために保持され
たデータを用いて、前記記述された動作を行うことを特
徴とする。
【0026】上記目的を達成するため、請求項9の発明
は、オペレーティングシステム(OS)の制御に基づい
て処理動作を行うコンピュータに用いられる情報処理プ
ログラムを記録した読み取り可能な記録媒体において、
前記OS内部における特定条件の成立を保持させるステ
ップと、この保持させた特定条件に対応した動作を記述
させるステップと、を有し、前記コンピュータに、前記
動作を記述させるステップにて記述された動作を実行さ
せることを特徴とする。
【0027】請求項10の発明は、オペレーティングシ
ステム(OS)の制御に基づいて処理動作を行うコンピ
ュータに用いられる情報処理プログラムを記録した読み
取り可能な記録媒体において、前記OS内部における特
定条件の成立を保持させるステップと、この保持させた
特定条件に対応した動作を記述させるステップと、この
記述された動作を実行するためのデータを保持させるス
テップと、を有し、前記コンピュータに、前記動作を記
述させるステップに記述された動作を、前記保持された
動作を実行するためのデータを用いて実行させることを
特徴とする。
【0028】請求項11の発明は、前記請求項9又は1
0における前記特定条件の成立を保持させるステップ
は、前記OS内部における特定条件の成立をビットパタ
ーンを用いて保持することを特徴とする。
【0029】請求項12の発明は、前記請求項9又は1
0における前記動作を記述させるステップは、前記保持
された特定条件に対応した動作を前記OSの内部ルーチ
ンとは異なったプログラムにより記述することを特徴と
する。
【0030】請求項13の発明は、リアルタイムOSと
そのリアルタイムOS上で動作する複数のタスクとによ
り複数の装置の動作を制御するコンピュータシステムに
用いられる情報処理プログラムを記録した読み取り可能
な記録媒体において、前記リアルタイムOSが障害が起
きたことを第1のフラグに保持させ、及び、スケジュー
リングの操作を開始することを第2のフラグに保持させ
るステップと、前記第1及び第2のフラグに保持させる
条件に基づいて、対応する動作を記述させるステップ
と、を有し、前記コンピュータに前記記述された動作を
実行させることを特徴とする。
【0031】請求項14の発明は、リアルタイムOSと
そのリアルタイムOS上で動作する複数のタスクとによ
り複数の資源の排他制御をコンピュータにより実行させ
る情報処理プログラムを記録した読み取り可能な記録媒
体において、前記複数の資源の排他制御を行う計数セマ
フォへ変更可能とする状態をセマフォ変更フラグに保持
させるステップと、前記保持させた計数セマフォへ変更
可能とする状態に対応した動作を記述させるステップ
と、この記述させた計数セマフォへ変更するためのパラ
メータを動作キー記述部に保持させるステップと、を有
し、前記動作記述部に記述された動作を、前記動作キー
記述部に記述されたデータを用いてコンピュータに実行
させることを特徴とする。
【0032】
【発明の実施の形態】以下、本発明に係る情報処理装置
及び情報処理プログラムを記録した読み取り可能な記録
媒体の実施形態について、図面を参照しながら詳細に説
明する。
【0033】本実施形態で用いる情報処理装置は、各種
処理を行うための中央処理部と、キーボード、マウス、
ライトペン、又はフレキシブルディスク装置等の入力装
置と、メモリ装置やディスク装置等の記憶装置と、ディ
スプレイ装置、プリンタ装置等の出力装置等とを備えた
通常のコンピュータシステムを用いる。
【0034】図1は、本実施形態の情報処理装置を概念
的に示した機能ブロック図である。この情報処理装置
は、OS内部における特定条件の成立を保持する状態フ
ラグ1と、状態フラグ1が保持する特定条件に対応した
動作を記述する動作記述部2と、動作記述部2に記述さ
れた動作を効率的に実行するためのデータを保持する動
作キー記述部3と、を有する。なお、図中の実線で示す
矢印はデータの流れを示している。
【0035】状態フラグ1は、リアルタイムOS4の内
部状態についてメモリ中のビットパターンを使用して表
している。ビットパターンごとに一つの状態を表現する
ため、例えば、4ビットであれば16通りの内部状態を
表すことが可能となる。この状態フラグ1のセットは、
リアルタイムOS4がその内部において状態の変化をと
らえて行われる。
【0036】動作記述部2は、状態フラグ1の各パター
ンに対応したリアルタイムOS4の動作を通常のOSの
内部ルーチンとは異なったプログラムにより記述する。
例えば、状態フラグ1のフラグパターンBに対応する動
作については、動作記述部2の動作プラグパターンBに
対応した動作2に記述するようにする。
【0037】動作キー記述部3は、動作記述部2に記述
される各動作に対応したキー項目を保持する。このキー
項目は各動作を効率的に実行するためのヒントとなるも
ので、タスクのアドレス、メッセージ等、アプリケーシ
ョンプログラムに依存したデータが格納される。
【0038】リアルタイムOS4は、状態フラグ1で表
されるOSの内部状態になった場合、動作記述部2の内
容に従ってプログラム実行を行う。
【0039】次に、本実施形態における第1の具体例を
説明する。図2は、LANに接続された装置A,装置B
及び、装置CがリアルタイムOSとその上で動作するタ
スク群により制御されていることを表している。タスク
群にはタスクA,タスクB及び、タスクCが含まれ、そ
れぞれ装置A,装置B及び、装置Cを制御している。
【0040】各装置A,B及び、Cは、LANに接続さ
れている他の装置との通信で使用されるプロトコルを解
釈し、他の装置との同期通信を成立させている。ハード
ウェアの仕様は全装置で同一とし、それぞれ識別番号で
識別されるとする。また、装置の接続順序によって装置
間に従属関係が生じると仮定する。すなわち、接続順序
が早い装置がマスターとなり、その他の装置(スレー
ブ)に対しての初期化処理を行う必要性を考慮に入れ
る。この例では、装置Aをマスターとし、装置B及び、
装置Cをスレーブとする。この従属関係は初期化時だけ
であるので、通常は時分割で各装置を制御すればよい。
このシステムが長期にわたり稼働するものであれば、装
置の電源投入を人間系が行い、あとは自動制御する実現
方法がよくとられる。具体的にはリアルタイムOS上の
各タスクは時間的に均等に実行され、各装置のための制
御を行う。タスクの構造はほとんど同一でよいため、こ
のシステムの開発に必要な工数は少なくて済む。この場
合のリアルタイムOSの内部動作のフローチャートを図
3に示す。まず、レディーキューの最初につながってい
るタスクを検索し(ステップS301)、そのタスクの
コンテキスト格納領域を検索して(ステップS30
2)、現在続行中のタスクのコンテキストと、次のタス
クのコンテキストを交換する(ステップS303)。こ
のように、本実施形態におけるリアルタイムOSの処理
は、従来例で同様の処理を説明した図8に比較して、よ
り少ない処理で実現が可能となるため、システム全体の
処理効率を向上させるとともに、ソフトウェア生産性、
保守性を向上させることができる。
【0041】次に、図3のようなリアルタイムOSが実
行するための本実施形態の具体例を説明する。まず、何
らかの障害が起きたというイベントおよびOSがこれか
らスケジューリングの操作をするというフラグをOSが
セットする機構を用意する。この具体例における状態フ
ラグの例を図4に示す。この具体例で必要なフラグは、
障害が発生したか否かの状態を表すフラグ(1ビット)
と、スケジューリング開始を表すフラグ(1ビット)で
ある。障害が発生したか否かの状態を表すフラグは、障
害発生の割込みハンドラ実行の時点で、また、スケジュ
ーリング開始を表すフラグは、初期化処理が必要だと判
定できた時点で、それぞれフラグがセットされる。
【0042】この具体例の動作記述部2及び動作キー記
述部3を図5に示す。また、本実施形態の処理の流れを
図6に示す。まず、想定しているフラグパターンはセッ
トされているか否かを判定する(ステップS601)。
このフラグパターンのチェックは、リアルタイムOS内
部に設けられたチェックポイントにて行う。このチェッ
クポイントは、比較的長い間処理を中断することができ
ない場所、例えば、OS内部のクリティカルセクション
及び割込み禁止区域等の前に静的に設けられる。この具
体例では、スケジューラを実行する直前において状態フ
ラグのチェックが行われる。
【0043】状態フラグ1のチェック終了後、リアルタ
イムOS4は、この状態フラグ1に対応した動作記述部
の内容に従って動作する。この際、動作キーにかかれて
いる項目を利用する(ステップS602)。この具体例
では、フラグパターン“11000000”に対応した
動作記述部の内容を読み込み、実行する。すなわち、フ
ラグがセットされていると判断した時点で実行中のタス
クを停止させ、タスクAに制御を移すことを行う。
【0044】以上のように、本実施形態では、動作記述
部2に特定タスクを起動する命令を記述することによっ
て、特定の状況下での応答性を高める。この例では、動
作記述部2に対応した動作キー記述部3から、タスクA
のコンテキストを格納してある領域のアドレスを読み出
し、そのアドレスから実行させるように動作記述部2に
記述する。これにより、状態フラグで想定するイベント
に関して、その後の処理を効率よく行うことができる。
またその処理時間には不確定要素がないため、厳しい時
間制約を課せられたアプリケーションの構築指針を容易
に立てることが可能となる。
【0045】次に、本実施形態の第2の具体例につい
て、図面を参照しながら詳細に説明する。この実施形態
では、リアルタイムOSが提供していない機能をアプリ
ケーションプログラムが使用することになった場合に、
アプリケーションプログラムにまったく手を入れずに、
仕様変更に対応することができる実施形態について説明
する。
【0046】この具体例を従来例で説明を行った図11
を用いて説明する。同図において、タスク1はリアルタ
イムOS1上で動作するプログラムであり、実行のため
には資源1を必要とすることを示している。この場合に
は、状態フラグ1にセマフォ変更フラグを設ける。セマ
フォ変更フラグに対して、セマフォ機能に変更ありとい
うフラグをセットする。このセットは、あらかじめシス
テムのコンフィグレーション時に静的に行ってもよい
し、システムの中のタスクにセットさせてもよい。ま
た、リアルタイムOSは、すでに状態フラグによって処
理を分岐できる構造で実装されているものとする。
【0047】状態フラグ1がセットされた後、タスクを
実行し、セマフォへのアクセスのための命令をOSに対
して行った場合、その処理は動作記述部2における対応
した場所に記述されている動作になる。この場合、動作
記述部2には計数型セマフォを実現するためのプログラ
ムが記述される。動作記述部2に渡されるパラメータを
動作キー記述部3に格納することによって、動作記述部
2の内容に汎用性を持たせることもできる。このこと
は、動作キー記述部3は、アプリケーションと動作記述
部2間におけるインタフェースの役割を担うこともでき
ることを示している。
【0048】図7に、この場合の処理のフローチャート
を示す。まず、リアルタイムOS4は、タスクからセマ
フォ獲得要求受付を行う(ステップS701)。ここ
で、セマフォへ変更フラグが立っているか否かを判定す
る(ステップS702)。セマフォ変更フラグが立って
いる場合には、動作記述部2に記述された動作記述の実
行を行う(ステップS704)。セマフォ変更フラグが
立っていない場合には、通常のセマフォ処理を行う(ス
テップS703)。
【0049】以上のように、アプリケーションプログラ
ムの変更はまったく必要ないため、ソフトウェア資産を
有効に活用することができる。一方で、動作記述部2に
OSの動作を決定するプログラムを記述することによっ
て、OSのオプション動作を明確に部品化することもで
きる。ここでは、計数型セマフォを実現する効率的なコ
ードを記述することによって、プログラムの実行効率、
メモリ効率を向上させることも可能となる。
【0050】なお、上述した情報処理を実現するための
プログラムは記録媒体に保存することができる。この記
録媒体をコンピュータシステムによって読み込ませ、前
記プログラムを実行してコンピュータを制御しながら上
述した情報処理を実現することができる。ここで、前記
記録媒体とは、メモリ装置、磁気ディスク装置、光ディ
スク装置等、プログラムを記録することができるような
装置が含まれる。
【0051】
【発明の効果】以上説明したように、本発明に係る情報
処理装置及び情報処理プログラムを記録した読み取り可
能な記録媒体によれば、以下の点においての効果が見込
まれる。
【0052】まず、従来、システム内部の状態に依存し
ていた特定の処理を、内部状態とは独立に効率よく実行
することが可能となる。したがって、システム全体のパ
フォーマンスが向上するだけでなく、アプリケーション
設計時に予測することの困難な、可変的頻度の事象に対
して、簡単に対策を用意することが可能となる。これ
は、ソフトウェア生産性の向上が可能であることにも通
ずる。
【0053】また、アプリケーションの処理時間をアプ
ケーション設計時に見積もることが可能となるため、従
来よりも合理的なシステム開発を行うことが可能とな
る。
【0054】また、従来、OSが提供する機能の制限に
より、実現することのできなかった処理をアプリケーシ
ョン側で容易に実現することが可能となる。このことに
より、一つのOSを適用できる範囲が多くなることが見
込まれる。このことは、従来異なったシステムごとに、
その都度習得しなければならなかったOSの数を減らす
ことが可能となることを指し、開発工程の短縮だけでな
く技術者教育等にかかるコストの削減をも実現すること
が可能であることを示している。
【0055】更に、従来、アプリケーションプログラム
を変更することで対応していた、アプリケーションプロ
グラムの仕様変更を、アプリケーションプログラムの変
更無しに対応することができる。
【図面の簡単な説明】
【図1】本実施形態の情報処理装置を示すブロック図で
ある。
【図2】本実施形態の情報処理装置の第1の具体例を示
す図である。
【図3】図2に示す具体例における処理のフローチャー
トを示す図である。
【図4】状態フラグの例を示す図である。
【図5】動作記述部及び動作キー記述部の例を示す図で
ある。
【図6】本実施形態の情報処理装置の動作を示すフロー
チャートである。
【図7】本実施形態の情報処理装置の第2の具体例を示
す図である。
【図8】図2に示す具体例の従来例による処理のフロー
チャートを示す図である。
【図9】レディキューを説明するための図である。
【図10】レディキューに繋がれているタスクの順番を
変更する処理のフローチャートを示す図である。
【図11】タスク1が単数の資源を獲得、解放する場合
を説明するための図である。
【図12】図11のタスク1のプログラムの抜粋を示す
図である。
【図13】タスク1が複数の資源を獲得、解放する場合
を説明するための図である。
【図14】図13のタスク1のプログラムの抜粋を示す
図である。
【符号の説明】
1 状態フラグ 2 動作記述部 3 動作したキー記述部 4 リアルタイムOS

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 オペレーティングシステム(OS)の制
    御に基づいて処理動作を行う情報処理装置において、 前記OS内部における特定条件の成立を保持する状態フ
    ラグと、 この状態フラグが保持する特定条件に対応した動作を記
    述する動作記述部と、 を有し、前記動作記述部に記述された動作を行うことを
    特徴とする情報処理装置。
  2. 【請求項2】 オペレーティングシステム(OS)の制
    御に基づいて処理動作を行う情報処理装置において、 前記OS内部における特定条件の成立を保持する状態フ
    ラグと、 この状態フラグが保持する特定条件に対応した動作を記
    述する動作記述部と、 この動作記述部に記述された動作を実行するためのデー
    タを保持する動作キー記述部と、 を有し、動作記述部に記述された動作を、前記動作キー
    記述部に記述されたデータを用いて行うことを特徴とす
    る情報処理装置。
  3. 【請求項3】 前記状態フラグは、 前記OS内部における特定条件の成立をビットパターン
    を用いて保持することを特徴とする請求項1又は2記載
    の情報処理装置。
  4. 【請求項4】 前記動作記述部は、 前記状態フラグが保持する特定条件に対応した動作を前
    記OSの内部ルーチンとは異なったプログラムにより記
    述することを特徴とする請求項1又は2記載の情報処理
    装置。
  5. 【請求項5】 リアルタイムOSとそのリアルタイムO
    S上で動作する複数のタスクとにより複数の装置の動作
    を制御する情報処理装置において、 前記リアルタイムOSが障害が起きたことを保持する第
    1のフラグ、及び、スケジューリングの操作を開始する
    ことを保持する第2のフラグを有する状態フラグと、 前記第1及び第2のフラグが保持する条件に基づいて、
    対応する動作を記述する動作記述部と、 を有し、前記動作記述部に記述された動作を行うことを
    特徴とする情報処理装置。
  6. 【請求項6】 リアルタイムOSとそのリアルタイムO
    S上で動作する複数のタスクとにより複数の資源の排他
    制御を行う情報処理装置において、 前記複数の資源の排他制御を行う計数セマフォへ変更可
    能とする状態を保持するセマフォ変更フラグを有する状
    態フラグと、 前記セマフォ変更フラグが保持する計数セマフォへ変更
    可能とする状態に対応した動作を記述する動作記述部
    と、 この動作記述部に記述された計数セマフォへ変更するた
    めのパラメータを保持する動作キー記述部と、 を有し、動作記述部に記述された動作を、前記動作キー
    記述部に記述されたデータを用いて行うことを特徴とす
    る情報処理装置。
  7. 【請求項7】 オペレーティングシステム(OS)の制
    御に基づいて処理動作を行う情報処理方法において、 前記OS内部における特定条件の成立を保持し、 この保持した特定条件に対応した動作を記述しておき、
    この記述された動作を行うことを特徴とする情報処理方
    法。
  8. 【請求項8】 オペレーティングシステム(OS)の制
    御に基づいて処理動作を行う情報処理方法において、 前記OS内部における特定条件の成立を保持し、 この保持した特定条件に対応した動作を記述しておき、
    この記述された動作を実行するために保持されたデータ
    を用いて、前記記述された動作を行うことを特徴とする
    情報処理方法。
  9. 【請求項9】 オペレーティングシステム(OS)の制
    御に基づいて処理動作を行うコンピュータに用いられる
    情報処理プログラムを記録した読み取り可能な記録媒体
    において、 前記OS内部における特定条件の成立を保持させるステ
    ップと、 この保持させた特定条件に対応した動作を記述させるス
    テップと、 を有し、前記コンピュータに、前記動作を記述させるス
    テップにて記述された動作を実行させることを特徴とす
    る情報処理プログラムを記録した読み取り可能な記録媒
    体。
  10. 【請求項10】 オペレーティングシステム(OS)の
    制御に基づいて処理動作を行うコンピュータに用いられ
    る情報処理プログラムを記録した読み取り可能な記録媒
    体において、 前記OS内部における特定条件の成立を保持させるステ
    ップと、 この保持させた特定条件に対応した動作を記述させるス
    テップと、 この記述された動作を実行するためのデータを保持させ
    るステップと、 を有し、前記コンピュータに、前記動作を記述させるス
    テップに記述された動作を、前記保持された動作を実行
    するためのデータを用いて実行させることを特徴とする
    情報処理プログラムを記録した読み取り可能な記録媒
    体。
  11. 【請求項11】 前記特定条件の成立を保持させるステ
    ップは、 前記OS内部における特定条件の成立をビットパターン
    を用いて保持することを特徴とする請求項9又は10記
    載の情報処理プログラムを記録した読み取り可能な記録
    媒体。
  12. 【請求項12】 前記動作を記述させるステップは、 前記保持された特定条件に対応した動作を前記OSの内
    部ルーチンとは異なったプログラムにより記述すること
    を特徴とする請求項9又は10記載の情報処理プログラ
    ムを記録した読み取り可能な記録媒体。
  13. 【請求項13】 リアルタイムOSとそのリアルタイム
    OS上で動作する複数のタスクとにより複数の装置の動
    作を制御するコンピュータシステムに用いられる情報処
    理プログラムを記録した読み取り可能な記録媒体におい
    て、 前記リアルタイムOSが障害が起きたことを第1のフラ
    グに保持させ、及び、スケジューリングの操作を開始す
    ることを第2のフラグに保持させるステップと、 前記
    第1及び第2のフラグに保持させる条件に基づいて、対
    応する動作を記述させるステップと、 を有し、前記コンピュータに前記記述された動作を実行
    させることを特徴とする情報処理プログラムを記録した
    読み取り可能な記録媒体。
  14. 【請求項14】 リアルタイムOSとそのリアルタイム
    OS上で動作する複数のタスクとにより複数の資源の排
    他制御をコンピュータにより実行させる情報処理プログ
    ラムを記録した読み取り可能な記録媒体において、 前記複数の資源の排他制御を行う計数セマフォへ変更可
    能とする状態をセマフォ変更フラグに保持させるステッ
    プと、 前記保持させた計数セマフォへ変更可能とする状態に対
    応した動作を記述させるステップと、 この記述させた計数セマフォへ変更するためのパラメー
    タを動作キー記述部に保持させるステップと、 を有し、前記動作記述部に記述された動作を、前記動作
    キー記述部に記述されたデータを用いてコンピュータに
    実行させることを特徴とする情報処理プログラムを記録
    した読み取り可能な記録媒体。
JP12249297A 1997-05-13 1997-05-13 情報処理装置、情報処理方法、及び、情報処理プログラムを記録した読み取り可能な記録媒体 Pending JPH10312294A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12249297A JPH10312294A (ja) 1997-05-13 1997-05-13 情報処理装置、情報処理方法、及び、情報処理プログラムを記録した読み取り可能な記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12249297A JPH10312294A (ja) 1997-05-13 1997-05-13 情報処理装置、情報処理方法、及び、情報処理プログラムを記録した読み取り可能な記録媒体

Publications (1)

Publication Number Publication Date
JPH10312294A true JPH10312294A (ja) 1998-11-24

Family

ID=14837192

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12249297A Pending JPH10312294A (ja) 1997-05-13 1997-05-13 情報処理装置、情報処理方法、及び、情報処理プログラムを記録した読み取り可能な記録媒体

Country Status (1)

Country Link
JP (1) JPH10312294A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9632842B2 (en) 2011-03-31 2017-04-25 Fujitsu Limited Exclusive access control method prohibiting attempt to access a shared resource based on average number of attempts and predetermined threshold

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9632842B2 (en) 2011-03-31 2017-04-25 Fujitsu Limited Exclusive access control method prohibiting attempt to access a shared resource based on average number of attempts and predetermined threshold

Similar Documents

Publication Publication Date Title
US9864627B2 (en) Power saving operating system for virtual environment
KR930000592B1 (ko) 타스크 추적장치
US7971205B2 (en) Handling of user mode thread using no context switch attribute to designate near interrupt disabled priority status
US6275893B1 (en) Method and apparatus for providing seamless hooking and intercepting of selected kernel and HAL exported entry points in an operating system
US7814295B2 (en) Moving processing operations from one MIMD booted SIMD partition to another to enlarge a SIMD partition
JP5443172B2 (ja) 処理環境での命令実行の制御
JP2692609B2 (ja) マルチタスクのプログラムデバッグ方法とその装置
EP1380947A2 (en) Method for forking or migrating a virtual machine
CA2386658A1 (en) System of reusable software parts for implementing concurrency and hardware access, and methods of use
JP2007328782A (ja) カーネル間でカーネル・サービスを共用するための方法、装置、およびコンピュータ・プログラム
US20090024830A1 (en) Executing Multiple Instructions Multiple Data ('MIMD') Programs on a Single Instruction Multiple Data ('SIMD') Machine
US7539992B2 (en) Scheduling method, program product for use in such method, and task scheduling apparatus
Schneider et al. Migration of automotive real-time software to multicore systems: First steps towards an automated solution
US7831803B2 (en) Executing multiple instructions multiple date (‘MIMD’) programs on a single instruction multiple data (‘SIMD’) machine
Bertolotti et al. Real-time embedded systems: open-source operating systems perspective
JP2000066904A (ja) マルチタスク制御方法及び記憶媒体
JPH1021094A (ja) リアルタイム制御方式
US8732441B2 (en) Multiprocessing system
EP0290942A2 (en) Guest machine execution control system for virtual machine system
JP5678347B2 (ja) Itシステムの構成方法、そのコンピュータプログラムおよびitシステム
CN116225527A (zh) 嵌入式系统
US7043565B1 (en) System and method for transferring data over an external transmission medium
JP5235900B2 (ja) 命令実行を容易にするためのバッファの使用
JPH10312294A (ja) 情報処理装置、情報処理方法、及び、情報処理プログラムを記録した読み取り可能な記録媒体
Molyakov Token scanning as a new scientific approach in the creation of protected systems: A new generation OS MICROTEK