JP3763452B2 - Information processing system, object priority management method, operating system, and recording medium - Google Patents
Information processing system, object priority management method, operating system, and recording medium Download PDFInfo
- Publication number
- JP3763452B2 JP3763452B2 JP2000362839A JP2000362839A JP3763452B2 JP 3763452 B2 JP3763452 B2 JP 3763452B2 JP 2000362839 A JP2000362839 A JP 2000362839A JP 2000362839 A JP2000362839 A JP 2000362839A JP 3763452 B2 JP3763452 B2 JP 3763452B2
- Authority
- JP
- Japan
- Prior art keywords
- processing
- priority
- group
- software component
- priority table
- 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.)
- Expired - Fee Related
Links
Images
Description
【0001】
【発明の属する技術分野】
本発明は、コンピュータからなる情報処理システム上で所定の処理を実行するための環境を、当該コンピュータに構築するための技術に関する。
【0002】
【従来の技術】
情報処理システムには、その情報処理システムに接続されるハードウェアを制御したり、入力されるデータの処理を実行したり、処理されたデータの出力を制御したりするための各種ソフトウェアが組み込まれる。ソフトウェアは、各種処理を行うために、タスクやソフトウェア部品を組み合わせて構成されるのが一般的である。タスクは、処理の最小単位である。
ソフトウェア部品は、内部に、処理を分担する複数のタスクを備えており、これらのタスクが協働して処理を行うことにより、ソフトウェア部品としての処理を実現する。タスクを実行するためには、タスク間の同期をとるためのイベントフラグやセマフォ等が必要となる。このようなイベントフラグやセマフォ等もソフトウェア部品内に備えられる。これらのタスクや、イベントフラグ、セマフォ等のソフトウェア部品の動作要素を、本明細書では「オブジェクト」と称する。
ソフトウェア部品には、例えば、TCP/IP(Transmission Control Protocol/Internet Protocol)等の各種通信プロトコルの処理や、画面の制御、ファイルを管理するもの等がある。
【0003】
ソフトウェア部品の中には、パフォーマンスを保証する必要があるものがある。例えば、プロトコルをサポートするようなものである。ここでパフォーマンスとは、処理速度や処理結果の精度等である。
従来、情報処理システム内のすべてのタスクに優先度を付け、優先度の高い順にタスクの処理を実行している。つまり、情報処理システム内で、タスクの優先度を一元的に管理している。優先度は、通常、システム設計者が情報処理システムの設計段階で決めて割り振る。
優先度を一元的に管理するために、タスクの優先度は、情報処理システム全体での比較となる。そのため、ソフトウェア部品単体では十分なパフォーマンスが出せたとしても、情報処理システムに実装した際に、パフォーマンスが保証できなくなることがある。例えば、ソフトウェア部品を構成する複数のタスクの優先度を、ソフトウェア部品以外のタスクの優先度と同列で扱うため、ソフトウェア部品内のタスクの処理中に、タスク優先度に応じて、ソフトウェア部品以外のタスクに制御が渡ってしまい、ソフトウェア部品としての処理が完結せずに十分なパフォーマンスを出せなくなる。
【0004】
図6を例に、従来の優先度の概念によるタスクの処理順序について説明する。
図6では、情報処理システム全体の優先度が1〜10まで設けてあり、10個のタスクにいずれかの優先度が割り振られている。ここで、優先度「4」のタスクA、優先度「7」のタスクB、優先度「9」のタスクCは、一つのソフトウェア部品をなすものとする。このソフトウェア部品は、タスクA、タスクB、タスクCにより連続して処理を行う場合、最高のパフォーマンスを発揮する。しかし、図6のように、タスクAとタスクBとの間にタスク4、タスク5による処理が行われ、タスクBとタスクCとの間にタスク6による処理が行われると、ソフトウェア部品としての処理の合間に別の処理による割り込みが入ることになり、パフォーマンスが低下することになる。
【0005】
【発明が解決しようとする課題】
本発明の課題は、上記のような問題点に鑑み、ソフトウェア部品による処理の中でパフォーマンスの保証をする必要があるものについて、そのパフォーマンスを低下させることなく処理を実行できるようにする技術を提供することにある。
【0006】
【課題を解決するための手段】
以上のような課題を解決する本発明は、複数のオブジェクトによる処理をオブジェクト単位で実行することにより所定の機能を実現する情報処理システムである。この情報処理システムは、前記複数のオブジェクトを、処理のパフォーマンスに影響する第1オブジェクトのグループと処理のパフォーマンスに影響しない第2オブジェクトとに分類し、前記グループによる処理の実行順序と前記第2オブジェクトによる処理の実行順序との優先度を定める主優先度テーブルを作成するとともに前記第1オブジェクトによる処理の実行順序の優先度を定める従優先度テーブルを作成する第1の手段と、前記作成された主優先度テーブルを用いた前記処理の実行中に、前記グループによる処理の実行順序が最優先になったときに、前記従優先度テーブルを用いた前記処理に切り換える第2の手段と、を備える。
このとき、前記第1の手段は、例えば、前記グループを、2以上のオブジェクトにより構成されて所定の処理を行う1以上のソフトウェア部品毎に形成し、前記ソフトウェア部品毎に前記従優先度テーブルを作成するようにしてなるようにしてもよい。
【0007】
また、本発明は、オブジェクトと、2以上のオブジェクトにより構成されて処理を行う1以上のソフトウェア部品と、により所定の処理を行う情報処理システムである。この情報処理システムは、オブジェクトを、前記ソフトウェア部品毎のオブジェクトのグループと、いずれのソフトウェア部品にも属さないオブジェクトのグループとにグループ化し、前記いずれのソフトウェア部品にも属さないオブジェクトによる処理の実行順序と前記ソフトウェア部品による処理の実行順序との優先度を定める主優先度テーブルを作成するとともに、ソフトウェア部品を構成するオブジェクトによる処理の実行順序の優先度を定める従優先度テーブルを前記ソフトウェア部品毎に作成する第1の手段と、前記作成された主優先度テーブルを用いた前記処理の実行中に、ソフトウェア部品による処理の実行順序が最優先になったときに、当該ソフトウェア部品について定められた従優先度テーブルを用いた前記処理に切り換える第2の手段と、を備える。
このとき、例えば、前記ソフトウェア部品が、当該ソフトウェア部品の処理のパフォーマンスに影響しないオブジェクトを含んでいる場合、前記第1の手段は、ソフトウェア部品のパフォーマンスに影響しない前記オブジェクトの優先度を、前記主優先度テーブルに含むようにしてなるようにしてもよい。
【0008】
これらの本発明により、処理のパフォーマンスに関するオブジェクトの処理時に、他のオブジェクトにより、そのパフォーマンスを低下させることが無くなる。つまり、パフォーマンスに関するオブジェクトの処理中には、他のオブジェクトによる処理の発生を抑えて、パフォーマンスを保証する。ここでパフォーマンスとは、例えば、処理の速度であったり、処理結果の精度等である。
例えば、ソフトウェア部品のように、複数のオブジェクトにより所定の処理を優先的に完結させる必要がある場合などに有効である。
なお、オブジェクトとは、例えば、タスクや、イベントフラグ、セマフォ等の動作要素である。
【0009】
本発明は、以下のような方法によっても実現可能である。即ち、複数のオブジェクトによる処理を実行することにより所定の処理を行う装置において実行される方法であって、前記複数のオブジェクトを所定の条件により主グループと1以上の従グループとに分ける第1段階と、前記主グループに属するオブジェクトによる処理及び前記従グループによる処理を行う優先度を定める主優先度テーブルを作成する第2段階と、前記従グループに属するオブジェクトの処理を行う優先度を定める従優先度テーブルを、従グループ毎に作成する第3段階と、を含み、前記作成された主優先度テーブルを用いた処理の実行中に、従グループによる処理が最優先になったときは、当該従グループについて定められた従優先度テーブルを用いた処理に切り換え、当該従優先度テーブルを用いた処理の終了時に、前記主優先度テーブルを用いた処理に切り換えることを特徴とする、オブジェクトの優先度管理方法である。
前記第1段階では、例えば、前記複数のオブジェクトを、処理がパフォーマンスに影響しない主グループと処理がパフォーマンスに影響する従グループとに分けるようにしてもよい。
【0010】
本発明は、以下のような方法によっても実現可能である。即ち、情報処理システム全体のタスク及び1以上のソフトウェア部品の優先度を定める主優先度テーブルと、前記1以上のソフトウェア部品内部のタスクの優先度をソフトウェア部品毎に定める従優先度テーブルと、その時点で使用する前記主優先度テーブル又は従優先度テーブルを指定するポインタとを備え、前記ポインタが指定する優先度テーブルに基づいて前記タスク又は前記ソフトウェア部品による処理を実行する装置において実行される方法であって、前記ポインタが、前記主優先度テーブルを指定しているときに、ソフトウェア部品の処理が最優先になると、当該ソフトウェア部品について定められた従優先度テーブルを指定するようにする、オブジェクトの優先度管理方法である。
【0011】
本発明は、以下のようなオペレーティングシステムによっても実現可能である。即ち、複数のオブジェクトによる処理をオブジェクト単位で実行することにより所定の機能を実現するオペレーティングシステムにおいて、前記複数のオブジェクトを、処理のパフォーマンスに影響する第1オブジェクトのグループと処理のパフォーマンスに影響しない第2オブジェクトとに分類し、前記グループによる処理の実行順序と前記第2オブジェクトによる処理の実行順序との優先度を定める主優先度テーブルを作成するとともに前記第1オブジェクトによる処理の実行順序の優先度を定める従優先度テーブルを作成する第1の手段と、前記作成された主優先度テーブルを用いた前記処理の実行中に、前記グループによる処理の実行順序が最優先になったときに、前記従優先度テーブルを用いた前記処理に切り換える第2の手段と、を備える、オペレーティングシステムである。
【0012】
本発明は、以下のようなオペレーティングシステムによっても実現可能である。即ち、オブジェクトと、2以上のオブジェクトにより構成されて処理を行う1以上のソフトウェア部品と、により所定の処理を行うオペレーティングシステムにおいて、オブジェクトを、前記ソフトウェア部品毎のオブジェクトのグループと、いずれのソフトウェア部品にも属さないオブジェクトのグループとにグループ化し、前記いずれのソフトウェア部品にも属さないオブジェクトによる処理の実行順序と前記ソフトウェア部品による処理の実行順序との優先度を定める主優先度テーブルを作成するとともに、ソフトウェア部品を構成するオブジェクトによる処理の実行順序の優先度を定める従優先度テーブルを前記ソフトウェア部品毎に作成する第1の手段と、前記作成された主優先度テーブルを用いた前記処理の実行中に、ソフトウェア部品による処理の実行順序が最優先になったときに、当該ソフトウェア部品について定められた従優先度テーブルを用いた前記処理に切り換える第2の手段と、を備える、オペレーティングシステムである。
【0013】
本発明は、以下のようなプログラムが記録された記録媒体をコンピュータに読み取らせて実行させることによっても実現可能である。即ち、複数のオブジェクトによる処理をオブジェクト単位で実行することにより所定の機能を実現するコンピュータに、前記複数のオブジェクトを、処理のパフォーマンスに影響する第1オブジェクトのグループと処理のパフォーマンスに影響しない第2オブジェクトとに分類し、前記グループによる処理の実行順序と前記第2オブジェクトによる処理の実行順序との優先度を定める主優先度テーブルを作成するとともに前記第1オブジェクトによる処理の実行順序の優先度を定める従優先度テーブルを作成する処理、前記作成された主優先度テーブルを用いた前記処理の実行中に、前記グループによる処理の実行順序が最優先になったときに、前記従優先度テーブルを用いた前記処理に切り換える処理、を実行させるためのプログラムが記録された、コンピュータ読み取り可能な記録媒体がその一例である。
【0014】
また、他の例として、本発明は、以下のようなプログラムが記録された記録媒体をコンピュータに読み取らせて実行させることによっても実現可能である。即ち、オブジェクトと、2以上のオブジェクトにより構成されて処理を行う1以上のソフトウェア部品と、により所定の処理を行うコンピュータに、オブジェクトを、前記ソフトウェア部品毎のオブジェクトのグループと、いずれのソフトウェア部品にも属さないオブジェクトのグループとにグループ化し、前記いずれのソフトウェア部品にも属さないオブジェクトによる処理の実行順序と前記ソフトウェア部品による処理の実行順序との優先度を定める主優先度テーブルを作成するとともに、ソフトウェア部品を構成するオブジェクトによる処理の実行順序の優先度を定める従優先度テーブルを前記ソフトウェア部品毎に作成する処理、前記作成された主優先度テーブルを用いた前記処理の実行中に、ソフトウェア部品による処理の実行順序が最優先になったときに、当該ソフトウェア部品について定められた従優先度テーブルを用いた前記処理に切り換える処理、を実行させるためのプログラムが記録された、コンピュータ読み取り可能な記録媒体である。
【0015】
【発明の実施の形態】
以下、本発明の実施形態を図面を参照して詳細に説明する。
本発明では、グループ優先度の概念に基づいて、タスク等のオブジェクトの優先度を管理する。
【0016】
グループ優先度について説明する。
オブジェクトを、各種処理を単体で行うオブジェクトのグループと、複数のオブジェクトで協働して一つの処理を行うオブジェクトのグループとに分ける。ここで後者をソフトウェア部品と呼ぶ。オペレーティングシステムは、オブジェクト及びソフトウェア部品についての優先度を管理し、実行することにより所望のアプリケーションソフトウェアを実現する。
【0017】
単体で処理を行うオブジェクト(第1オブジェクト)は、アプリケーションソフトウェアから各種要求を受け付け、要求による処理結果をアプリケーションソフトウェアに返す。ソフトウェア部品内のオブジェクトには、アプリケーションソフトウェアから各種要求を受け付け、ソフトウェア部品内で行われる要求に対する処理結果をアプリケーションに返すオブジェクト(第2オブジェクト)と、ソフトウェア部品内に固有で、アプリケーションソフトウェアや他のソフトウェア部品とは、直接要求を受けたり処理結果を返さないオブジェクト(第3オブジェクト)とがある。第3オブジェクトは、ソフトウェア部品の中核であり、ソフトウェア部品が行う処理のパフォーマンスに影響するものである。
【0018】
第1オブジェクト及びソフトウェア部品を一つのグループとして、グループ番号「0」を割り振る。また、第2、第3オブジェクトを、ソフトウェア部品毎のグループに分け、各グループにグループ番号を割り振る。
グループ番号「0」に属する第1オブジェクト及びソフトウェア部品に、処理の順序を表す優先度を割り振り、優先度テーブルを作成する。
例えば、図1に示すようなグループ0の優先度テーブルを作成する。図1に示すグループ0の優先度のテーブルには、グループ0に属するオブジェクトの他に、各ソフトウェア部品(グループ1、2)の優先度も割り振られる。
また、各ソフトウェア部品についても、ソフトウェア部品毎にソフトウェア部品内のオブジェクトに優先度を割り振り、優先度テーブルを作成する。図1では、グループ1の優先度テーブル、グループ2の優先度テーブルが、それに当たる。
【0019】
グループ0では、優先度1〜7の順序で、タスク1→タスク2→タスク3→グループ1→タスク5→グループ2→タスク7の処理を行うようにしてもよいが、本実施形態では、実行準備が完了した各タスク及び各グループの中で、優先度が最も高いものから処理を実行する。例えば、タスク1の実行準備完了前にタスク2の実行準備が完了すると、タスク2の優先度がタスク1の優先度より低い場合であってもタスク2が実行される。
グループ0でグループ1の実行準備が整い、優先度1〜3のタスク1〜3の実行準備が整っていない場合、優先度4であるグループ1の処理が実行される。この場合、グループ1の優先度テーブルに処理が移り、グループ1のタスクA〜Dを実行する。つまり、アプリケーションソフトウェアからグループ1の第2オブジェクトのタスクに処理を要求し、第2オブジェクトのタスクが、グループ1内の優先度に基づき第3オブジェクトのタスクを用いてグループ1のソフトウェア部品としての処理を行わせる。処理結果は、第2オブジェクトからアプリケーションソフトウェアに返す。これにより、グループ0の優先度4の処理が終了する。
【0020】
例えば、タスクAを第2オブジェクト、タスクB、C、Dを第3オブジェクトとする。グループ0の優先度4の処理が始まると、グループ1の優先度1であるタスクAは、アプリケーションソフトウェアから処理の要求を受け付ける。タスクAは、要求を受け付けると、第3オブジェクトによる処理結果が導出されるまで待機状態に移行する。その結果、グループ1の優先度2以降の処理が実行可能となる。タスクAが要求を受け付けると、タスクB、C、Dは、グループ1の優先度テーブルに従って要求に応じた処理を実行し、処理結果をタスクAに戻す。タスクAは、処理結果を受け取ると待機状態が終了し、アプリケーションソフトウェアに処理結果を返す。
【0021】
グループ0で優先度6のグループ2が実行されるときも同様の処理が行われる。このようにして、グループ0の優先度テーブルから他のグループの優先度テーブルによる処理を行わせて、再びグループ0の優先度テーブルに基づく処理に戻ることが可能となる。
【0022】
グループ1、グループ2の各ソフトウェア部品の処理を行うときは、各グループ内の優先度に基づいてタスクを実行して、自グループより優先度の低いタスクやグループに処理が移ることはないようにする。
パフォーマンスを保証する必要のあるソフトウェア部品を一つのグループとして、当該グループ内で優先度を定め、処理を実行することができるようになるので、従来のように、他のソフトウェア部品やタスクに処理が移動して、ソフトウェア部品自体のパフォーマンスの低下を招くことはなくなる。
【0023】
【実施例】
図2は、以上のようなグループ優先度の概念に基づいて、オブジェクトの優先度順に処理を行う情報処理システムの構成図である。
この情報処理システム10は、オペレーティングシステム(以下、OSという。)20と、所定のアプリケーションソフトウェア30とを備えている。アプリケーションソフトウェア30は、タスク等のオブジェクトやソフトウェア部品を優先度に従い実行することにより、所定の処理を実現する。
OS20は、モニタ部21と、グループ化されたオブジェクトの各グループに割り振られるグループ番号に対応した優先度テーブル23a〜cを備えており、オブジェクト及びソフトウェア部品による処理を優先度テーブルに基づいて実行して、種々の処理を行う。
各オブジェクトには、通常、システム設計者により優先度が割り振られるが、OS20側で、自動で割り振るようにしてもよい。
【0024】
モニタ部21は、各オブジェクトの優先度を、当該オブジェクトが属するグループのグループ番号に対応する優先度テーブルに記録する。また、各オブジェクト及びソフトウェア部品による処理が、優先度テーブル23a〜cに基づく順序で実行されるように制御する。モニタ部21は、その時点で使用する優先度テーブル23a〜cを指し示すポインタ22を備える。
【0025】
優先度テーブル23a〜cは、グループ番号のそれぞれに対応しており、自グループに属するオブジェクトやソフトウェア部品の優先度テーブルを保持する。なお、本実施形態では優先度テーブルを3つとしているが、これは、ソフトウェア部品(グループ)の数により決まるものであり、ソフトウェア部品が5つの場合は、グループ0を加えて優先度テーブルが6つとなり、ソフトウェア部品が1つの場合は、グループ0を加えて優先度テーブルが2つとなる。
【0026】
以下のようにして、各優先度テーブル23a〜cにテーブルを保存する。
まず、第1オブジェクト及びソフトウェア部品をグループ0として、グループ番号「0」を指定する。そして、第1オブジェクト及びソフトウェア部品に対して、処理順序を定める優先度を割り振る。モニタ部21は、第1オブジェクト及びソフトウェア部品の優先度のテーブルを優先度テーブル23aに保存する。
次いで、先に情報処理システム10に登録する第1ソフトウェア部品をグループ1として、グループ番号「1」を指定する。そして、第1ソフトウェア部品内部のオブジェクトに対して優先度を割り振る。モニタ部21は、第1ソフトウェア部品内部のオブジェクトの優先度のテーブルを優先度テーブル23bに保存する。
次いで、後に情報処理システム10に登録する第2ソフトウェア部品をグループ2として、グループ番号「2」を指定する。そして、第2ソフトウェア部品内部のオブジェクトに対して優先度を割り振る。モニタ部21は、第2ソフトウェア部品内部のオブジェクトの優先度のテーブルを優先度テーブル23cに保存する。
モニタ部21は、タスクの制御も行っているため、どのグループ番号のタスクが動作しているかを判別することができる。
【0027】
モニタ部21は、デフォルトでグループ0の優先度テーブル23aに基づいてオブジェクトを実行させる。優先度テーブル23aでソフトウェア部品(グループ)の実行順序になると、ポインタ22が、該当するグループの優先度テーブル23b又は優先度テーブル23cを指定して、指定した優先度テーブルの優先度順に従って、ソフトウェア部品内部のオブジェクトを実行するように切り換える。
【0028】
図3を例にすると、モニタ部21は、デフォルトであるグループ0の優先度テーブル23aに従って、タスク1〜3の処理を行う。そして、優先度「4」のグループ1の処理の順番になると、ポインタ22がグループ1の処理の優先度テーブルである優先度テーブル23bを指定して、グループ1のタスクA〜Dを優先度テーブル23bに基づいて実行させる。グループ1の処理が終了すると、ポインタ22は、再びグループ0の優先度テーブル23aを指定して、優先度「5」のタスク5の処理を実行させる。
次いで、優先度「6」のグループ2の処理になると、ポインタ22がグループ2の処理の優先度テーブルである優先度テーブル23cを指定して、グループ2のタスクX〜Zを優先度テーブル23cに基づいて実行させる。グループ2の処理が終了すると、ポインタ22はグループ0の優先度テーブル23aを指定して、優先度「7」のタスク7の処理を実行する。
以上のようにして、すべてのタスクの処理が終了する。
【0029】
図4を用いて、さらに詳細に説明する。ここでは、グループ番号及び優先度を16ビットで表すこととし、1234H(Hは16進数で表すことを示す。)という数値で表す場合、12Hをグループ番号、34Hを優先度とする。
【0030】
第1オブジェクトのタスク4つ(タスク1〜タスク4)及びソフトウェア部品2つ(グループ1、2)をグループ0として、グループ番号「0」を割り振る。次いで、タスク及びソフトウェア部品に優先度を割り振る。図4では、以下のようになる。
タスク1 0001H
グループ1 0002H
タスク2 0003H
タスク3 0005H
グループ2 0006H
タスク4 0007H
各タスク及びグループは、グループ0を表す「00H」と、優先度を表す「01H」〜「07H」により表される。
【0031】
次に、第1ソフトウェア部品内のタスクに優先度を設定する。第1ソフトウェア部品内のタスクは、第1ソフトウェア部品のパフォーマンスに影響するタスクA、B、Cと、パフォーマンスに影響しないタスクK、Lとからなる。第1ソフトウェア部品をグループ1として、グループ番号「1」を割り振る。次いで、タスクに優先度を割り振る。ここで、優先度は、第1ソフトウェア部品のパフォーマンスに影響するタスクA、B、Cについてはグループ1内で独自の優先度を割り振ることになるが、タスクK、Lについては、第1ソフトウェア部品のパフォーマンスに影響を与えないので、グループ0の優先度テーブルに基づいて優先度が割り振られる。図4では、以下のようになる。
タスクA FF03H
タスクB FF04H
タスクC FF05H
タスクK 0004H
タスクL 0005H
タスクA〜Cは、グループ0以外のグループを表す「FFH」と、優先度を表す「03H」〜「05H」により表される。タスクK、Lは、グループ0を表す「00H」と、優先度を表す「04H」、「05H」により表される。
尚、タスクK、Lは、予めグループ0として優先度テーブル23aに登録してもよい。つまり、パフォーマンスに関するタスクのみをグループ化して、パフォーマンスに関しないタスクは従来と同様に、グループ0のタスクと同列で管理するようにしてもよい。
【0032】
次に、第2ソフトウェア部品内のタスクに優先度を設定する。第2ソフトウェア部品内のタスクは、第2ソフトウェア部品のパフォーマンスに影響するタスクX、Y、Zからなる。第2ソフトウェア部品をグループ2として、グループ番号「2」を割り振る。次いで、タスクに優先度を割り振る。図4では、以下のようになる。
タスクX FF01H
タスクY FF03H
タスクZ FF04H
タスクX〜Zは、グループ0以外のグループを表す「FFH」と、優先度を表す「01H」、「03H」、「04H」により表される。
【0033】
グループ1のタスクAとグループ2のタスクYとは、同じ「FF03H」により優先度が表されるが、ポインタ22により指定された優先度テーブルにおいて優先度を指定してタスクの処理を実行するために、両者を混同することはない。つまり、同じ優先度で表されていても異なる優先度テーブルで両者を管理し、ポインタ22でいずれかの優先度テーブルを指定して処理を実行させるために、両者の混同は起こらない。これは、グループ1のタスクBとグループ2のタスクZについても同様である。
【0034】
図4に示す優先度テーブルにより実行されるタスクの処理順序は、以下のようになる。ここでは、一度処理を行ったタスクは待機状態になるものとする。
まず、グループ0の優先度テーブル23aに従い、優先度「01H」のタスク1の処理が実行される。ついで、優先度「02H」のグループ1へ処理が移る。モニタ21のポインタ22は、グループ1の優先度テーブルである優先度テーブル23bを指定する。そして、グループ1の優先度テーブル23bに従い、タスクA、タスクB、タスクCの処理を、この順序で実行する。グループ1の優先度テーブル23bによる順序での処理が終了すると、ポインタ22は、再び優先度テーブル23aを指定して、引き続きグループ0の優先度テーブル23aに基づいた処理を行う。
【0035】
グループ1のタスクA、B、Cの優先度は、それぞれ「03H」、「04H」、「05H」であるが、グループ0の優先度とは異なる優先度により優先度が決められている。そのために、グループ0の優先度テーブル23aで優先度「02H」のであるグループ1の優先度「05H」のタスクCが、グループ0の優先度「03H」のタスク2よりも先に処理が実行されることとなる。
つまり、グループ1の優先度がタスク2の優先度よりも高いために、グループ1内のタスクの処理が終了するまで、タスク2の処理が実行されることはない。そのために、グループ1のパフォーマンスは、グループ1、つまり第1ソフトウェア部品単体のときと同じになる。
【0036】
グループ0の優先度テーブル23aでは、グループ1の処理に次いで、優先度「03H」のタスク2の処理を実行する。タスク2の処理が終了すると、優先度「04H」の処理を実行する。優先度「04H」はグループ1のタスクKであるが、タスクKが第1ソフトウェア部品のパフォーマンスに影響のないタスクであるために、グループ0の優先度テーブル23aで、その処理順序を指定する。つまり、タスクKは、グループ1に属するが、扱いとしてはグループ0のタスクと同列ということになる。
タスクに割り振られるグループ番号により、どのグループの優先度テーブルを用いるか、つまり、グループ番号が「00H」ならばグループ0の優先度テーブル23aを用い、グループ番号が「FFH」ならば自グループの優先度テーブルを用いることで、このような処理が可能にになる。
【0037】
次いで、グループ0の優先度テーブル23aの優先度「05H」の処理を実行する。優先度「05H」には、グループ0のタスク3及びグループ1のタスクKがあるが、どちらを優先させて処理を実行させるかは、情報処理システム10全体として、システム設計者が決めたり、その都度、他のプログラムにより制御するようにするとよい。例えば、グループ0のタスク3の処理を優先的に実行させたり、実行の準備が先に整ったタスクの処理を先に実行したり、前後のタスクの処理結果によって決めたり等である。
【0038】
次いで、グループ0の優先度テーブル23aの優先度「06H」の処理を実行する。ここでは、グループ2の処理を行うので、ポインタ22は、グループ2の優先度テーブル23cを指定する。グループ2の優先度テーブル23cに従い、タスクX、タスクY、タスクZの処理を、この順序で実行する。グループ2の優先度テーブル23cによる順序での処理が終了すると、ポインタ22は、再び優先度テーブル23aを指定して、引き続きグループ0の優先度テーブル23aに基づいた処理を行う。
【0039】
グループ2のタスクX、Y、Zの優先度は、それぞれ「01H」、「03H」、「04H」であるが、グループ0の優先度とは異なる優先度により優先度が決められている。そのために、グループ2の優先度「01H」のタスクXがグループ0の優先度「05H」のタスク3よりも後に処理が実行される。
つまり、グループ2の優先度がタスク3の優先度よりも低いために、グループ2内のタスクの処理は、タスク3の処理が終了するまで実行されることはない。そのために、グループ2のパフォーマンスは、グループ2、つまり第2ソフトウェア部品単体のときと同じになる。
【0040】
ポインタ22は、グループ2の処理が終了すると再びグループ0の優先度テーブル23aを指定する。グループ0の優先度テーブル23aでは、グループ2の処理に次いで、優先度「07H」のタスク4の処理を実行する。
これにより、図4に示す優先度テーブル23a〜cによるタスクの処理が終了する。
【0041】
タスクを、主となるグループ(グループ0)と従となるソフトウェア部品のグループ(グループ1、2)とに分け、各グループで優先度テーブルを設定する。ソフトウェア部品のグループの優先度テーブルは、他のグループの優先度テーブルから独立しているため、ソフトウェア部品内の処理が終了するまで、自グループより優先度の低いタスクやグループに処理が移ることはない。そのために、ソフトウェア部品単体のときと同じパフォーマンスを保証できるようになる。
【0042】
ここで、第1ソフトウェア部品(グループ1)に機能が追加され、新たなタスクであるタスクDを追加する場合について、図5を用いて説明する。
タスクDは、グループ1内の処理で、優先度としてタスクAとタスクBの間に位置するものとする。この場合、グループ番号「1」をタスクDに割り振る。そして、グループ番号「1」の優先度テーブル23bを参照してタスクAとタスクBの間に処理が実行されるように、タスクDに優先度を割り振る。
【0043】
具体的には、モニタ部21でグループ1の優先度テーブル23bを読み出す。読み出された優先度テーブル23bに基づいてタスクDの処理の優先度を割り振る。この場合は、タスクAの優先度を「FF02H」に変更し、タスクDの優先度を「FF03H」とする。
【0044】
他のグループにタスクやソフトウェア部品を追加する場合も同様に行う。これにより、タスクやソフトウェア部品が追加される優先度テーブルのみを変更することにより優先度の再割り振りが可能となり、情報処理システム内のすべてのタスクについて優先度の再割り振りを行う必要のあった従来と比較して、容易にタスクやソフトウェア部品の追加による機能の追加が行えるようになる。
【0045】
グループ優先度の概念を導入することで、各ソフトウェア部品のパフォーマンスを保証することができる。また、ソフトウェア部品にタスクの追加があった場合でも、ソフトウェア部品内で優先度の再割り振りをするだけで済むために、容易に機能の追加が可能になる。
【0046】
【発明の効果】
以上のような本発明により、情報処理システムに組み込んだ場合でも、ソフトウェア部品のパフォーマンスを低下させることなく実行することができる。
【図面の簡単な説明】
【図1】グループ優先度による優先度テーブルの例示図。
【図2】情報処理システムの構成図。
【図3】モニタ部による処理の説明図。
【図4】優先度テーブルの例示図。
【図5】優先度テーブルの例示図。
【図6】従来の優先度テーブルの例示図。
【符号の説明】
10 情報処理システム
20 オペレーティングシステム
21 モニタ部
22 ポインタ
23a、b、c 優先度テーブル
30 アプリケーション[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a technique for constructing an environment for executing predetermined processing on an information processing system including a computer.
[0002]
[Prior art]
The information processing system incorporates various software for controlling hardware connected to the information processing system, processing input data, and controlling output of processed data. . Software is generally configured by combining tasks and software components in order to perform various processes. A task is the smallest unit of processing.
The software component includes a plurality of tasks that share the processing inside, and the processing as the software component is realized by performing the processing in cooperation with these tasks. In order to execute a task, an event flag, a semaphore, etc. are required to synchronize the tasks. Such event flags and semaphores are also provided in the software component. The operation elements of software components such as these tasks, event flags, and semaphores are referred to as “objects” in this specification.
Examples of software components include processing of various communication protocols such as TCP / IP (Transmission Control Protocol / Internet Protocol), screen control, and file management.
[0003]
Some software components need to guarantee performance. For example, it supports protocols. Here, the performance refers to the processing speed and the accuracy of the processing result.
Conventionally, priorities are assigned to all tasks in the information processing system, and task processing is executed in descending order of priority. That is, task priorities are centrally managed in the information processing system. Priorities are usually determined and assigned by the system designer at the design stage of the information processing system.
In order to centrally manage priorities, task priorities are compared in the entire information processing system. Therefore, even if sufficient performance can be achieved with a single software component, performance may not be guaranteed when mounted on an information processing system. For example, the priority of multiple tasks that make up a software component is handled in the same order as the priority of tasks other than software components, so during the processing of tasks in software components, depending on the task priority, Control is passed to the task, and processing as a software component is not completed, and sufficient performance cannot be achieved.
[0004]
The task processing order based on the concept of priorities will be described with reference to FIG.
In FIG. 6, the priority of the entire information processing system is provided from 1 to 10, and one of the priorities is assigned to 10 tasks. Here, it is assumed that the task A with the priority “4”, the task B with the priority “7”, and the task C with the priority “9” form one software component. This software component exhibits the highest performance when processing is continuously performed by Task A, Task B, and Task C. However, as shown in FIG. 6, when processing by
[0005]
[Problems to be solved by the invention]
In view of the above-described problems, an object of the present invention is to provide a technique that enables processing to be performed without reducing the performance of software components that require performance guarantee. There is to do.
[0006]
[Means for Solving the Problems]
The present invention that solves the above-described problems is an information processing system that realizes a predetermined function by executing processing by a plurality of objects in units of objects. The information processing system classifies the plurality of objects into a first object group that affects processing performance and a second object that does not affect processing performance, and the processing execution order by the group and the second object A first priority table for determining a priority with respect to the execution order of processing according to the first object and a sub priority table for determining a priority with respect to the execution order of the processing by the first object; A second means for switching to the process using the sub priority table when the execution order of the processes by the group has the highest priority during execution of the process using the main priority table. .
At this time, the first means, for example, forms the group for each of one or more software components that are configured by two or more objects and perform predetermined processing, and sets the sub priority table for each software component. You may make it prepare.
[0007]
In addition, the present invention is an information processing system that performs predetermined processing using an object and one or more software components that are configured by two or more objects and perform processing. In this information processing system, an object is grouped into a group of objects for each software component and a group of objects that do not belong to any software component, and the execution order of processing by the objects that do not belong to any software component And a priority level table for determining the priority of the execution order of the processing by the software component, and a sub priority table for determining the priority of the processing execution order by the objects constituting the software component for each software component During execution of the processing using the first means to be created and the created main priority table, when the execution order of the processing by the software component has the highest priority, the slave unit defined for the software component Switch to the process using the priority table Comprising second means for obtaining, a.
At this time, for example, when the software component includes an object that does not affect the processing performance of the software component, the first means assigns the priority of the object that does not affect the performance of the software component to the main component. You may make it include in a priority table.
[0008]
According to these embodiments of the present invention, when an object relating to processing performance is processed, the performance is not degraded by another object. In other words, during the processing of performance-related objects, the generation of processing by other objects is suppressed to ensure performance. Here, the performance is, for example, the processing speed or the accuracy of the processing result.
For example, this is effective when a predetermined process needs to be completed preferentially by a plurality of objects, such as a software component.
An object is an operation element such as a task, an event flag, or a semaphore.
[0009]
The present invention can also be realized by the following method. That is, a method executed in an apparatus that performs a predetermined process by executing a process using a plurality of objects, wherein the plurality of objects are divided into a main group and one or more subgroups according to a predetermined condition. A second step of creating a main priority table for determining the priority for processing by the object belonging to the main group and the processing by the sub group, and sub priority for determining the priority for processing the object belonging to the sub group A third step of creating a degree table for each slave group, and when processing by the slave group has the highest priority during execution of processing using the created master priority table, Switch to processing using the subordinate priority table defined for the group, and at the end of processing using the subordinate priority table, It characterized in that switching to treatment with a primary priority table, a priority management method of an object.
In the first stage, for example, the plurality of objects may be divided into a main group whose processing does not affect performance and a slave group whose processing affects performance.
[0010]
The present invention can also be realized by the following method. That is, a main priority table that determines priorities of tasks of the entire information processing system and one or more software components, a sub-priority table that determines the priorities of tasks within the one or more software components for each software component, And a pointer for designating the main priority table or the subordinate priority table to be used at the time, and a method executed in an apparatus for executing processing by the task or the software component based on the priority table designated by the pointer When the pointer designates the main priority table and the software component processing has the highest priority, the object designates a sub priority table defined for the software component. This is a priority management method.
[0011]
The present invention can also be realized by the following operating system. That is, in an operating system that realizes a predetermined function by executing processing by a plurality of objects in units of objects, the plurality of objects are not affected by the first object group that affects the processing performance and the processing performance. A main priority table that classifies the two objects and determines the priority between the execution order of the processes by the group and the execution order of the processes by the second object, and the priority of the execution order of the processes by the first object A first means for creating a subordinate priority table for determining the process, and when the execution order of the processes by the group has the highest priority during the execution of the process using the created main priority table, A second means for switching to the processing using a sub-priority table; It comprises an operating system.
[0012]
The present invention can also be realized by the following operating system. That is, in an operating system that performs predetermined processing using an object and one or more software components that are configured by two or more objects and perform processing, the object is a group of objects for each software component, and any software component And a main priority table that defines priorities between the execution order of processing by objects not belonging to any software component and the execution order of processing by the software component , First means for creating a subordinate priority table for determining the priority of the execution order of processing by the objects constituting the software component for each software component, and execution of the processing using the created main priority table During the software When the execution order of processing by the A component becomes the highest priority, and a second means for switching to the treatment with 従優 destination degree table defined for the software component is an operating system.
[0013]
The present invention can also be realized by causing a computer to read and execute a recording medium on which the following program is recorded. That is, a computer that realizes a predetermined function by executing processing by a plurality of objects in units of objects, the second group that does not affect the processing performance and the first object group that affects the processing performance. A main priority table that determines the priority of the execution order of the processes by the group and the execution order of the processes by the second object, and sets the priority of the execution order of the processes by the first object When the execution order of processing by the group has the highest priority during the execution of the processing using the created primary priority table, the processing to create a sub priority table to be determined, the sub priority table is A program for executing a process for switching to the process used is recorded. Have been computer-readable recording medium is an example.
[0014]
As another example, the present invention can also be realized by causing a computer to read and execute a recording medium on which the following program is recorded. That is, an object is assigned to a computer that performs a predetermined process using an object and one or more software components that are configured by two or more objects and performs processing. And creating a main priority table that determines the priority of the execution order of the processing by the object that does not belong to any of the software parts and the execution order of the processing by the software parts, A process of creating a subordinate priority table for determining the priority of the execution order of processes performed by objects constituting a software part for each software part, and during execution of the process using the created main priority table, the software part Execution order of processing by There when it becomes the highest priority, a program for executing the processing, switching to the treatment with 従優 destination degree table defined for the software component is recorded a computer-readable recording medium.
[0015]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
In the present invention, the priority of an object such as a task is managed based on the concept of group priority.
[0016]
The group priority will be described.
The object is divided into a group of objects for performing various processes alone and a group of objects for performing a single process in cooperation with a plurality of objects. Here, the latter is called a software component. The operating system manages the priorities of objects and software components and implements desired application software by executing them.
[0017]
An object (first object) that performs processing alone accepts various requests from the application software, and returns the processing result of the request to the application software. An object in the software component is an object (second object) that receives various requests from the application software and returns a processing result for the request made in the software component to the application (second object). The software component includes an object (third object) that does not directly receive a request or return a processing result. The third object is the core of the software component and affects the performance of processing performed by the software component.
[0018]
A group number “0” is assigned to the first object and the software component as one group. The second and third objects are divided into groups for each software component, and a group number is assigned to each group.
A priority indicating a processing order is assigned to the first object and software component belonging to the group number “0”, and a priority table is created.
For example, a priority table for
For each software component, a priority is assigned to an object in the software component for each software component, and a priority table is created. In FIG. 1, the priority table of
[0019]
In
When the
[0020]
For example, task A is a second object, and tasks B, C, and D are third objects. When the process of
[0021]
The same processing is performed when
[0022]
When processing software components in
Since software components that need to guarantee performance can be set as a group and priorities can be set and executed within the group, processing can be performed on other software components and tasks as before. It will not move and cause a drop in the performance of the software component itself.
[0023]
【Example】
FIG. 2 is a configuration diagram of an information processing system that performs processing in the order of object priority based on the concept of group priority as described above.
The
The
Each object is normally assigned a priority by the system designer, but may be automatically assigned on the
[0024]
The
[0025]
The priority tables 23a to 23c correspond to the group numbers, respectively, and hold the priority tables of objects and software parts belonging to the own group. In this embodiment, there are three priority tables. However, this is determined by the number of software components (groups). When there are five software components, the priority table is 6 with
[0026]
The table is stored in each priority table 23a-c as follows.
First, the first object and software component are set as
Next, the first software component registered in the
Next, the second software component to be registered in the
Since the
[0027]
The
[0028]
Taking FIG. 3 as an example, the
Next, when the processing of the
As described above, the processing of all tasks is completed.
[0029]
This will be described in more detail with reference to FIG. Here, the group number and the priority are represented by 16 bits, and when represented by a numerical value of 1234H (H represents a hexadecimal number), 12H is the group number and 34H is the priority.
[0030]
Four tasks (
Each task and group is represented by “00H” representing
[0031]
Next, a priority is set for the task in the first software component. The tasks in the first software component include tasks A, B, and C that affect the performance of the first software component, and tasks K and L that do not affect the performance. The first software component is assigned as
Task A FF03H
Task B FF04H
Task C FF05H
Tasks A to C are represented by “FFH” representing a group other than
Tasks K and L may be registered in the priority table 23a as
[0032]
Next, a priority is set for the task in the second software component. The tasks in the second software component include tasks X, Y, and Z that affect the performance of the second software component. The second software component is
Task X FF01H
Task Y FF03H
Task Z FF04H
The tasks X to Z are represented by “FFH” representing a group other than
[0033]
The task A of
[0034]
The processing order of tasks executed by the priority table shown in FIG. 4 is as follows. Here, it is assumed that the task once processed is in a standby state.
First, according to the priority table 23a of
[0035]
The priorities of the tasks A, B, and C in the
That is, since the priority of
[0036]
In the
Which group priority table is used depending on the group number assigned to the task, that is, if the group number is “00H”, the
[0037]
Next, the process of priority “05H” in the priority table 23a of
[0038]
Next, the processing of priority “06H” in the priority table 23a of
[0039]
The priorities of the tasks X, Y, and Z of the
That is, since the priority of the
[0040]
The
Thereby, the task processing by the priority tables 23a to 23c shown in FIG.
[0041]
Tasks are divided into main groups (group 0) and subordinate software component groups (
[0042]
Here, a case where a function is added to the first software component (group 1) and a new task D is added will be described with reference to FIG.
Task D is a process in
[0043]
Specifically, the priority level table 23b of
[0044]
The same applies when adding tasks or software components to other groups. As a result, it is possible to reallocate priorities by changing only the priority table to which tasks and software components are added, and it has been necessary to reallocate priorities for all tasks in the information processing system. Compared to, functions can be easily added by adding tasks and software components.
[0045]
By introducing the concept of group priority, the performance of each software component can be guaranteed. Further, even when a task is added to a software component, it is only necessary to reallocate the priority within the software component, so that a function can be easily added.
[0046]
【The invention's effect】
According to the present invention as described above, even when incorporated in an information processing system, it can be executed without degrading the performance of software components.
[Brief description of the drawings]
FIG. 1 is a view showing an example of a priority table based on group priorities.
FIG. 2 is a configuration diagram of an information processing system.
FIG. 3 is an explanatory diagram of processing by a monitor unit.
FIG. 4 is a view showing an example of a priority table.
FIG. 5 is an exemplary diagram of a priority table.
FIG. 6 is a view showing an example of a conventional priority table.
[Explanation of symbols]
10 Information processing system
20 Operating system
21 Monitor section
22 Pointer
23a, b, c Priority table
30 applications
Claims (11)
前記複数のオブジェクトを、処理のパフォーマンスに影響する第1オブジェクトのグループと処理のパフォーマンスに影響しない第2オブジェクトとに分類し、前記グループによる処理の実行順序と前記第2オブジェクトによる処理の実行順序との優先度を定める主優先度テーブルを作成するとともに前記第1オブジェクトによる処理の実行順序の優先度を定める従優先度テーブルを作成する第1の手段と、
前記作成された主優先度テーブルを用いた前記処理の実行中に、前記グループによる処理の実行順序が最優先になったときに、前記従優先度テーブルを用いた前記処理に切り換える第2の手段と、を備える、
情報処理システム。In an information processing system that realizes a predetermined function by executing processing by a plurality of objects in units of objects,
The plurality of objects are classified into a first object group that affects processing performance and a second object that does not affect processing performance, and the execution order of processing by the group and the execution order of processing by the second object; A first means for creating a primary priority table for determining the priority of the first priority and creating a secondary priority table for determining the priority of the execution order of the processing by the first object;
Second means for switching to the process using the sub priority table when the execution order of the processes by the group has the highest priority during the execution of the process using the created main priority table. And comprising
Information processing system.
前記グループを、2以上のオブジェクトにより構成されて所定の処理を行う1以上のソフトウェア部品毎に形成し、前記ソフトウェア部品毎に前記従優先度テーブルを作成するようにしてなる、
請求項1記載の情報処理システム。The first means includes
The group is formed for each of one or more software parts configured by two or more objects and performing a predetermined process, and the sub priority table is created for each software part.
The information processing system according to claim 1.
オブジェクトを、いずれのソフトウェア部品にも属さない第1オブジェクトのグループと、前記ソフトウェア部品毎の第2オブジェクトのグループとにグループ化し、前記第1オブジェクトによる処理の実行順序と前記ソフトウェア部品による処理の実行順序との優先度を定める主優先度テーブルを作成するとともに、前記ソフトウェア部品毎に、当該ソフトウェア部品を構成する第2オブジェクトによる処理の実行順序の優先度を定める従優先度テーブルを作成する第1の手段と、
前記作成された主優先度テーブルを用いた前記処理の実行中に、ソフトウェア部品による処理の実行順序が最優先になったときに、当該ソフトウェア部品について定められた従優先度テーブルを用いた前記処理に切り換える第2の手段と、を備える、
情報処理システム。In an information processing system that performs predetermined processing by an object and one or more software components that are configured by two or more objects and perform processing,
The objects are grouped into a first object group that does not belong to any software component and a second object group for each software component, and the execution order of the processing by the first object and the execution of the processing by the software component as well as create a primary priority table defining the priority of the order, the software for each component, a create a従優destination degree table defining the priority order of execution of the processing according to the second object constituting the software component One means,
During execution of the processing using the created main priority table, the processing using the sub priority table defined for the software component when the execution order of the processing by the software component has the highest priority And a second means for switching to
Information processing system.
前記第1の手段は、ソフトウェア部品のパフォーマンスに影響しない前記オブジェクトの優先度を、前記主優先度テーブルに含むようにしてなる、
請求項3記載の情報処理システム。The software component includes an object that does not affect the processing performance of the software component,
The first means includes, in the main priority table, the priority of the object that does not affect the performance of the software component.
The information processing system according to claim 3.
前記複数のオブジェクトを、所定の条件により主グループに属する第1オブジェクトと1以上の従グループのいずれかに属する第2オブジェクトとに分ける第1段階と、
前記主グループに属する前記第1オブジェクトによる処理及び前記従グループによる処理を行う優先度を定める主優先度テーブルを作成する第2段階と、
前記従グループ毎に、当該従グループに属する前記第2オブジェクトの処理を行う優先度を定める従優先度テーブルを作成する第3段階と、を含み、
前記主優先度テーブルを用いた処理の実行中に、従グループによる処理が最優先になったときは、当該従グループについて定められた従優先度テーブルを用いた処理に切り換え、当該従優先度テーブルを用いた処理の終了時に、前記主優先度テーブルを用いた処理に切り換えることを特徴とする、
オブジェクトの優先度管理方法。A method executed in an apparatus that performs predetermined processing by executing processing by a plurality of objects,
The plurality of objects, a first step of dividing the second object belongs to one of the first object and one or more sub groups belonging to the main group by a predetermined condition,
A second step of creating a main priority table for determining a priority for performing processing by the first object belonging to the main group and processing by the sub group;
For each of the sub groups, and a third step of creating a従優destination degree table defining the priority for processing the second objects belonging to the person the driven groups, a,
During treatment with pre SL main priority table, when the processing by the sub group becomes the highest priority is switched to treatment with従優destination degree table defined for those the driven group, those the driven priority At the end of processing using a table, switching to processing using the main priority table,
Object priority management method.
請求項5記載のオブジェクトの優先度管理方法。In the first step, the plurality of objects are divided into a main group in which processing does not affect performance and a sub group in which processing affects performance.
The object priority management method according to claim 5.
前記ポインタが、
前記主優先度テーブルを指定しているときに、ソフトウェア部品の処理が最優先になると、当該ソフトウェア部品について定められた従優先度テーブルを指定するようにする、
オブジェクトの優先度管理方法。The main priority table and the priority of the software component of the task constituting the front Kiso software component is composed of an information processing system overall task and 2 or more tasks to determine the priority of one or more software components for performing a predetermined process A subordinate priority table determined every time, and a pointer specifying the main priority table or subordinate priority table used at that time, and based on the priority table designated by the pointer, the task or the software component A method executed in an apparatus for executing processing,
The pointer is
When the primary priority table is specified, if the software component processing has the highest priority, the secondary priority table defined for the software component is specified.
Object priority management method.
前記複数のオブジェクトを、処理のパフォーマンスに影響する第1オブジェクトのグループと処理のパフォーマンスに影響しない第2オブジェクトとに分類し、前記グループによる処理の実行順序と前記第2オブジェクトによる処理の実行順序との優先度を定める主優先度テーブルを作成するとともに前記第1オブジェクトによる処理の実行順序の優先度を定める従優先度テーブルを作成する第1の手段と、
前記作成された主優先度テーブルを用いた前記処理の実行中に、前記グループによる処理の実行順序が最優先になったときに、前記従優先度テーブルを用いた前記処理に切り換える第2の手段と、を備える、
オペレーティングシステム。In an operating system that realizes a predetermined function by executing processing by a plurality of objects in units of objects,
The plurality of objects are classified into a first object group that affects processing performance and a second object that does not affect processing performance, and the execution order of processing by the group and the execution order of processing by the second object; A first means for creating a primary priority table for determining the priority of the first priority and creating a secondary priority table for determining the priority of the execution order of the processing by the first object;
Second means for switching to the process using the sub priority table when the execution order of the processes by the group has the highest priority during the execution of the process using the created main priority table. And comprising
operating system.
オブジェクトを、いずれのソフトウェア部品にも属さない第1オブジェクトのグループと、前記ソフトウェア部品毎の第2オブジェクトのグループとにグループ化し、前記第1オブジェクトによる処理の実行順序と前記ソフトウェア部品による処理の実行順序との優先度を定める主優先度テーブルを作成するとともに、前記ソフトウェア部品毎に、当該ソフトウェア部品を構成する第2オブジェクトによる処理の実行順序の優先度を定める従優先度テーブルを作成する第1の手段と、
前記作成された主優先度テーブルを用いた前記処理の実行中に、ソフトウェア部品による処理の実行順序が最優先になったときに、当該ソフトウェア部品について定められた従優先度テーブルを用いた前記処理に切り換える第2の手段と、を備える、
オペレーティングシステム。In an operating system that performs predetermined processing using an object and one or more software components that are configured by two or more objects and perform processing,
The objects are grouped into a first object group that does not belong to any software component and a second object group for each software component, and the execution order of the processing by the first object and the execution of the processing by the software component as well as create a primary priority table defining the priority of the order, the software for each component, a create a従優destination degree table defining the priority order of execution of the processing according to the second object constituting the software component One means,
During execution of the processing using the created main priority table, the processing using the sub priority table defined for the software component when the execution order of the processing by the software component has the highest priority And a second means for switching to
operating system.
前記複数のオブジェクトを、処理のパフォーマンスに影響する第1オブジェクトのグループと処理のパフォーマンスに影響しない第2オブジェクトとに分類し、前記グループによる処理の実行順序と前記第2オブジェクトによる処理の実行順序との優先度を定める主優先度テーブルを作成するとともに前記第1オブジェクトによる処理の実行順序の優先度を定める従優先度テーブルを作成する手段、
前記作成された主優先度テーブルを用いた前記処理の実行中に、前記グループによる処理の実行順序が最優先になったときに、前記従優先度テーブルを用いた前記処理に切り換える手段、
を形成させるためのプログラムが記録された、コンピュータ読み取り可能な記録媒体。A computer that realizes a predetermined function by executing processing by a plurality of objects in units of objects,
The plurality of objects are classified into a first object group that affects processing performance and a second object that does not affect processing performance, and the execution order of processing by the group and the execution order of processing by the second object; Means for creating a primary priority table for determining the priority of the first priority table and for determining the priority of the execution order of processing by the first object;
Means for switching to the process using the secondary priority table when the execution order of the processes by the group has the highest priority during the execution of the process using the created primary priority table;
A computer-readable recording medium on which a program for forming the program is recorded.
オブジェクトを、いずれのソフトウェア部品にも属さない第1オブジェクトのグループと、前記ソフトウェア部品毎の第2オブジェクトのグループとにグループ化し、前記第1オブジェクトによる処理の実行順序と前記ソフトウェア部品による処理の実行順序との優先度を定める主優先度テーブルを作成するとともに、前記ソフトウェア部品毎に、当該ソフトウェア部品を構成する第2オブジェクトによる処理の実行順序の優先度を定める従優先度テーブルを作成する処理、
前記作成された主優先度テーブルを用いた前記処理の実行中に、ソフトウェア部品による処理の実行順序が最優先になったときに、当該ソフトウェア部品について定められた従優先度テーブルを用いた前記処理に切り換える処理、
を実行させるためのプログラムが記録された、コンピュータ読み取り可能な記録媒体。A computer that performs predetermined processing using an object and one or more software components that are configured by two or more objects and perform processing;
The objects are grouped into a first object group that does not belong to any software component and a second object group for each software component, and the execution order of the processing by the first object and the execution of the processing by the software component as well as create a primary priority table defining the priority of the order, the each software component, the process to create a従優destination degree table defining the priority order of execution of the processing according to the second object constituting the software component ,
During execution of the processing using the created main priority table, the processing using the sub priority table defined for the software component when the execution order of the processing by the software component has the highest priority Processing to switch to
A computer-readable recording medium on which a program for executing is recorded.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000362839A JP3763452B2 (en) | 2000-11-29 | 2000-11-29 | Information processing system, object priority management method, operating system, and recording medium |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000362839A JP3763452B2 (en) | 2000-11-29 | 2000-11-29 | Information processing system, object priority management method, operating system, and recording medium |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2002163120A JP2002163120A (en) | 2002-06-07 |
| JP3763452B2 true JP3763452B2 (en) | 2006-04-05 |
Family
ID=18834047
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2000362839A Expired - Fee Related JP3763452B2 (en) | 2000-11-29 | 2000-11-29 | Information processing system, object priority management method, operating system, and recording medium |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3763452B2 (en) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2004114132A1 (en) | 2003-06-20 | 2004-12-29 | Fujitsu Limited | Interrupt control method, interrupt control device, and interrupt control program |
| JP2009294712A (en) | 2008-06-02 | 2009-12-17 | Panasonic Corp | Priority controller and priority control method |
| JP7620785B2 (en) * | 2021-01-13 | 2025-01-24 | 株式会社Essホールディングス | Information processing method, information processing device, and program |
-
2000
- 2000-11-29 JP JP2000362839A patent/JP3763452B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2002163120A (en) | 2002-06-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4694595B2 (en) | Sleep queue management | |
| JP5626690B2 (en) | Multi-process barrier physical manager | |
| CN110554909A (en) | task scheduling processing method and device and computer equipment | |
| EP0969383A2 (en) | Method for efficient non-virtual main memory management | |
| CN103729480B (en) | Method for rapidly finding and scheduling multiple ready tasks of multi-kernel real-time operating system | |
| CN1602468A (en) | Method and system for multi-policy resource scheduling | |
| CN112925616A (en) | Task allocation method and device, storage medium and electronic equipment | |
| JP2002521766A (en) | Method and system for arbitrating streams of concurrent transactions in a database | |
| CN118708533A (en) | Optimal communication scheduling method and system for multi-machine and multi-card GPUs for K8s | |
| CN109634874A (en) | A kind of data processing method, device, electronic equipment and storage system | |
| JP3763452B2 (en) | Information processing system, object priority management method, operating system, and recording medium | |
| US20110093859A1 (en) | Multiprocessor system, multiple threads processing method and program | |
| KR20140037749A (en) | Execution control method and multi-processor system | |
| JP2743865B2 (en) | Job scheduling method | |
| US5893122A (en) | Hyper-media system including plural application processors which execute navigation processing for hyper-media document | |
| WO2025091863A1 (en) | Task processing method and apparatus for multi-core operating system, and computing device | |
| CN112068949A (en) | Parallel processing apparatus, storage medium, and job management method | |
| US5386586A (en) | System and method for construction of lists of deferred service requests | |
| WO2024070015A1 (en) | Electronic control device, vehicle control system, and task control method | |
| JP6774147B2 (en) | Control device | |
| CN117808552A (en) | Order scheduling method, order scheduling device, computer equipment and storage medium | |
| JPH05108380A (en) | Data processing system | |
| CN119690389B (en) | A method, system, electronic device and medium for constructing display and control software architecture | |
| JP2002140201A (en) | Method for updating database and database management system using the same | |
| KR940002148B1 (en) | How to Motivate the Electronic Switching System |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050615 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050719 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050907 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060104 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060112 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120127 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120127 Year of fee payment: 6 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120127 Year of fee payment: 6 |
|
| S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120127 Year of fee payment: 6 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130127 Year of fee payment: 7 |
|
| LAPS | Cancellation because of no payment of annual fees |