JPH07200319A - キュー検索方式 - Google Patents

キュー検索方式

Info

Publication number
JPH07200319A
JPH07200319A JP33819793A JP33819793A JPH07200319A JP H07200319 A JPH07200319 A JP H07200319A JP 33819793 A JP33819793 A JP 33819793A JP 33819793 A JP33819793 A JP 33819793A JP H07200319 A JPH07200319 A JP H07200319A
Authority
JP
Japan
Prior art keywords
queue
information
specifying
search
area
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP33819793A
Other languages
English (en)
Other versions
JP3123871B2 (ja
Inventor
規彰 ▲高▼倉
Noriaki Takakura
Mitsuru Sasaki
満 佐々木
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.)
NIPPON DENKI MICOM TECH KK
NIPPON DENKI MICOM TECHNOL KK
NEC Corp
Original Assignee
NIPPON DENKI MICOM TECH KK
NIPPON DENKI MICOM TECHNOL KK
NEC 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 NIPPON DENKI MICOM TECH KK, NIPPON DENKI MICOM TECHNOL KK, NEC Corp filed Critical NIPPON DENKI MICOM TECH KK
Priority to JP05338197A priority Critical patent/JP3123871B2/ja
Publication of JPH07200319A publication Critical patent/JPH07200319A/ja
Application granted granted Critical
Publication of JP3123871B2 publication Critical patent/JP3123871B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】検索中の割り込み時間を一定にするキュー検索
方式を提供する。 【構成】オブジェクトのキュー接続を示す機能を変更す
る機能変更手段104、当該オブジェクトを示す機能を
変更するオブジェクト指示機能変更手段106、データ
書き込み手段105、データ読み込み手段108、読み
込まれたデータが“0”か否かを判定するデータ判定手
段107、割り込みハンドラ110を起動する割り込ハ
ンドラ起動手段109を含むデータ処理手段101と、
キュー114、オブジェクト115、割り込みハンドラ
110、タスク群112およびコード部111を含むデ
ータ記憶手段102と、割り込み信号を生成し、割り込
ハンドラ起動手段109に出力する割り込みコントロー
ラ103とを備えて構成され、一つのオブジェクトの検
索が終了する度に、キューの検索が、どのオブジェクト
まで進んたかを更新しながら、当該キューの検索を行う
ことを特徴とする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はキュー検索方式に関し、
特にオブジェクトに接続されているオブジェクトの操作
方法に関連するキュー検索方式に関する。
【0002】
【従来の技術】従来のタスクをプライオリティで管理し
ているOSにおいては、当該タスクそれぞれにプライオ
リティと呼ばれる正の整数を付し、その値が小さい(プ
ライオリティが高い)ほど処理を優先させるという処理
方式が採られている。従って、プライオリティの値が小
さい(プライオリティが高い)タスクと、プライオリテ
ィの値が大きい(プライオリティが低い)タスクとが動
作可能な状態にあった場合、まずプライオリティの高い
タスクの処理が実行され、その処理が終了するかもしく
は中断した場合には、プライオリティの低いタスクの処
理が実行される。また、ある資源を複数のプライオリテ
ィの異なるタスクが待っている場合には、プライオリテ
ィの高いものから優先的に資源が与えられる。このため
に、資源の待ちキューなどで、プライオリティ順にキュ
ーにつながれているオブジェクトを並べ替える操作が行
われる。
【0003】従来のキューの検索方式を、リアルタイム
OSで使用するキューについて説明する。図15は、従
来例のシステムを示すブロック図である。また、図16
は、従来のキューの検索を行う際のフローチャート、図
17は、従来のキューの検索時に割り込みを禁止しない
場合のキュー検索時のフローチャート、図18は、オブ
ジェクトをキューから削除する際のフローチャート、図
19はオブジェクトをキューに挿入する際のフローチャ
ートである。また、図20は、割り込みを禁止した状態
でキューの検索を行う前におけるキューの状態を示す
図、図21は、割り込みを禁止しない状態でオブジェク
トをつなぎ直す前のキューの状態を示す図であり、図2
2は、検索中に割り込み処理が入り、オブジェクトをつ
なぎ直した後のキューの状態を示す図である。
【0004】図15に示されるように、本従来例は、デ
ータを書き込む機能を有するデータ書き込み手段150
4、データが“0”であるか否かを判定する機能を有す
るデータ判定手段1505、データを読み込む機能を有
するデータ読み込み手段1506、および割り込みの通
知を受けて、それに対応する割り込みハンドラを起動す
る機能を有する割り込みハンドラ起動手段1507を含
むデータ処理手段1501と、プログラムコードとして
RTOS、RTOS上において動作する一つ乃至複数の
タスクを含むタスク群1510、割り込み信号が入って
きた時に、当該割り込み信号に対する処理が記述されて
いる割り込みハンドラ1508、プログラムデータとし
て前記タスクにおいて使用される各種データをRTOS
により管理するためのオブジェクト1513、そのオブ
ジェクト1513をキューイングして管理するためのキ
ュー1512、およびコード部1509を含むメモリ1
502と、割り込みコントローラ1503とを備えて構
成される。
【0005】図20において、オブジェクト特定情報領
域A2001は、そのキューの先頭につながれているオ
ブジェクトを特定する情報が入っている領域であり、オ
ブジェクト特定情報領域B2002は、そのキューの最
後尾につながれているオブジェクトを特定する情報が入
っている領域である。また、オブジェクト2003〜2
005は、そのキューにつながれているオブジェクトで
あり、オブジェクト特定情報領域C2006、2008
および2010は、そのオブジェクトの次につながれて
いるオブジェクトを特定する情報が入っている領域、オ
ブジェクト特定情報領域D2007、2009および2
011は、そのオブジェクトの一つ前につながれている
オブジェクトを特定する情報が入っている領域である。
【0006】図20において、キューに一つもオブジェ
クトがつながれていない場合には、オブジェクト特定情
報領域A2001およびオブジェクト特定情報領域B2
002の領域には、オブジェクトがつながれていないこ
とを示すために、“0”が入るものとする。この従来例
のように、オブジェクトがつながれている場合には、オ
ブジェクト特定情報領域A2001の領域には、キュー
の先頭につながれているオブジェクトを特定する情報が
入っている。また、キューの先頭につながれているオブ
ジェクト(本従来例においては、オブジェクト2003
が相当する)の一つ前につながれているオブジェクトは
存在しないので、一つ前につながれているオブジェクト
を特定する情報が入っている領域(本従来例において
は、オブジェクト特定情報領域D2007が相当する)
には、一つ前につながれているオブジェクトが存在しな
いことを示すために“0”が入っているものとする。同
様に、キューの最後尾につながれているオブジェクト
(本従来例においては、オブジェクト2003が相当す
る)の次につながれているオブジェクトが存在しないの
で、次につながれているオブジェクトを特定する情報が
入っている領域(本従来例においては、オブジェクト特
定情報領域C2010が相当する)には、次につながれ
ているオブジェクトが存在しないことを示すために
“0”が入っているものとする。
【0007】図16において、ステップ1601におい
ては、キューの検索を行うにあたり割り込み禁止状態に
する。そして、ステップ1602において、データ処理
手段1501のデータ読み込み手段1506を用いて、
キューの先頭のオブジェクトを特定する情報を得る。本
従来例においては、オブジェクト特定情報領域A200
1の領域に入っているキューの先頭につながれているオ
ブジェクト2003を特定する情報を得る。ステップ1
603において、キューにオブジェクトが存在するか否
かを調べる。これは、ステップ1602において得られ
たキューの先頭につながれているオブジェクトを特定す
る情報により、データ判定手段1505を用いて“0”
であるか否かを判定するものであり、このステップ16
03において、前記ステップ1602において得られた
キューの先頭につながれているオブジェクト“0”であ
る場合には、そのキューにはオブジェクトがつながれて
いないので、ステップ1608に移行し、割り込み禁止
状態を解除して割り込み許可状態とし、キューの検索を
終了する。また、ステップ1603において得られた情
報に、キューの先頭につながれているオブジェクトの情
報が入っていた場合、即ちステップ1602において得
られたキューの先頭につながられているオブジェクトを
特定する情報が“0”でなかった場合には、ステップ1
604に移行する。本従来例においては、キューの先頭
につながれているオブジェクトを特定する情報が入って
いるオブジェクト特定情報領域A2001の領域には、
オブジェクト2003を特定する情報が入っているの
で、処理はステップ1604に移行する。ステップ16
04においては、ステップ1602において得られた情
報が指示しているオブジェクトの中が検索され調べられ
る。ステップ1605においては、ステップ1604に
おいて検索されたオブジェクトが、探していたオブジェ
クトであるか否かがチェックされ、探していたオブジェ
クトである場合には、ステップ1608に移行して割り
込み禁止状態が解除され、キューの検索処理を終了す
る。
【0008】また、ステップ1605において、探して
いたオブジェクトでない場合には、ステップ1606に
移行し、データ読み込み手段1504を用いて、今調べ
たオブジェクトの次につながれているオブジェクトが存
在するか否かを調べるとともに、データ判定手段150
5を用いて、今得られた情報が“0”であるか否かを判
定する。当該情報が“0”である場合には、今調べたオ
ブジェクトの次につながれているオブジェクトは存在し
ないことになり、ステップ1608に移行して割り込み
禁止状態を解除し、キューの検索処理を終了する。また
“0”でない場合には、次のオブジェクトが存在してい
ることになり、処理はステップ1606に移行する。本
従来例においては、今調べたオブジェクトはオブジェク
ト2003であり、オブジェクト2003の次につなが
れているオブジェクトが存在しているか否かが調べられ
る。この場合には、データ読み込み手段1505を用い
て、オブジェクト2003の中にあるオブジェクト特定
情報領域C2006の次につながれているオブジェクト
を特定する情報を得るとともに、データ判定手段150
5を用いて、オブジェクト特定情報領域C2006に入
っている情報、即ちオブジェクト2003の次につなが
れているオブジェクトを特定する情報が“0”であるか
否かを判定する。次につながれているオブジェクトを特
定する情報が“0”である場合には、そのキューにはそ
れ以上オブジェクトがつながれていないことになり、ス
テップ1608において割り込み禁止状態を解除して、
キューの検索処理を終了する。次につながれているオブ
ジェクトを特定する情報が“0”でない場合には、ステ
ップ1607に移行して、オブジェクトの検索対象は、
次につながれているオブジェクトに移される。本従来例
においては、キューの先頭につながれているオブジェク
トは、探していたオブジェクトではなかったものとす
る。そして、オブジェクト2003の中にあるオブジェ
クト特定情報領域C2006の次につながれているオブ
ジェクトを特定する情報を得て、当該情報が“0”であ
るか否かを判定する。オブジェクト特定情報領域C20
06には、次につながれるオブジェクト2004を特定
する情報が入っており、従って、本従来例においては、
キューの検索はステップ1607に移行する。ステップ
1607においては、オブジェクトの検索対象をオブジ
ェクト2004に移行し、ステップ1604に戻って検
索対象となるオブジェクトを調べる検索処理が行われ
る。本従来例においては、オブジェクト2004が検索
対象となり、ステップ1604において、オブジェクト
2004が調べられる。
【0009】このようにして、検索されたキューの中に
探しているオブジェクトを発見することができたかを、
キューの中のオブジェクトを対象にして全て検索し終え
るまで、上記の検索処理が継続される。また、キューの
検索処理を開始して終了するまでの間、割り込処理は禁
止状態に設定される。これは、図15における割り込み
コントローラ1503よりキュー1512の検索処理中
に割り込み信号が入ってきて、当該割り込み信号に対す
る処理(以下、割り込みハンドラと云う)が、割り込み
ハンドラ起動手段1507により起動され、その処理の
中において、検索中のキューから、今まさに検索対象と
なっているオブジェクトが削除されないようにするため
である(これは、検索対象となっているオブジェクトが
キューから削除され、他のキューにつながれる場合の処
理も含む)。
【0010】次に、図17の検索処理を行う際のフロー
チャート、図18のキューからオブジェクトを削除する
際のフローチャート、図19のキューにオブジェクトを
挿入する際のフローチャートを参照し、図21のキュー
1およびキュー2の状態図を用いて、キュー1の検索途
中において、今まさに検索対象としているオブジェクト
が、割り込み信号に対する割り込みハンドラの処理によ
り、現在つながれているキュー(キュー1)から削除さ
れ、異なるキュー(キュー2)につなぎ直された場合に
ついて説明する。
【0011】図21のオブジェクト特定情報領域A21
01は、キュー1の先頭につながれているオブジェクト
を特定する情報が入っている領域であり、オブジェクト
特定情報領域B2102は、キュー1の最後尾につなが
れているオブジェクトを特定する情報が入っている領域
である。オブジェクト2103〜2105は、キュー1
につながれているオブジェクトで、オブジェクト特定情
報領域C2106、2108および2110は、それぞ
れオブジェクトの次につながれているオブジェクトを特
定する情報が入っている領域であり、オブジェクト特定
情報領域D2107、2109および2111は、それ
ぞれオブジェクトの一つ前につながれているオブジェク
トを特定する情報が入っている領域である。また、オブ
ジェクト特定情報領域A2112は、キュー2の先頭に
つながれているオブジェクトを特定する情報が入ってい
る領域で、オブジェクト特定情報領域A2113は、キ
ュー2の最後尾につながれているオブジェクトを特定す
る情報が入っている領域であり、オブジェクト2114
および2115は、キュー2につながれているオブジェ
クトである。オブジェクト特定情報領域C2116およ
び2118は、それぞれオブジェクトの次につながれて
いるオブジェクトを特定する情報が入っている領域で、
オブジェクト特定情報領域D2117および2119
は、それぞれオブジェクトの一つ前につながれているオ
ブジェクトを特定する情報が入っている領域である。
【0012】図22は、割り込み信号に対する割り込み
ハンドラの処理中において、キュー1につながれている
オブジェクトB2204が、キュー2につなぎ直された
状態を示す図である。
【0013】オブジェクト特定情報領域A2201は、
キュー1の先頭につながれているオブジェクトを特定す
る情報が入っている領域で、オブジェクト特定情報領域
B2202は、キュー1の最後尾につながれているオブ
ジェクトを特定する情報が入っている領域である。オブ
ジェクト2203および2205はキュー1につながれ
ているオブジェクトで、そのオブジェクト中のオブジェ
クト特定情報領域C2206および2210は、それぞ
れのオブジェクトの次につながれているオブジェクトを
特定する情報が入っている領域である。同じく、オブジ
ェクトの中にあるオブジェクト特定情報領域D2207
および2211は、それぞれのオブジェクトの一つ前に
つながれているオブジェクトを特定する情報が入ってい
る領域である。更に、オブジェクト特定情報領域A22
12は、キュー2につながれているオブジェクトを特定
する情報が入っている領域で、オブジェクト特定情報領
域B2213は、キュー2の最後尾につながれているオ
ブジェクトを特定する情報が入っている領域である。オ
ブジェクト2214および2215は、キュー2に予め
つながれているオブジェクトであり、そのオブジェクト
の中のオブジェクト特定情報領域C2216および22
18は、それぞれのオブジェクトの次につながれている
オブジェクトを特定する情報が入っている領域である。
またオブジェクト特定情報領域D2217および221
9は、そのオブジェクトの一つ前につながれているオブ
ジェクトを特定する情報が入っている領域である。オブ
ジェクトB2204は、キュー1からキュー2につなぎ
直されたオブジェクトであり、そのオブジェクト220
4の中にあるオブジェクト特定情報領域C2208は、
そのオブジェクトの次につながれているオブジェクトを
特定する情報が入っている領域である。またオブジェク
ト特定情報領域C2209は、そのオブジェクトの一つ
前につながれているオブジェクトを特定する情報が入っ
ている領域である。
【0014】図17において、ステップ1701におい
ては、データ処理手段1501のデータ読み込み手段1
506により、キューの先頭につながれているオブジェ
クトを特定する情報を得る。この場合、オブジェクト特
定情報領域A2101に入っているキューの先頭につな
がれているオブジェクト2103を特定する情報が得ら
れる。次いでステップ1702において、データ処理手
段1501のデータ判定手段1505により、ステップ
1701において得られたキューの先頭につながれてい
るオブジェクトを特定する情報が“0”であるか否かが
検索される。当該情報が“0”である場合には、そのキ
ューにはオブジェクトがないと判定してキューの検索処
理は終了する。また“0”でない場合には、キューには
オブジェクトがあるものと判定されてステップ1703
に移行する。本従来例においては、オブジェクト特定情
報領域A2101に、オブジェクト2103を特定する
情報が入っているので、処理はステップ1703に移行
して、ステップ1701において得られた情報が指示し
ているオブジェクトの中が検索される。ステップ170
4においては、ステップ1703において検索されたオ
ブジェクトが、探しているオブジェクトであるか否かが
チェックされ、当該オブジェクトである場合には、キュ
ーの検索処理は終了する。また、探しているオブジェク
トでない場合には、ステップ1705において、チェッ
クされたオブジェクトの次につながれているオブジェク
トが存在するか否かが調べられる。本従来例において
は、データ読み込み手段1506により、オブジェクト
2103の中にあるオブジェクト特定情報領域C210
6の次につながれているオブジェクトを特定する情報を
得て、データ判定手段1505を利用して、オブジェク
ト特定情報領域C2106に入っている情報、即ちオブ
ジェクト2103の次につながれているオブジェクトを
特定する情報が“0”であるか否かが判定される。当該
情報が“0”の場合には、そのキューには、それ以上オ
ブジェクトがつながれていないものと判定され、キュー
検索処理は終了する。また“0”でない場合には、キュ
ーにはオブジェクトがあるものと判定されてステップ1
706に移行し、オブジェクトの検証対象を次につなが
れてるオブジェクトに移して、ステップ1703にに戻
る。本従来例においては、キューの先頭につながれてい
るオブジェクトが探しているオブジェクトでないものと
する。オブジェクト2103の中にあるオブジェクト特
定情報領域C2106の情報を得て、前述のように、
“0”であるか否かか判定される。オブジェクト特定情
報領域C2106には、次につながれているオブジェク
ト2004を特定する情報が入っている。従って、キュ
ーの検索は、ステップ1706に移行する。ステップ1
706においてば、オブジェクトの検索対象をオブジェ
クト2104に移して、ステップ1703に戻る。本従
来例においては、オブジェクト2104が新たな検索対
象となり、ステップ1703に戻ってオブジェクト21
04に対する検索処理が行われる。
【0015】ここにおいて、割り込み信号が入ってき
て、その割り込み信号に対応する処理プログラムが起動
されたものする。その割り込み信号に対応する処理プロ
グラム(割り込みハンドラと云う)の処理中で、オブジ
ェクト2104がキュー1より削除されて、キュー2の
の最後尾につながれたものとする。この処理について以
下に説明する。
【0016】割り込み信号が外部から割り込みコントロ
ーラ1503に入ってくると、割り込みコントローラ1
503より、データ処理手段1501に対して割り込み
信号が入ってきたことが伝達される。データ処理手段1
501においては、これを受けて、予め割り込み信号に
対して登録されている割り込みハンドラ1508による
処理を実行する。この処理中においてキュー1からオブ
ジェクト2104を削除し、キュー2につなぎ変える処
理が呼び出されると、まず図18において、ステップ1
801において割り込み禁止状態が設定され、ステップ
1802においては、削除されるオブジェクト(本従来
例においては、オブジェクト2104)の中にある一つ
前につながれているオブジェクトを特定する情報が入っ
ているオブジェクト特定情報領域C2108の情報を得
る。そして、ステップ1803において、削除されるオ
ブジェクトより一つ前につながれているオブジェクトの
中の、次につながれているオブジェクトを特定する情報
が入っている領域に、削除されるオブジェクトの次につ
ながれているオブジェクトを特定する情報を書き込む。
本従来例においては、削除されるオブジェクトはオブジ
ェクト2104であり、その一つ前につながれているオ
ブジェクトはオブジェクト2103である。そのオブジ
ェクト2103の中にある、次につながれているオブジ
ェクトを特定する情報が入っているオブジェクト特定情
報領域C2106に、オブジェクト2104の次につな
がれているオブジェクトを特定する情報が書き込まれ
る。オブジェクト2104の次につながれているオブジ
ェクトを特定する情報は、オブジェクト2105を指示
しているが、この情報は、オブジェクト2104の中
の、オブジェクト特定情報領域C2108に入っている
ので、当該データをデータ読み込み手段1506を用い
て得た後に、データ書き込み手段1504を用いて、オ
ブジェクト特定情報領域C2108の内容が、オブジェ
クト特定情報領域C2106に書き込まれる。
【0017】次に、ステップ1804において、削除さ
れるオブジェクトの次につながれているオブジェクトを
特定する情報を得る。この場合には、データ読み込み手
段1506を用いて、削除されるオブジェクト2104
の中にある、次につながれているオブジェクトを特定す
る情報が入っているオブジェクト特定情報領域D210
9の中に入っている情報を得る。そして、ステップ19
05において、削除されるオブジェクトの中にある、一
つ前につながれているオブジェクトを特定する情報が入
っている領域に、削除されるオブジェクトの一つ前につ
ながれているオブジェクトを特定する情報を書き込む。
この例においては、削除されるオブジェクトはオブジェ
クト2104であり、その次につながれているオブジェ
クトはオブジェクト2105である。このオブジェクト
2105の中の、一つ前につながれているオブジェクト
を特定する情報が入っているオブジェクト特定情報領域
C2110に、オブジェクト2104の一つ前につなが
れているオブジェクトを特定する情報が書き込まれる。
オブジェクト2104の一つ前につながれているオブジ
ェクトを特定する情報は、オブジェクト2104の中の
オブジェクト特定情報領域D2109に入っているの
で、データ読み込み手段1506およびデータ書き込み
手段1504を用いて、オブジェクト特定情報領域D2
109の内容が、オブジェクト特定情報領域D2111
に書き込まれる。次にステップ1806においては、割
り込み禁止状態が解除されて、オブジェクト2104の
キュー1からの削除処理は終了する続いて、オブジェク
ト2104のキュー2に対する挿入処理が行われる。図
19に示されるステップ1901においては、オブジェ
クトを挿入する処理を行うに当って割り込み禁止状態に
する。ステップ1902において、オブジェクトを挿入
する位置の探索が行われる。この例においては、オブジ
ェクト2104はキュー2の最後尾につながれるものと
する。次に、ステップ1903において、挿入する位置
の一つ前のオブジェクトを特定する情報を書き込む。こ
の例においては、オブジェクト2104はキュー2の最
後尾につながれているので、その一つ前のオブジェクト
2115を特定する情報を、オブジェクト2104の一
つ前につながれているオブジェクトを特定する情報が入
っているオブジェクト特定情報領域C2108に書き込
む。この例においては、データ読み込み手段1506を
用いて、キュー2の最後尾につながれているオブジェク
トを特定する情報が入っているオブジェクト特定情報領
域B2113の情報を得て、データ書き込み手段150
6を用いて、オブジェクト2104の中の、オブジェク
ト特定情報領域C2108にそのデータが書き込まれ
る。もしも、挿入するオブジェクトが、挿入するキュー
の先頭に挿入されるのであれば、挿入するオブジェクト
の一つ前につながれているオブジェクトは存在しないの
で、挿入するオブジェクトの一つ前につながれているオ
ブジェクトを特定する情報が入っている領域には“0”
が書き込まれる。そして同時に、挿入するキューの先頭
につながれているオブジェクトを特定する情報が入って
いる領域に、挿入するオブジェクトを特定する情報が書
き込まれる。しかし、この例においては、挿入されるオ
ブジェクト2104はキュー2の先頭にはつながれない
ので、この処理は行われない。
【0018】次に、ステップ1904において、挿入す
るオブジェクトの次につながれているオブジェクトを特
定する情報が入っている領域に、挿入する位置の次につ
ながれるオブジェクトを特定する情報を書き込む。もし
も、挿入するオブジェクトをキュー2の最後尾に挿入す
るのであれば、挿入するオブジェクトの次につながれる
オブジェクトが存在しないので、挿入するオブジェクト
の次につながれるオブジェクトを特定する情報が入って
いる領域には“0”を書き込む。そして同時に、挿入す
るキューの最後尾につながれているオブジェクトを特定
する情報が入っている領域に、挿入するオブジェクトを
特定する情報を、キューの最後尾につながれていオブジ
ェクトを特定する領域に書き込む。この例においては、
オブジェクト2104は、キュー2の最後尾につながれ
るので、オブジェクト2104の次につながれているオ
ブジェクトが存在しない。このように、次につながれる
オブジェクトが存在しない場合には、データ書き込み手
段1504を用いて、挿入するオブジェクトの次につな
がれているオブジェクトを特定する情報が入っている領
域に“0”を書き込む。オブジェクト2104の次につ
ながれているオブジェクトが存在しないので、オブジェ
クト2104の次につながれているオブジェクトを特定
する情報が入っているオブジェクト特定情報領域D21
09には“0”が書き込まれる。前述したように、同時
にキュー2の最後尾につながれているオブジェクトを特
定する情報が入っているオブジェクト特定情報領域B2
113に挿入するオブジェクト2104を特定する情報
は、データ書き込み手段1504を用いて書き込まれ
る。
【0019】次いでステップ1905において、挿入す
るオブジェクトの一つ前につながれているオブジェクト
を特定する情報を得て、一つ前につながれているオブジ
ェクトの次につながれている情報が入っている領域を書
き換える。もしも、一つ前につながれているオブジェク
トを特定する情報が、データ判定手段1505を用いて
“0”であった場合、即ち挿入するオブジェクトがキュ
ーの先頭に挿入される場合には、何らの処理も行われな
い。この例においては、挿入するオブジェクト2104
の一つ前につながれているオブジェクトを特定する情報
が入っているオブジェクト特定情報領域D2109を、
データ読み込み手段1506を用いて読み込み、挿入す
るオブジェクトの一つ前につながれているオブジェクト
2115を特定する情報を得る。挿入するオブジェクト
の一つ前につながれているオブジェクトを特定する情報
が入っている領域の内容が“0”ではないので、得られ
たオブジェクト2115の次につながれている、オブジ
ェクトを特定する情報が入っているオブジェクト特定情
報領域C2118に挿入するオブジェクト2104を特
定する情報を、データ書き込み手段1504を用いて書
き込む。次に、ステップ1906において、挿入するオ
ブジェクトの次につながれているオブジェクトを特定す
る情報を得て、次につながれているオブジェクトの一つ
前につながれているオブジェクトを特定する情報が入っ
ている領域を書き変える。もしも、一つ前につながれて
いるオブジェクトを特定する情報が、データ判定手段1
505を用いて、そのデータが“0”と判定される場
合、即ち挿入するオブジェクトがキューの最後尾に挿入
される場合には、何らの処理も行われない。この例の場
合には、挿入するオブジェクト2104の次につながれ
ているオブジェクトを特定する情報が入っているオブジ
ェクト特定情報領域C2108を、データ読み込み手段
1506を用いて読み込み、挿入するオブジェクトの次
につながれているオブジェクトを特定する情報を得る。
データ判定手段1505を用いて、今得られたおデータ
が“0”であるか否かが判定されるが、この場合には得
られたデータが“0”てあるので何らの処理も行われ
ず、ステップ1907に移行して割り込み禁止状態を解
除し、オブジェクトをキューに挿入する処理を終了す
る。
【0020】その後において、割り込みハンドラの処理
を終了し、割り込みが入ってきた時に処理していた箇所
に処理が戻る。この従来例の場合には、オブジェクト2
104を調べる時に割り込み信号が入ってきていたの
で、図17に示されるステップ1703の処理に戻る。
この時点において、キュー1およびキュー2の状態は、
図21に示される状態から図22に示される状態へと変
化している。従って、以降の説明は図22を参照して行
うものとする。
【0021】図17において、ステップ1703におい
ては、オブジェクト2104が検索される。次いでステ
ップ1704において、ステップ1703において検索
されたオブジェクトが、探しているオブジェクトである
か否かをチェックする。もしも、今調べたオブジェクト
が探しているオブジェクトである場合には、キューの検
索処理は終了する。また、探しているオブジェクトでな
い場合には、ステップ1705に移行する。なお、本従
来例の場合には、オブジェクト2104が探しているオ
ブジェクトではないものとする。ステップ1705にお
いては、今調べたオブジェクトの次につながれているオ
ブジェクトを特定する情報が入っている領域の情報を得
て、次につながれているオブジェクトが存在するか否か
を調べる。もしも存在しなければ、キューの検索処理は
終了し、存在する場合には、ステップ1706に移行し
て、本従来例の場合には、今調べたオブジェクト210
4の次につながれているオブジェクトを特定する情報が
入っているオブジェクト特定情報領域C2108を、デ
ータ読み込み手段1506を用いて読込む。そして、デ
ータ判定手段1505を用いて“0”であるか否かがチ
ェックされる。図21において、オブジェクト2104
の次につながれているオブジェクトは存在せず、オブジ
ェクト2104の次につながれているオブジェクトを特
定する情報が入っているオブジェクト特定情報領域C2
108には“0”が入っているので、キューの検索は終
了する。
【0022】以上は、従来の、割り込み禁止状態にする
ことなく行われるキューの検索処理の内容であり、検索
中に、検索対象となっているオブジェクトが異なるキュ
ーにつなぎ直される場合の例であるが、これでは、本来
目的としているキューにつながれているオブジェクトの
検索が途中の状態で終了している。このために、オブジ
ェクト2105は検索対象とはならず、検索されること
がない。キューの検索中に割り込み信号が入ってきて、
検索中のキューにつながれている検索中のオブジェクト
を異なるキューにつなぎ直す処理が、割り込みハンドラ
1508により行われると、上記の従来例において示さ
れたタイミングだけではなく、検索処理中のどの時点に
おいて行われても、このような現象が生起することにな
る。この現象を防止するために、キューの検索処理の開
始から終了まで割り込み禁止状態にして、キューの検索
処理を行うことが必要となる。
【0023】
【発明が解決しようとする課題】上述した従来のキュー
検索方式においては、キューの検索開始から終了までの
間は割り込み禁止の状態に置かれる。しかも当該割り込
み禁止状態に置かれる時間は、内部にループが含まれて
いるために、キューにつながれているオブジェクトの数
が多くなるに従い長くなる。このように割り込み禁止状
態の時間が長くなると、割り込み信号に対する応答が遅
れる状態となり、リアルタイム性が欠如されるという欠
点がある。
【0024】
【課題を解決するための手段】本発明のキュー検索方式
は、組み込みシステム用のオペレーティングシステムで
あり、オブジェクトをキューによって管理しているシス
テムにおいて、オブジェクトがキューにつながれている
ことを示す機能を変更する手段と、キューにつながれて
いるオブジェクトを示す機能を変更する手段と、データ
を書き込む手段ならびにデータを読み込む手段と、前記
データを読み込む手段により読み込まれたデータが0で
あるか否かを判定する手段と、所定の割り込み信号を受
けて、当該割り込み信号に対応する割り込みハンドラを
起動させる割り込ハンドラ起動手段と、を少なくとも含
むデータ処理手段と、前記キューおよびオブジェクト、
前記割り込みハンドラ、プログラムコードとして前記オ
ペレーティングシステム上にて動作するタスク群および
コード部を含むデータ記憶手段と、前記割り込み信号を
生成して、前記割り込ハンドラ起動手段に出力する割り
込みコントローラと、を備えて構成され、キューの検索
がどのオブジェクトまで進行したかを示す機能を有する
ことにより、一つのオブジェクトに対する検索が終了す
る度に、キューの検索がどのオブジェクトまで進んだか
を更新しながら当該キューの検索を行うことを特徴とし
ている。
【0025】なお、当該キュー検索方式においては、キ
ューの検索処理中に、キューの検索がどのオブジェクト
まで進行したかを示す機能により示されるオブジェクト
が、当該キュー検索処理中に発生した別処理により削除
された場合(他のキューにつながれた場合も含む)に、
前記別処理よりキュー検索処理に戻ってきた時点におい
て、当該キューの先頭からキュー検索処理を再開するこ
とも可能である。
【0026】
【実施例】次に、本発明について図面を参照して説明す
る。
【0027】図1は本発明の第1の実施例のシステムを
示すブロック図である。また、図16は、従来のキュー
の検索を行う際のフローチャート、図2は、本実施例に
おけるキューの検索時のフローチャート、図3は、オブ
ジェクトを他のキューにつなぎ直す際のフローチャート
である。また、図4は検索前のキューの状態を示す図、
図5は検索中のキューの状態を示す図、図6は、オブジ
ェクトをつなぎ直す前のキューの状態を示す図、図7
は、オブジェクトをつなぎ直した後のキューの状態を示
す図である。
【0028】図1に示されるように、本実施例は、キュ
ーにつながれていることを示す機能を変更するための機
能変更手段104、データを書き込む機能を有するデー
タ書き込み手段105、キューにつながれている任意の
オブジェクトを示す機能を変更するためのオブジェクト
指示機能変更手段106、データが“0”であるか否か
を判定する機能を有するデータ判定手段107、データ
を読み込む機能を有するデータ読み込み手段108、お
よび割り込みの通知を受けて、それに対応する割り込み
ハンドラを起動する機能を有する割り込みハンドラ起動
手段109を含むデータ処理手段101と、プログラム
コードとしてRTOS、RTOS上において動作する一
つ乃至複数のタスクを含むタスク群112、割り込み信
号が入ってきた時に、当該割り込み信号に対応する処理
が記述されている割り込みハンドラ110、プログラム
データとして前記タスクにおいて使用される各種データ
をRTOSにより管理するためのオブジェクトA11
5、そのオブジェクト115をキューイングして管理す
るためのキュー114、およびコード部111を含むデ
ータ記憶手段102と、割り込みコントローラ103と
を備えて構成される。
【0029】なお、図4および図5において、オブジェ
クト特定情報領域A401および501は、キューの先
頭につながれているオブジェクトを特定する情報が入っ
ている領域であり、オブジェクト特定情報領域B402
および502は、キューの最後尾につながれているオブ
ジェクトを特定する情報が入っている領域である。ま
た、オブジェクト404、405、406、504、5
05および506は、それぞれキュー114につながれ
ているオブジェクトで、オブジェクト特定情報領域C4
08、411、414、508、511および514
は、これらのオブジェクトの次につながれているオブジ
ェクトを特定する情報が入っている領域であり、オブジ
ェクト特定情報領域D409、412、415、50
9、512および515は、これらのオブジェクトの一
つ前につながれているオブジェクトを特定する情報が入
っている領域である。更に、検索状態管理領域403お
よび503は、キューの検索が、当該キューにつながれ
ているオブジェクトの内、どのオブジェクトまで進んだ
かを示す機能を有しており、当該キューにつながれてい
るオブジェクトの内の一つを特定する情報が入っている
領域である。この検索状態管理領域403および503
は、本実施例においては共にデータ記憶手段102内に
含まれている。また、各オブジェクト内に存在するリン
ク状態管理領域407、410、413、507、51
0および513は、オブジェクトがキューにつながれて
いたキューに、現在もつながれているか否かを示す情報
が入っている領域である。これらのリンク状態管理領域
は、本実施例においてはデータ記憶手段102内のオブ
ジェクトの中に含まれている。
【0030】図4および図5において、キューにオブジ
ェクトが一つもつながれていない場合には、キューの先
頭につながれているオブジェクトを特定する情報が入っ
ているオブジェクト特定情報領域A401および501
には、オブジェクトが一つもつながれていないことを示
すための“0”が入るものとする。また、キューの先頭
につながれているオブジェクトの前につながれているオ
ブジェクトは存在しないので、先頭のオブジェクトの一
つ前につながれているオブジェクトを特定する情報が入
っている領域には、オブジェクトが存在しないことを示
す“0”が入るものとする。同様に、図4および図5に
おいて、キューの最後尾につながれているオブジェクト
の後につながれているオブジェクトは存在しないので、
キューの最後尾につながれているオブジェクト406お
よび506中の、次につながれているオブジェクトの次
につながれているオブジェクトを特定する情報が入って
いるオブジェクト特定情報領域領域C414および51
4には、次につながれているオブジェクトが存在しない
ことを示すために“0”が入るものとする。
【0031】本実施例の説明に当り、図4および図5に
示される各オブジェクト内に存在するリンク情報管理領
域407、410、413、507、510および51
3には、そのオブジェクトがキューにつながれているこ
とを示す“LINK”という情報が入っており、キュー
につながれていない場合には、キューにつながれていな
いことを示すために“UNLINK”という情報が入っ
ているものとする。また、或るキューよりオブジェクト
が外されて他のキューにつながれた場合には、そのこと
を示すために“UNLINKED−LINK”という情
報が入るものとする。また、図4および図5における検
索状態管理領域403および503には、そのキューに
つながれている任意のオブジェクトを特定する情報が入
っており、この情報により、キューにつながれているオ
ブジェクトの検索が、どのオブジェクトまで進んでいる
かが示される。なお、検索時以外においては、どのよう
な情報が入っていてもよいものとする。
【0032】図2において、まずステップ201におい
て、キューの検索を行うにあたり割り込み禁止状態にす
る。そして、ステップ202において、データ処理手段
101に含まれるデータ読み込み手段108を介して、
図4のオブジェクト特定情報領域A401に入ってい
る、キューの先頭につながれているオブジェクトを特定
する情報を得る。本実施例の場合には、オブジェクト特
定情報領域A401には、オブジェクト404を特定す
る情報が入っている。次いで、ステップ203におい
て、キューにつながれているオブジェクトが存在するか
否かを調べる。これは、ステップ202において得られ
たキューの先頭につながれているオブジェクトを特定す
る情報が“0”でないか否かを、データ判定手段107
を用いて調べる。この判定処理において、キューにオブ
ジェクトが存在しない場合、即ちステップ203におい
て調べたキューの先頭につながれているオブジェクトを
特定する情報が“0”である場合には、ステップ213
に移行して、割り込み禁止状態を解除し、キューの検索
処理を終了する。また、キューにオブジェクトが存在す
る場合、即ちステップ203において調べたキューの先
頭につながれているオブジェクトを特定する情報が
“0”でない場合には、ステップ204に移行して、キ
ューの検索処理を続行する。本実施例の場合には、ステ
ップ202において得られたキューの先頭につながれて
いるオブジェクトを特定する情報が入っているオブジェ
クト特定情報領域A401には、オブジェクト404を
特定する情報が入っており“0”ではないので、処理は
ステップ104に移行する。
【0033】ステップ204においては、ステップ20
2において得られたキューの先頭のオブジェクトを特定
する情報を、キュー内の任意のオブジェクトを指し示す
機能を有する検索状態管理領域A403に、オブジェク
ト指示機能変更手段106を介して書き込む。本実施例
の場合には、ステップ202において得られたキューの
先頭につながれているオブジェクトを特定する情報が、
オブジェクト404を特定する情報であり、この情報が
検索状態管理領域403に書き込まれる。
【0034】次いで、ステップ205においては一時的
に割り込み状態を解除する。そしてステップ206にお
いて再度割り込み禁止状態とし、検索処理を続行してス
テップ207に移行する。ステップ207においては、
検索状態管理領域に入っている情報を示すオブジェクト
のリンク状態管理領域に入っている情報を調べる。そし
て、リンク状態管理領域に入っている情報が、キューに
つながれていないことを示す情報であるか、またはキュ
ーから外されて他のキューにつなぎ直されたことを示す
情報が入っている場合には、キュー検索処理はステップ
215に移行する。リンク状態管理領域に入っている情
報が、そのオブジェクトがキューにつながれていること
を示す情報であった場合には、ステップ208に移行す
る。本実施例においては、検索状態管理領域403に入
っている情報が示すオブジェクトは、オブジェクト40
4であり、オブジェクト404のリンク状態管理領域4
07に入っている情報は“LINK”である。“LIN
K”という情報は、そのオブジェクトがキューにつなが
れていることを示す情報であるので、キューの検索処理
はステップ208に移行する。ステップ208において
は、当該オブジェクトの中を調べる。次いで、ステップ
209においては、今調べたオブジェクトが探していた
オブジェクトであるか否かをチェックする。もしも探し
ていたオブジェクトである場合には、ステップ213に
移行して割り込み禁止状態を解除し、キューの検索処理
を終了する。また、探していたオブジェクトでない場合
には、ステップ210において、今調べたオブジェクト
の次につながれているオブジェクトが存在するか否かを
調べる。本実施例においては、今調べたオブジェクト4
04が探していたオブジェクトでなかったものとする。
従って、この場合には、キューの検索処理は、ステップ
209よりステップ210に移行する。ステップ210
においては、今調べたオブジェクトの次につながれてい
るオブジェクトが存在するかを調べるが、本実施例にお
いては、オブジェクト404の次につながれているオブ
ジェクトを特定する情報が入っているオブジェクト特定
情報領域C408を、データ読み込み手段108を用い
て読み込む。そして、データ判定手段107を用いて、
オブジェクト特定情報領域C領域408に入っているデ
ータが“0”であるか否かを調べる。オブジェクト特定
情報領域C領域408に入っている情報は、オブジェク
ト405を特定する情報であり“0”ではないので、キ
ューの検索処理はステップ211に移行する。
【0035】ステップ211においては、検索対象とな
るオブジェクトを今調べたオブジェクトの次につながれ
ているオブジェクトに移す。本実施例においては、ステ
ップ211において、検索対象となるオブジェクトを、
今調べたオブジェクト404の次につながれているオブ
ジェクト405に移す。そして、ステップ212におい
て検索状態管理領域の変更を行う。本実施例の場合に
は、キューの検索がどのオブジェクトまで進んだかを示
す機能を変更する機能、即ち検索状態管理領域403に
より、これから調べようとしているオブジェクト405
を特定する情報に変更する。そして、ステップ205に
戻り、割り込み禁止状態を一時的に解除する。更に、ス
テップ206に移行して、再度割り込み禁止状態にして
ステップ207に移行する。このようにして検索処理を
行い、キューの中に探しているオブジェクトを発見する
ことができるか、またはキュー内のオブジェクトを全て
検索し終えるまで、この処理を続けて行う。
【0036】ここまでの処理において、割り込み禁止状
態となっているのは、図2におけるキューを検索する際
のフローチャートにおいて、ステップ207から一つの
オブジェクトの検索を終えて、再びステップ206に戻
ってくるまでの間である。次に、キューの検索処理中に
割り込み信号が入ってきて、その割り込み信号に対する
処理プログラムの中で、検索中のキューから検索対象と
なっているオブジェクトを外し、他のキューにつなぎ直
した場合について、図6および図7を用いて説明する。
【0037】図6および図7において、オブジェクト特
定情報領域A601、615、701および715は、
そのキューの先頭につながれているオブジェクトを特定
する情報が入っている領域であり、オブジェクト特定情
報領域602、616、702および716は、そのキ
ューの最後尾につながれているオブジェクトを特定する
情報が入っている領域である。そのキューにつながれて
いるオブジェクトが一つも存在しない場合には、キュー
の先頭につながれているオブジェクトを特定する情報が
入っている領域には“0”が入るものとする。オブジェ
クト604〜606、618、619、704〜70
6、718および719は、それぞれのキューにつなが
れているオブジェクトである。オブジェクト特定情報領
域C608、611、614、621、624、70
8、711、714、721および724は、それぞれ
のオブジェクトの次につながれているオブジェクトを特
定する情報が入っている領域である。本実施例において
は、そのオブジェクトの次につながれているオブジェク
トが存在しない場合には、この領域には“0”が入るも
のとする。オブジェクト特定情報領域D609、61
2、615、622、625、709、712、71
5、722および725は、それぞれのオブジェクトの
一つ前につながれているオブジェクトを特定する情報が
入っている領域である。本実施例においては、そのオブ
ジェクトの一つ前につながれているオブジェクトが存在
しない場合には、この領域には“0”が入るものとす
る。検索状態管理領域603、617、703および7
17は、キューの検索が、そのキューにつながれている
オブジェクトの内、どのオブジェクトまで進んだかを示
す機能で、そのキューにつながれているオブジェクトの
内の一つを特定する情報が入っている領域である。ま
た、各オブジェクト内に存在するリンク状態管理領域6
07、610、613、620、623、707、71
0、713、720および723は、オブジェクトがキ
ューにつながれていることを示す機能で、そのオブジェ
クトがそのキューの検索を開始した時点においてつなが
れていたキューに、現在もつながれているか否かを示す
情報が入っている領域である。
【0038】図6および図7のキュー1,キュー2にオ
ブジェクトが一つもつながれていない場合には、キュー
の先頭につながれているオブジェクトを特定する情報が
入っているオブジェクト特定情報領域A601、61
5、701および715には、オブジェクトが一つもつ
ながれていないことを示すため“0”が入るものとす
る。また、キューの先頭につながれているオブジェクト
の前につながれているオブジェクトは存在しないので、
先頭のオブジェクトの一つ前につながれているオブジェ
クトを特定する情報が入っている領域には、オブジェク
トが存在しないことを示すため“0”が入るものとす
る。そして、キューの最後尾につながれているオブジェ
クトの次につながれているオブジェクトは存在しないの
で、キューの最後尾につながれているオブジェクトの中
の、次につながれているオブジェクトを特定する情報が
入っている領域には“0”が入るものとする。
【0039】本実施例の説明においては、図5および図
6の各オブジェクト内に存在するリンク情報管理領域6
07、610、613、620、623、707、71
0、713、720および723には、そのオブジェク
トがキューにつながれていることを示す“LINK”と
いう情報が入っており、キューにつながれていない場合
には、キューにつながれていないことを示すため“UN
LINK”という情報が入っているものとする。また、
あるキューよりオブジェクトが外されて他のキューにつ
ながれた場合には、このことを示すため“UNLINK
ED−LINK”という情報が入るものとする。また、
図6および図7の検索状態管理領域603、617、7
03および717には、そのキューにつながれている任
意のオブジェクトを特定する情報が入っており、この情
報により、キューにつながれているオブジェクトの検索
がどのオブジェクトまで進んだかを示す。なお、検索時
以外においては、どのような情報が入っていてもよいも
のとする。前述したように、キューの検索をキュー1に
対して行う。
【0040】まず図2のステップ201において割り込
み禁止状態にする。そして、ステップ202において
は、検索を行うキューの先頭につながれているオブジェ
クトを特定する情報を得る。本実施例では、データ読み
込み手段108を用いて、図6のオブジェクト特定情報
領域A601に入っているキュー1の先頭につながれて
いるオブジェクトを特定する情報を得る。このオブジェ
クト特定情報領域A601には、オブジェクトB604
を特定する情報が入っている。ステップ203におい
て、キューにつながれているオブジェクトが存在するか
否かを調べる。この場合には、ステップ202において
得られたキューの先頭につながれているオブジェクトを
特定する情報が“0”でないか否かを、データ判定手段
107を用いて調べる。キューにオブジェクトが存在し
ない場合、即ち、ステップ202において得られ、ステ
ップ203において調べたキューの先頭につながれてい
るオブジェクトを特定する情報が“0”であった場合に
は、ステップ213に移行し、割り込み禁止状態を解除
して、キューの検索処理を終了する。また、キューにオ
ブジェクトが存在する場合、即ち、ステップ203にお
いて調べたデータが“0”でない場合には、ステップ2
04に移行してキューの検索処理を続ける。本実施例の
場合には、ステップ202において得られたキューの先
頭につながれているオブジェクトを特定する情報が入っ
ているオブジェクト特定情報領域601には、オブジェ
クト604を特定する情報が入っており“0”ではない
ので、ステップ204に移行し、ステップ202におい
て得られたキューの先頭につながれているオブジェクト
を特定する情報を、キュー内の任意のオブジェクトを指
し示す機能である検索状態管理領域に、オブジェクト指
示機能変更手段106を用いて書き込む。本実施例にお
いては、ステップ202において得られたキュー1の先
頭にGながれているオブジェクトを特定する情報は、オ
ブジェクト604を特定する情報であり、この情報を検
索状態管理領域613に書き込む。ステップ205にお
いては一時的に割り込み禁止状態を解除する。そして、
ステップ206において、再度割り込み禁止状態にして
検索処理を続ける。
【0041】そして、ステップ207においては、検索
状態管理領域に入っている情報が示すオブジェクトの、
リンク状態管理領域に入っている情報を調べる。そし
て、リンク状態管理領域に入っている情報が、キューに
つながれていないことを示す情報であるか、またはキュ
ーから外されて他のキューにつなぎ直されていることを
示す情報が入っている場合には、キュー検索処理はステ
ップ215に移行して、リンク状態管理領域に入ってい
る情報が、そのオブジェクトがキューにつながれている
ことを示す情報である場合には、ステップ208に移行
する。本実施例においては、検索状態管理領域603に
入っている情報が示すオブジェクトはオブジェクト60
4であり、オブジェクト604のリンク状態管理領域6
07に入っている情報は“LINK”である。“LIN
K”という情報は、そのオブジェクトがキューにつなが
れていることを示す情報であるので、キューの検索処理
はステップ208に移行する。ステップ208において
は、そのオブジェクトの中を調べる。ステップ209に
おいて、今調べたオブジェクトが探していたオブジェク
トである場合には、ステップ213に移行して、割り込
み禁止状態を解除してキューの検索処理を終了する。ま
た、探していたオブジェクトでない場合には、ステップ
210に移行して、今調べたオブジェクトの次につなが
れているオブジェクトが存在するか否かを調べる。本実
施例においては、今調べたオブジェクト604が、探し
ていたオブジェクトではなかったものとする。オブジェ
クト604が、探していたオブジェクトではないので、
キューの検索処理は、ステップ209からステップ21
0に移行する。ステップ210においては、今調べたオ
ブジェクト604の次につながれているオブジェクトを
特定する情報が入っているオブジェクト特定情報領域C
608を、データ読み込み手段108を用いて読み込
む。そして、データ判定手段107を用いて、オブジェ
クト特定情報領域C608に入っていたデータが“0”
であるか否かを調べる。オブジェクト特定情報領域C6
08の、オブジェクト604の次につながれているオブ
ジェクトを特定する情報が入っている領域の情報は、オ
ブジェクト605を特定する情報であり“0”ではない
ので、キューの検索処理はステッブ211に移行する。
ステッウ211においては、検索対象となるオブジェク
トを、今調べたオブジェクトの次につながれているオブ
ジェクトに移す。本実施例においては、ステップ211
における処理によって、検索対象となるオブジェクト
を、今調べたオブジェクト604の次につながれている
オブジェクト605に移す。そして、ステップ212に
移行して、検索状態管理領域の変更を行う。本実施例に
おいては、キューの検索がどのオブジェクトまで進んだ
かを示す機能を変更する機能、即ち検索状態管理領域6
03により、これから調べようとしているオブジェクト
605を特定する情報に変更する。そして、処理をステ
ップ205に戻し、割り込み禁止状態を解除する。割り
込み禁止状態を解除すると、今まで割り込みを禁止して
いた間に入ってきた割り込み信号に対する処理が開始さ
れる。
【0042】この割り込みに対する処理で、今検索の対
象となっているオブジェクト605がキュー1から外さ
れ、キュー2の最後尾につながれる処理が行われるもの
とする。その手順を図3を用いて説明する。
【0043】まず、ステップ301において割り込み禁
止状態にする。そして、ステップ302において、オブ
ジェクトの一つ前につながれているオブジェクトを特定
する情報を得る。本実施例においては、データ読み込み
手段108を用いて、キューから削除するオブジェクト
605のオブジェクト特定情報領域D612に入ってい
る情報を得る。次に、ステップ303において、ステッ
プ302において得られた、キューから削除するオブジ
ェクトの一つ前につながれているオブジェクトの、次に
つながれているオブジェクトを特定する情報が入ってい
る領域を書き替える。本実施例においては、この処理に
より、データ読み込み手段108を用いて、キューから
削除されるオブジェクト、オブジェクト605の中の次
につながれているオブジェクトを特定する情報が入って
いるオブジェクト特定情報領域C611に入っている情
報を得る。この時点において、オブジェクト特定情報領
域C611の中には、オブジェクト606を特定する情
報が入っている。削除するオブジェクトの次につながれ
ているオブジェクトを特定する情報を得た後に、当該情
報をデータ書き込み手段105を用いて、ステップ30
2において得られた削除されるオブジェクトの一つ前に
つながれているオブジェクト604の中の、次につなが
れているオブジェクトを特定する情報が入っているオブ
ジェクト特定情報領域C608に書き込む。
【0044】更に、ステップ304において、削除する
オブジェクトの次につながれているオブジェクトを特定
する情報を得る。本実施例においては、この処理は、削
除されるオブジェクト、オブジェクト605の中の次に
つながれているオブジェクトを特定する情報が入ってい
るオブジェクト特定情報領域C611に入っている情報
を、データ読み込み手段108を用いて得る。次に、ス
テップ305においては、削除されるオブジェクトの次
につながれているオブジェクトの一つ前につながれてい
るオブジェクトを特定する情報が入っている領域を書き
換える。本実施例においては、この処理は、データ読み
込み手段108を用いて、キューから削除されるオブジ
ェクト605の中の一つ前につながれているオブジェク
トを特定する情報が入っているオブジェクト特定情報領
域D612に入っている情報を得る。この時点におい
て、オブジェクト特定情報領域D612の中には、オブ
ジェクト604を特定する情報が入っている。削除する
オブジェクトの一つ前につながれているオブジェクトを
特定する情報を得た後に、その情報をデータ書き込み手
段105を用いて、ステップ304において得られた削
除されるオブジェクトの次につながれているオブジェク
ト606の中の、一つ前につながれているオブジェクト
を特定する情報が入っているオブジェクト特定情報領域
D615に書き込む。ここまでの処理により、オブジェ
クト604の次にオブジェクト606がつながれ、オブ
ジェクト606の一つ前にオブジェクト604がつなが
れたことになり、オブジェクト605はキュー1から完
全に外されたことになる。
【0045】そして、ステップ306において、今キュ
ー1から外したオブジェクトを新たにつなぐキューにつ
なぐ際に、何れの位置に挿入するかを探す。本実施例の
場合においては、オブジェクト605は、キュー2の最
後尾につながれるものとする。
【0046】次に、ステップ307において、挿入する
オブジェクトの一つ前につながれているオブジェクトを
特定する情報を書き換える。本実施例において、この処
理は、まず挿入するオブジェクトの一つ前につながれる
オブジェクトを特定する情報を得る。この場合、挿入す
るオブジェクトの一つ前につながれるオブジェクトは、
現在キュー2の最後尾につながれているオブジェクト6
19である。キューの最後尾にオブジェクトを挿入する
場合には、キューの最後尾につながれているオブジェク
トを特定する情報が入っているオブジェクト特定情報領
域B616に入っている情報を、データ読み込み手段1
08を用いて得る。次に、今得た情報をデータ書き込み
手段105を用いて、挿入するオブジェクトの一つ前に
つながれているオブジェクトを特定する情報が入ってい
る領域に書き込む。本実施例においては、挿入するオブ
ジェクトはオブジェクト605であり、そのオブジェク
トの一つ前につながれているオブジェクトを特定する情
報が入っている領域は、オブジェクト特定情報領域D6
12である。このオブジェクト特定情報領域D612
に、一つ前につながれるオブジェクト619を特定する
情報を書き込む。そして、処理はステップ308に移行
して、挿入するオブジェクトの次につながれるオブジェ
クトを特定する情報が入っている領域を書き換える。本
実施例においては、この処理は挿入されるオブジェクト
の一つ前につながれるオブジェクトの次につながれるオ
ブジェクトを特定する情報を、データ読み込み手段10
8を用いて得る。そして、その得られた情報を、挿入さ
れるオブジェクトの次につながれるオブジェクトを特定
する情報が入っている領域に、データ書き込み手段10
5を用いて書き込む。本実施例の場合には、挿入される
オブジェクトの一つ前につながれるオブジェクト619
の次につながれるオブジェクトを特定するオブジェクト
特定情報領域C624に入っている情報は“0”であ
る。この情報を、挿入されるオブジェクト605の一つ
前につながれるオブジェクトを特定する情報が入ってい
るオブジェクト特定情報領域C611に書き込む。更
に、ステップ309において、挿入されるオブジェクト
の一つ前につながれるオブジェクトの、次につながれる
オブジェクトを特定する情報が入っている領域を書き換
える。本実施例においては、この処理は、まず挿入され
るオブジェクトの一つ前につながれるオブジェクトを特
定する情報を得る。これは、挿入するオブジェクト60
5の一つ前につながれるオブジェクトを特定する情報が
入っているオブジェクト特定情報領域D612を、デー
タ読み込み手段108を用いることにより得ることがで
きる。このオブジェクト特定情報領域D612のなかに
は、オブジェクト619を特定する情報が入っている。
ここで得られたオブジェクトの次につながれているオブ
ジェクトを特定する情報が入っている領域に、挿入する
オブジェクトを特定する情報を、データ書き込み手段1
05を用いて書き込む。次に、ステップ310におい
て、オブジェクト605の次につながれているオブジェ
クトの中の、次につながれているオブジェクトを特定す
る情報が入っている領域を書き換える。本実施例におい
ては、挿入するオブジェクトの中の次につながれている
オブジェクトを特定する情報を得て、その得たオブジェ
クトの一つ前につながれているオブジェクトを特定する
情報が入っている領域を、挿入するオブジェクトを特定
する情報に書き換える。本実施例においては、挿入する
オブジェクト605の中の次につながれているオブジェ
クトを特定する情報は“0”であるので、挿入されるオ
ブジェクトの次につながれるオブジェクトは存在しな
い。この場合には、処理はステップ311に移行する。
ステップ311においては、挿入されるオブジェクトの
リンク状態管理領域を、あるキューから外されて他のキ
ューにつながれたことを示す情報に書き換える。本実施
例においては、挿入されるオブジェクト605のリンク
状態管理領域610を“UNLINKED−LINK”
に書き換える。そして、ステップ312において割り込
み禁止状態を解除し、或るオブジェクトをキューから外
して、他のキューにつなぎ直す処理を終了する。
【0047】図7は、オブジェクト705をキュー1か
らキュー2につなぎなおした状態を示している。以下
に、図7を参照して後の処理について説明する。
【0048】オブジェクト705をキュー1からキュー
2に対するつなぎ直しを含む割り込み処理が終了する
と、ステップ206に戻り、ステップ206において割
り込み禁止状態にし、ステップ207において、検索状
態管理領域に入っている情報が示しているオブジェクト
のリンク状態管理領域を調べる。本実施例においては、
現在検索状態管理領域に入っている情報はオブジェクト
705を示しており、オブジェクト705のリンク状態
管理領域710に入っている情報は“UNLINED−
LINK”である。よって、“LINK”ではないの
で、処理はステップ215に移行する。ステップ215
においては、検索状態管理領域に入っている情報が示し
ているオブジェクトのリンク状態管理領域を調べる。そ
して、そのリンク状態管理領域に入っている情報が、あ
るキューからオブジェクトが外されて他のキューにつな
がれたことを示す情報が入っているかを調べる。本実施
例の場合においては、“UNLINKED−LINK”
であるかを調べる。“UNLINKED−LINK”で
ない場合には、処理はステップ202に移行する。また
“UNLINKED−LINK”である場合には、処理
をステップ214に移行させる。本実施例の場合には、
検索状態管理領域に入っている情報が示しているオブジ
ェクトは、オブジェクト705である。このオブジェク
ト705のリンク状態管理領域に入っている情報は、或
るキューから外されて他のキューにつながれたことを示
す“UNLINKED−LINK”が入っている。従っ
て、処理はステップ214に移行する。
【0049】ステップ214においては、検索状態管理
領域に入っている情報が示しているオブジェクトのリン
ク状態管理領域をキューにつながれていることを示す情
報に書き換える。本実施例においては、検索状態管理領
域に入っている情報が示しているオブジェクトはオブジ
ェクト705であり、オブジェクト705のリンク状態
管理領域を、データ書き込み手段105を用いて“LI
NK”という情報に書き換える。
【0050】次いで処理はステップ202に移り、キュ
ーの先頭につながれているオブジェクトを特定する情報
を得る。更に、ステップ103において、キューにつな
がれているオブジェクトが存在するかを調べる。これは
前述したように、ステップ202において得られたキュ
ーの先頭につながれているオブジェクトを特定する情報
が“0”でないか否かを、データ判定手段107を用い
て調べる。キューにオブジェクトが存在しない場合、即
ち、ステップ202において得られて、ステップ203
において調べたキューの先頭につながれているオブジェ
クトを特定する情報が“0”であった場合には、処理は
ステップ213に移行し、割り込み禁止状態を解除し
て、キューの検索処理を終了する。キューにオブジェク
トが存在した場合、即ち、ステップ202において得ら
れて、ステップ203において調べたデータが“0”で
なかった場合には、処理はステップ204に移行して、
キューの検索処理を続ける。本実施例の場合には、ステ
ップ202において得られたキューに、先頭につながれ
ているオブジェクトを特定する情報が入っているオブジ
ェクト特定情報領域A701には、オブジェクト704
を特定する情報が入っていて“0”ではないので、処理
をステップ204に移行する。
【0051】そして、ステップ204において、検索状
態管理領域をキューの先頭につながれているオブジェク
トの情報を示す情報に書き換える。以下、キュー1の検
索をオブジェクト704、オブジェクト706へと続け
てゆく。また、ステップ205において、割り込み禁止
状態を解除した時点において、割り込み信号が入ってき
て割り込み信号に対する処理が行われても、その処理中
に検索状態管理領域が指し示しているオブジェクトをキ
ューから削除しなければ、検索状態管理領域が指し示す
オブジェクトのリンク状態管理領域が変更されないの
で、キューの検索はそのまま続行される。
【0052】次に、本発明の第2の実施例について説明
する。
【0053】前述した第1の実施例においては、キュー
の検索がどのオブジェクトまで進んだかを示す検索状態
管理領域をオブジェクトの外に、各オブジェクトのリン
ク状態を示すリンク状態管理領域をオブジェクトの中に
持つ場合について説明しているが、この第2の実施例に
おいては、検索状態管理領域をオブジェクトの中に、リ
ンク状態管理領域をオブジェクトの外に持つ場合につい
て図面を用いて説明する。
【0054】図8は本発明の第2の実施例のシステムを
示すブロック図である。また、図9は、本実施例におけ
るキューの検索時のフローチャート、図10は、オブジ
ェクトを他のキューにつなぎ直す際のフローチャート、
図11は検索前のキューの状態を示す図、図12は検索
中のキューの状態を示す図、図13は、オブジェクトを
つなぎ直す前のキューの状態を示す図、そして図14
は、オブジェクトをつなぎ直した後のキューの状態を示
す図である。
【0055】図8に示されるように、本実施例は、キュ
ーにつながれていることを示す機能を変更するための機
能変更手段804、データを書き込む機能を有するデー
タ書き込み手段805、キューにつながれている任意の
オブジェクトを示す機能を変更するためのオブジェクト
指示機能変更手段806、データが“0”であるか否か
を判定する機能を有するデータ判定手段807、データ
を読み込む機能を有するデータ読み込み手段808、お
よび割り込みの通知を受けて、それに対応する割り込み
ハンドラを起動する機能を有する割り込みハンドラ起動
手段809を含むデータ処理手段801と、プログラム
コードとしてRTOS、RTOS上において動作する一
つ乃至複数のタスクを含むタスク群812、割り込み信
号が入ってきた時に、当該割り込み信号に対応する処理
が記述されている割り込みハンドラ810、プログラム
データとして前記タスクにおいて使用される各種データ
をRTOSにより管理するためのオブジェクト815、
そのオブジェクト815をキューイングして管理するた
めのキュー814、およびコード部811を含むデータ
記憶手段802と、割り込みコントローラ803とを備
えて構成される。
【0056】なお、図11および図12において、オブ
ジェクト特定情報領域A1101および1201は、キ
ューの先頭につながれているオブジェクトを特定する情
報が入っている領域であり、オブジェクト特定情報領域
B1102および1202は、キューの最後尾につなが
れているオブジェクトを特定する情報が入っている領域
である。また、オブジェクト1104、1105、11
06、1204、1205および1206は、それぞれ
キュー814につながれているオブジェクトで、オブジ
ェクト特定情報領域C1108、1111、1114、
1208、1211および1214は、これらのオブジ
ェクトの次につながれているオブジェクトを特定する情
報が入っている領域であり、オブジェクト特定情報領域
D1109、1112、1115、1209、1212
および1215は、これらのオブジェクトの一つ前につ
ながれているオブジェクトを特定する情報が入っている
領域である。
【0057】更に各オブジェクト内に存在する検索状態
管理領域1107,1110,1113,1207,1
210および1213は、キューの検索が、当該キュー
につながれているオブジェクトの内、どのオブジェクト
まで進んだかを示す機能を有しており、当該キューにつ
ながれているオブジェクトの内の1つを特定する情報が
入っている領域である。これらの検索状態管理領域は、
本実施例においては、共にデータ記憶手段802内に含
まれている。また、リンク状態管理領域1103および
1203は、オブジェクトがキューにつながれているこ
とを示す機能を有しており、当該オブジェクトがそのキ
ューの検索を開始した時点においてつながれていたキュ
ーに、現在もつながれているか否かを示す情報が入って
いる領域である。このリンク状態管理領域は、本実施例
においては、データ記憶手段802内のキュー814の
中に含まれている。
【0058】図11および図12において、キュー1に
オブジェクトが一つもつながれていない場合には、キュ
ー1の先頭につながれているオブジェクトを特定する情
報が入っているオブジェクト特定情報領域A1101お
よび1201には、オブジェクトが一つもつながれてい
ないことを示すため“0”が入るものとする。また、キ
ューの先頭につながれているオブジェクトの前につなが
れているオブジェクトは存在しないので、先頭のオブジ
ェクトの一つ前につながれているオブジェクトを特定す
る情報が入っている領域には、オブジェクトが存在しな
いことを示すため“0”が入るものとする。同様に図1
1および図12において、キューの最後尾につながれて
いるオブジェクトの後には、つながれているオブジェク
トは存在しないので、キューの最後尾につながれている
オブジェクト1106および1206中の、次につなが
れているオブジェクトの次につながれているオブジェク
トを特定する情報が入っているオブジェクト特定情報領
域C1114および1214には、次につながれている
オブジェクトが存在しないことを示すために“0”が入
るものとする。
【0059】本実施例においては、図11および図12
の各オブジェクト内に存在するリンク状態管理領域11
03および1203には、検索対象となっているオブジ
ェクトがキューにつながれていることを示す“LIN
K”という情報が入っており、キューにつながれていな
い場合には、キューにつながれていないことを示すため
“UNLINK”という情報が入っているものとする。
なおこの領域の初期状態として、検索対象となっている
オブジェクトが、そのキューにつながれていることを示
す情報が入っているものとする。本実施例の場合には、
この領域には“LINK”という情報が入っているもの
とする。本実施例においては、図11および図12にお
ける、検索状態管理領域1107、1110、111
3、1207、1210および1213には、そのキュ
ーにつながれている任意のオブジェクトを特定する情報
が入っており、この情報により、キューにつながれてい
るオブジェクトの検索がどのオブジェクトまで進んだか
を示す。本実施例においては、当該オブジェクトが検索
対象のオブジェクトである場合には、検索対象であるこ
とを示すため“MARK”という情報が入っており、検
索対象でない場合には”NOMARK”という情報が入
っているものとする。検索中のキューにおいて検索状態
管理領域が“MARK”であるオブジェクトは、そのキ
ューの中に一つだけで、残りのオブジェクトの検索状態
管理領域には“NOMARK”が入っているものとす
る。
【0060】図9に示されるステップ901において
は、キューの検索を行うにあたり、割り込み禁止状態に
する。そして、ステップ902において、キューの先頭
につながれているオブジェクトを特定する情報を得る。
本実施例においては、図8におけるデータ読み込み手段
808を利用して、図11のオブジェクト特定情報領域
A1101に入っているキューの先頭につながれている
オブジェクトを特定する情報を得る。本実施例において
は、オブジェクト特定情報領域A1101には、オブジ
ェクト1104を特定する情報が入っている。ステップ
903において、キューにつながれているオブジェクト
が存在するかを調べる。これはステップ902において
得られたキューの先頭につながれているオブジェクトを
特定する情報が“0”でないか否かを、図8のデータ判
定手段808を用いて調べる。キューにオブジェクトが
存在しない場合、即ち、ステップ902において得られ
て、ステップ903において調べたキューの先頭につな
がれているオブジェクトを特定する情報が“0”であっ
た場合には、処理はステップ914に移行し、割り込み
禁止状態を解除してキューの検索処理を終了する。ま
た、キューにオブジェクトが存在する場合、即ち、ステ
ップ902において得られて、ステップ903において
調べたデータが“0”でなかった場合には、処理をステ
ップ904に移行させてキューの検索処理を続ける。本
実施例の場合には、ステップ902において得られたキ
ューの先頭につながれているオブジェクトを特定する情
報が入っているオブジェクト特定情報領域A1101に
は、オブジェクト1104を特定する情報が入っていて
“0”ではないので、処理はステップ904に移行し、
ステップ902において得られたキューの先頭につなが
れているオブジェクトの検索状態管理領域に入っている
情報を、検索中であることを示すために検索対象である
ことを示す情報に書き換える。本実施例においては、キ
ューの先頭につながれているオブジェクトはオブジェク
ト1104であり、そのオブジェクト1104の検索状
態管理領域1107を“MARK”に書き換える。
【0061】次に、ステップ905に移行して割り込み
禁止状態を解除する。その後、ステップ906において
再び割り込み禁止状態にし、検索処理を続ける。そし
て、ステップ907において、キュー内に存在するリン
ク状態管理領域に入っている情報が検索対象となってい
るオブジェクトがキューにつながれていることを示す情
報であるか否かを調べる。リンク状態管理領域に入って
いる情報が、検索対象となっているオブジェクトがキュ
ーより外されていることを示す情報に出会った場合に
は、キューの検索処理はステップ902に戻る。また、
リンク状態管理領域に入っている情報が、検索対象とな
っているオブジェクトがキューにつながれていることを
示す情報であった場合には、キューの検索処理はステッ
プ908に移行する。本実施例の場合には、図11にお
いてキューのリンク状態管理領域に入っている情報は、
検索対象となっているオブジェクト1104がキューに
つながれていることを示す情報の“LINK”である。
よって、キューの検索処理は、ステップ907からステ
ップ908に移行する。ステップ908においては、今
検索対象となっているオブジェクトが探していたオブジ
ェクトであるか否かを調べる。そして、ステップ909
において、今調べたオブジェクトが探していたオブジェ
クトか否かをチェックする。もし、今調べたオブジェク
トが探していたオブジェクトであった場合には、ステッ
プ914に移行して、割り込み禁止状態を解除し、キュ
ーの検索処理を終了する。また、探していたオブジェク
トでなかった場合には、ステップ910に移行して、今
調べたオブジェクトの次につながれているオブジェクト
が存在するか否かを調べる。本実施例においては、今調
べたオブジェクト1104は探していたオブジェクトで
なかったものとする。オブジェクト1104が探してい
たオブジェクトでなかったので、キューの検索処理はス
テップ909からステップ910に移行する。
【0062】ステップ910においては、今調べたオブ
ジェクトの次につながれているオブジェクトが存在する
かを調べるが、本実施例においては、今調べたオブジェ
クト1104の次につながれているオブジェクトを特定
する情報が入っているオブジェクト特定情報領域C12
08をデータ読み込み手段を用いて読み込む。そして、
同じくデータ判定手段807を用いて、オブジェクト特
定情報領域C1108に入っていたデータが“0”であ
るか否かを調べる。もし、次につながれているオブジェ
クトを特定する情報が“0”であった場合には、そのキ
ューには、そのオブジェクト以降につながれているオブ
ジェクトは存在しないので、処理をステップ914に移
行して、割り込み禁止状態を解除し、キューの検索処理
を終了する。次につながれているオブジェクトを特定す
る情報が“0”でなかった場合には、即ち、次につなが
れているオブジェクトを特定する情報が入っていた場合
には、キューの検索処理をステップ911に移行させ
て、検索処理を続ける。本実施例においては、オブジェ
クト特定情報領域C1108には、オブジェクト110
4の次につながれているオブジェクト1105を特定す
る情報が入っているので、キューの検索処理はステップ
911に移行する。ステップ911においては、現在検
索対象となっているオブジェクトの検索状態管理領域に
入っている情報を、検索対象外であることを示す情報に
書き換える。本実施例においては、現在検索対象となっ
ているオブジェクト1104の検索状態管理領域に入っ
ている情報を、データ書き込み手段808を用いて、
“MARK”から“NOMARK”に書き換える。ステ
ップ912においては、検索対象となるオブジェクト
を、今調べたオブジェクトの次につながれているオブジ
ェクトに移動する。本実施例においては、オブジェクト
1104の次につながれているオブジェクト1105に
検索対象を移す。ステップ913において、新たに検索
対象となったオブジェクトの検索状態管理領域に入って
いる情報を、検索対象となっていることを示す情報に変
更する。本実施例においては、新たに検索対処となった
オブジェクトは、図11におけるオブジェクト1105
であり、オブジェクト1105の検索対象管理領域に入
っている情報を、データ書き込み手段805を用いて、
検索対象となっていることを示す“MARK”に変更す
る。そして処理はステップ905に戻って割り込み禁止
状態を解除し、ステップ906において割り込み禁止状
態にする。次に、ステップ907において、新たに検索
対象となったオブジェクトのリンク状態管理領域を判定
する。このようにして、探していたオブジェクトが見つ
かるか、検索していたキューにつながれているオブジェ
クトを全て調べ終わるまで検索処理を続ける。
【0063】次に、前述した第1の実施例のようにキュ
ーの検索中に割り込み信号が入ってきて、その割り込み
信号に対応する割り込みハンドラの中で、検索中のオブ
ジェクトをキュー1から外し、キュー2につなぎ替える
処理があった場合について、図面を用いて説明する。
【0064】図10は、本実施例において用いたキュー
からオブジェクトを外し、他のキューにつなぎ替える際
のフローチャートであり、図13は、検索処理を開始し
た時の各キューおよび各オブジェクトの状態を示した図
である。また、図14は、キュー1からオブジェクトを
はずし、キュー2につなぎなおした状態を示した図であ
る。図13および図14において、オブジェクト特定情
報領域A1301、1315、1401および1415
は、キューの先頭につながれているオブジェクトを特定
する情報が入っている領域であり、オブジェクト特定情
報領域B1302、1316、1402および1416
は、キューの最後尾につながれているオブジェクトを特
定する情報が入っている領域である。オブジェクト13
04、1305、1306、1318、1319、14
04、1405、1406、1418および1419
は、それぞれキューにつながれているオブジェクトで、
オブジェクト特定情報領域C1308、1311、13
14、1321、1324、1408、1411、14
14、1421および1424は、それらのオブジェク
トの次につながれているオブジェクトを特定する情報が
入っている領域であり、オブジェクト特定情報領域D1
309、1312、1315、1322、1325、1
409、1412、1415、1422および1425
は、それぞれのオブジェクトの1つ前につながれている
オブジェクトを特定する情報が入っている領域である。
更に各オブジェクト内に存在する検査状態管理領域13
07、1310、1313、1320、1323、14
07、1410、1413、1420および1423
は、キューの検索が、そのキューにつながれているオブ
ジェクトの内、どのオブジェクトまで進んだかを示す機
能で、そのキューにつながれているオブジェクトのうち
の1つを特定する情報が入っている領域である。なお、
この検査状態管理領域は、図8におけるデータ記憶手段
802に含まれている。また、リンク管理領域130
3、1317、1403および1417は、オブジェク
トがキューにつながれていることを示す機能で、当該オ
ブジェクトがそのキューの検索を開始した時点において
つながれていたキューに、現在もつながれているか否か
を示す情報が入っている領域である。このリンク状態管
理領域は、データ記憶手段802内のキューの中に含ま
れている。
【0065】図13および図14のキューに、オブジェ
クトが一つもつながれていない場合には、キューの先頭
につながれているオブジェクトを特定する情報が入って
いるオブジェクト特定情報領域A1301および140
1には、オブジェクトが一つもつながれていないことを
示すため“0”が入るものとする。また、キューの先頭
につながれているオブジェクトの前には、つながれてい
るオブジェクトは存在しないので、先頭のオブジェクト
の一つ前につながれているオブジェクトを特定する情報
が入っている領域には、オブジェクトが存在しないこと
を示すため“0”が入るものとする。同様に、図13お
よび図14において、キューの最後尾につながれている
オブジェクトの後には、つながれているオブジェクトは
存在しないので、キューの最後尾につながれているオブ
ジェクト1306および1406中の、次につながれて
いるオブジェクトの次につながれているオブジェクトを
特定する情報が入っているオブジェクト特定情報領域C
1314および1414には、次につながれているオブ
ジェクトが存在しないことを示すために、“0”が入る
ものとする。
【0066】本実施例においては、図13および図14
の各オブジェクト内に存在するリンク状態管理領域13
03および1403には、検索対象となっているオブジ
ェクトが、キューにつながれていることを示す“LIN
K”という情報が入っており、キューにつながれていな
い場合には、キューにつながれていないことを示すため
に、“UNLINK”という情報が入っているものとす
る。なお、この領域の初期状態としては、検索対象とな
っているオブジェクトが、当該キューにつながれている
ことを示す情報が入っているものとする。本実施例の場
合には、この領域には“LINK”という情報が入って
いるものとする。
【0067】本実施例において、図13および図14の
検索状態管理領域1307、1310、1313、14
07、1410および1413には、そのキューにつな
がれている任意のオブジェクトを特定する情報が入って
おり、この情報により、キューにつながれているオブジ
ェクトの検索が、どのオブジェクトまで進んだかを示
す。本実施例においては、そのオブジェクトが検索対象
のオブジェクトであった場合には、検索対象であること
を示すために“MARK”という情報が入っており、検
索対象でない場合には“NOMARK”という情報が入
っているものとする。検索中のキューにおいて検索状態
管理領域が“MARK”であるオブジェクトは、そのキ
ューの中においては一つだけで、残りのオブジェクトの
検索状態管理領域には“NOMARK”が入っているも
のとする。
【0068】まず図9におけるステップ901におい
て、キューの検索を行うにあたり割り込み禁止状態にす
る。そして、ステップ902において、キューの先頭に
つながれているオブジェクトを特定する情報を得る。本
実施例においては、図8図のデータ読み込み手段808
を利用して、図13のオブジェクト特定情報領域A13
01に入っているキューの先頭につながれているオブジ
ェクトを特定する情報を得る。本実施例においては、オ
ブジェクト特定情報領域A1301には、オブジェクト
1304を特定する情報が入っている。ステップ903
において、キューにつながれているオブジェクトが存在
するかを調べる。これはステップ902において得られ
たキューの先頭につながれているオブジェクトを特定す
る情報が“0”でないか否か、データ判定手段807を
用いて調べる。キューにオブジェクトが存在しない場
合、即ち、ステップ902において得られて、ステップ
903において調べたキューの先頭につながれているオ
ブジェクトを特定する情報が“0”であった場合には、
処理はステップ914に移行して、割り込み禁止状態を
解除し、キューの検索処理を終了する。またキューにオ
ブジェクトが存在する場合、即ち、ステップ902にお
いて得られて、ステップ903において調べたデータが
“0”でなかった場合には、処理をステップ904に移
行させて、キューの検索処理を続ける。本実施例の場合
には、ステップ902において得られたキューの先頭に
つながれているオブジェクトを特定する情報が入ってい
るオブジェクト特定情報領域A1301には、オブジェ
クト1304を特定する情報が入っていて“0”ではな
いので、処理をステップ904に移行する。
【0069】ステップ904においては、ステップ90
2において得られたキューの先頭につながれているオブ
ジェクトの検索状態管理領域に入っている情報を、検索
中であることを示すために、検索対象であることを示す
情報に書き換える。本実施例においては、キューの先頭
につながれているオブジェクトはオブジェクト1304
であり、そのオブジェクト1304の検索状態管理領域
1307を“MARK”に書き換える。次に、ステップ
905に処理を移して、割り込み禁止状態を解除する。
その後、ステップ906において、再び割り込み禁止状
態にして検索処理を続ける。そして、ステップ907に
おいて、キュー内に存在するリンク状態管理領域に入っ
ている情報が検索対象となっているオブジェクトが、キ
ューにつながれていることを示す情報であるか否か調べ
る。リンク状態管理領域に入っている情報が検索対象と
なっているオブジェクトが、キューより外されているこ
とを示す情報に出会った場合には、キューの検索処理は
ステップ902に戻り、リンク状態管理領域に入ってい
る情報が検索対象となっているオブジェクトが、キュー
につながれていることを示す情報であった場合には、キ
ューの検索処理はステップ908に移行する。本実施例
の場合には、図13において、キューのリンク状態管理
領域に入っている情報は、検索対象となっているオブジ
ェクト1304がキューにつながれていることを示す情
報の“LINK”である。従って、キューの検索処理
は、ステップ907からステップ908に移行する。ス
テップ908においては、今検索対象となっているオブ
ジェクトが探していたオブジェクトであるか否かを調べ
る。そして、ステップ909において、今調べたオブジ
ェクトが探していたオブジェクトか否かをチェックす
る。もし、今調べたオブジェクトが探していたオブジェ
クトであった場合には、ステップ914に処理を移行し
て、割り込み禁止状態を解除し、キューの検索処理を終
了する。また探していたオブジェクトでなかった場合に
は、ステップ910に移行して、今調べたオブジェクト
の次につながれているオブジェクトが存在するか否かを
調べる。本実施例においては、今調べたオブジェクト1
304は、探していたオブジェクトではなかったものと
する。オブジェクト1304が探していたオブジェクト
でなかったので、キューの検索処理はステップ909か
らステップ910に移行する。
【0070】ステップ910においては、今調べたオブ
ジェクトの次につながれているオブジェクトが存在する
かを調べるが、本実施例においては、今調べたオブジェ
クト1304の次につながれているオブジェクトを特定
する情報が入っているオブジェクト特定情報領域C13
08を、データ読み込み手段808を用いて読み込む。
そして、データ判定手段807を用いて、オブジェクト
特定情報領域C1308に入っていたデータが“0”で
あるか否かを調べる。もし、次につながれているオブジ
ェクトを特定する情報が“0”であった場合には、その
キューには、そのオブジェクト以降につながれているオ
ブジェクトは存在しないので、処理をステップ914に
移して、割り込み禁止状態を解除し、キューの検索処理
を終了する。次につながれているオブジェクトを特定す
る情報が“0”でなかった場合には、即ち、次につなが
れているオブジェクトを特定する情報が入っていた場合
には、キューの検索処理をステップ911に移行させ
て、検索処理を続ける。本実施例においては、オブジェ
クト特定情報領域C1308には、オブジェクトB13
04の次につながれているオブジェクトB1305を特
定する情報が入っているので、キューの検索処理は、ス
テップ911に移行する。ステップ911においては、
現在検索対象となっているオブジェクトの検索状態管理
領域に入っている情報を、検索対象外であることを示す
情報に書き換える。本実施例においては、現在検索対象
となっているオブジェクト1304の検索状態管理領域
1307に入っている情報を、データ書き込み手段80
5を用いて、“MARK”から“NOMARK”に書き
換える。
【0071】ステップ912においては、検索対象とな
るオブジェクトを、今調べたオブジェクトの次につなが
れているオブジェクトに移動する。本実施例において
は、オブジェクト1304の次につながれているオブジ
ェクト1305に、検索対象を移す。ステップ913に
おいて、新たに検索対象となったオブジェクトの検索状
態管理領域に入っている情報を、検索対象となっている
ことを示す情報に変更する。本実施例においては、新た
に検索対処となったオブジェクトは、図13のオブジェ
クト1305であり、オブジェクト1305の検索対象
管理領域に入っている情報を、データ書き込み手段80
5を用いて、検索対象となっていることを示す“MAR
K”に変更する。そして、処理はステップ905に戻
り、割り込み禁止状態を解除する。割り込み禁止状態が
解除されると、今まで割り込みを禁止していた間に入っ
てきた割り込み信号に対する処理が開始される。この割
り込みに対する処理で、今検索の対象となっているオブ
ジェクト1305がキュー1から外され、キュー2の最
後尾につながれる処理が行われるものとする。その手順
を図10を用いて説明する。
【0072】まず図10に示されるステップ1001に
おいて、割り込み禁止状態にする。そして、ステップ1
002において、キューから削除するオブジェクトの一
つ前につながれているオブジェクトを特定する情報を得
る。本実施例においては、データ読み込み手段805を
用いて、キューから削除するオブジェクト1305の、
オブジェクト特定情報領域D1312に入っている情報
を得る。次に、ステップ1003において、ステップ1
002において得られたキューから削除するオブジェク
トの一つ前につながれているオブジェクトの次につなが
れているオブジェクトを特定する情報が入っている領域
を書き換える。本実施例においては、この処理は、デー
タ読み込み手段808を用いて、キューから削除される
オブジェクト1305の中の、次につながれているオブ
ジェクトを特定する情報が入っているオブジェクト特定
情報領域C1311に入っている情報を得る。この時点
において、オブジェクト特定情報領域C1311の中に
は、オブジェクト1306を特定する情報が入ってい
る。削除するオブジェクトの次につながれているオブジ
ェクトの次につながれているオブジェクトを特定する情
報を得た後に、その情報をデータ書き込み手段802を
用いて、ステップ1002において得られた、削除され
るオブジェクトの一つ前につながれているオブジェクト
1304の中の、次につながれているオブジェクトを特
定する情報が入っているオブジェクト特定情報領域C1
308に書き込む。
【0073】更に、ステップ1004において、削除す
るオブジェクトの次につながれているオブジェクトを特
定する情報を得る。本実施例においては、この処理は、
削除されるオブジェクト1305の中の、次につながれ
ているオブジェクトを特定する情報が入っている、オブ
ジェクト特定情報領域C1311に入っている情報を、
データ読み込み手段808を用いて得る。次に、ステッ
プ1005において削除されるオブジェクトの次につな
がれているオブジェクトの一つ前につながれているオブ
ジェクトを特定する情報が入っている領域を書き換え
る。本実施例においては、この処理は、データ読み込み
手段808を用いて、キューから削除されるオブジェク
ト1305の中の、1つ前につながれているオブジェク
トを特定する情報が入っているオブジェクト特定情報領
域D1312に入っている情報を得る。この時点におい
て、オブジェクト特定情報領域D1312の中には、オ
ブジェクト1304を特定する情報が入っている。削除
するオブジェクトの一つ前につながれているオブジェク
トを特定する情報を得た後に、当該情報をデータ書き込
み手段805を用いて、ステップ1004において得ら
れた、削除されるオブジェクトの次につながれているオ
ブジェクト1306の中の、一つ前につながれているオ
ブジェクトを特定する情報が入っているオブジェクト特
定情報領域D1315に書き込む。
【0074】ここまでの処理により、オブジェクト13
04の次にオブジェクト1306がつながれ、オブジェ
クト1306の一つ前にオブジェクト1304がつなが
れたことになり、オブジェクト1305はキュー1から
完全に外されたことになる。続いて、ステップ1006
において、削除されたオブジェクトの検索状態管理領域
を調べ、そのオブジェクトが検索対象となっていたかを
チェックする。もし、削除されたオブジェクトの検索状
態管理領域に入っている情報が、そのオブジェクトが検
索対象でないことを示す情報である場合には、処理はス
テップ1009に移行して、その処理を続ける。また、
削除されたオブジェクトの検索状態管理領域に入ってい
る情報が、そのオブジェクトが検索対象であることを示
す情報である場合には、処理はステップ1007に移行
する。本実施例の場合には、削除されたオブジェクト1
305の検索状態管理領域1310の情報が、当該オブ
ジェクトが検索対象であることを示す情報の“MAR
K”であるので、処理はステップ1007に移行する。
ステップ1007においては、削除したオブジェクトの
検索状態管理領域を、当該オブジェクトが検索対象でな
いことを示す情報に書き換える。本実施例の場合には、
オブジェクト1305の中の検索状態管理領域1311
を“NOMARK”に書き換える。続いて、ステップ1
008において、削除したオブジェクトがそれまでつな
がれていたキューの中にあるリンク状態管理領域に入っ
ている情報を、検索対象であるオブジェクトが、そのキ
ューから外されたことを示す情報に書き換える。本実施
例の場合には、削除したオブジェクト1305がそれま
でつながれていたキュー1の中のリンク状態管理領域1
303に入っている情報を、検索対象のオブジェクトが
削除されたことを示す“UNLINK”に書き換える。
そして、ステップ1009において、今キュー1から外
されたオブジェクトを、新たにつなぐキューにつなぐ際
にどの位置に挿入するかを探す。本実施例の場合には、
オブジェクト1305はキュー2の最後尾につながれる
ものとする。
【0075】次にステップ1010において、挿入する
オブジェクトの一つ前につながれているオブジェクトを
特定する情報を書き換える。本実施例においては、この
処理は、まず挿入するオブジェクトの一つ前につながれ
るオブジェクトを特定する情報を得る。この場合、挿入
するオブジェクトの一つ前につながれるオブジェクト
は、現在キュー2の最後尾につながれているオブジェク
ト1319である。キューの最後尾にオブジェクトを挿
入する場合は、キューの最後尾につながれているオブジ
ェクトを特定する情報が入っているオブジェクト特定情
報領域B1316に入っている情報を、データ読み込み
手段808を用いて得る。次に、今得た情報をデータ書
き込み手段805を用いて、挿入するオブジェクトの一
つ前につながれているオブジェクトを特定する情報が入
っている領域に書き込む。本実施例においては、挿入す
るオブジェクトはオブジェクト1305であり、そのオ
ブジェクトの一つ前にるつながれているオブジェクトを
特定する情報が入っている領域は、オブジェクト特定情
報領域D1312である。このオブジェクト特定情報領
域D1312に、一つ前につながれているオブジェクト
1319を特定する情報を書き込む。
【0076】そして、処理はステップ1011に移行し
て、挿入するオブジェクトの次につながれるオブジェク
トを特定する情報が入っている領域を書き換える。本実
施例においては、この処理は、挿入されるオブジェクト
の一つ前につながれるオブジェクトの次につながれるオ
ブジェクトを特定する情報を、データ読み込み手段80
8を用いて得る。そして、その得た情報を、挿入される
オブジェクトの次につながれるオブジェクトを特定する
情報が入っている領域に、データ書き込み手段805を
用いて書き込む。本実施例の場合には、挿入されるオブ
ジェクトの一つ前につながれるオブジェクト1319の
次につながれるオブジェクトを特定する情報が入ってい
るオブジェクト特定情報領域C1324に入っている情
報が“0”である。この情報を、挿入されるオブジェク
ト1305の一つ前につながれるオブジェクトを特定す
る情報が入っているオブジェクト特定情報領域1311
に書き込む。
【0077】更に、ステップ1012において、挿入さ
れるオブジェクトの一つ前につながれるオブジェクト
の、次につながれるオブジェクトを特定する情報が入っ
ている領域を書き換える。本実施例においては、この処
理は、まず挿入されるオブジェクト1305の一つ前に
つながれるオブジェクトを特定する領域に入っている情
報を得る。これは、挿入するオブジェクト1305の一
つ前につながれるオブジェクトを特定する情報が入って
いるオブジェクト特定情報領域D1312を、データ読
み込み手段808を用いることにより得ることができ
る。このオブジェクト特定情報領域D1312の中に
は、オブジェクト1319を特定する情報が入ってい
る。ここで得たオブジェクトの次につながれているオブ
ジェクトを特定する情報が入っている領域に、挿入する
オブジェクトを特定する情報を、データ書き込み手段を
805用いて書き込む。次に、ステップ1013におい
て、オブジェクト1305の次につながれているオブジ
ェクトの中の、次につながれているオブジェクトを特定
する情報が入っている領域を書き換える。本実施例にお
いては、挿入するオブジェクトの中の次につながれてい
るオブジェクトを特定する情報を得て、その得たオブジ
ェクトの一つ前につながれているオブジェクトを特定す
る情報が“0”であるので、挿入されるオブジェクトの
次につながれるオブジェクトは存在しない。この場合に
は、処理はステップ1014に移行する。そして、ステ
ップ1014において割り込み禁止状態を解除し、或る
オブジェクトをキューから外して、他のキューにつなぎ
直す処理を終了する。
【0078】図14は、オブジェクト1405をキュー
1からキュー2につなぎなおした状態を示している。次
に、図14を参照して後の処理について説明する。
【0079】オブジェクト1405をキュー1からキュ
ー2につなぎ直すことを含む割り込み処理が終了する
と、図9に示されるステップ906に戻る。ステップ9
06において、割り込み禁止状態にし、ステップ907
においてリンク状態管理領域を調べる。もし、リンク状
態管理領域に入っている情報が検索対象となっているオ
ブジェクトが、そのキューより外されていない場合に
は、処理はステップ908に移行する。もし、リンク状
態管理領域に入っている情報が検索対象となっているオ
ブジェクトが、そのキューより外されたことを示す情報
であった場合には、処理はステップ902に戻り、再び
そのキューの検索をキューの先頭につながれているオブ
ジェクトより始める。本実施例の場合には、キュー1の
リンク状態管理領域は検索対象であるオブジェクトがキ
ューより外されたことを示す情報の“UNLINK”で
あるので、処理はステップ902に移り、キューの先頭
につながれているオブジェクトを特定する情報を得る。
【0080】以下、キュー1の検索をオブジェクト17
04から1706へと続けて行う。また、ステップ90
5において、割り込み禁止状態を解除した時点で割り込
み信号が入ってきて、当該割り込み信号に対する処理が
行われても、その処理中に検索状態管理領域が、そのオ
ブジェクトが検索対象となっていることを示す“MAR
K”となっているオブジェクトをキューから削除しなけ
れば、検索状態管理領域は変更されないので、キューの
検索はそのまま続行される。
【0081】
【発明の効果】以上説明したように、本発明は、キュー
の検索がどのオブジェクトまで進行したかを示す機能を
有し、一つのオブジェクトに対する検索が終了する度
に、キューの検索がどのオブジェクトまで進んだかを更
新しながら当該キューの検索を行うことにより、当該キ
ュー検索処理中に発生した別処理により削除された場
合、または他のキューにつながれた場合に、前記別処理
よりキュー検索処理に戻ってきた時点において、当該キ
ューの先頭からキュー検索処理を再開することが可能と
なり、これにより、キュー検索処理中における繰返し処
理中に割り込み禁止状態を解除する区間を設けることが
でき、割り込み禁止状態の時間を一定にすることができ
るという効果がある。
【0082】また、割り込み禁止状態を解除することに
より、割り込み処理において検索対象となったオブジェ
クトが削除されても、検索処理自体は何らの矛盾を起す
ことなく、検索処理を続行することができるとい効果が
ある。
【図面の簡単な説明】
【図1】本発明の第1の実施例のシステムを示すブロッ
ク図である。
【図2】前記実施例におけるキュー検索のフローチャー
トを示す図である。
【図3】前記実施例におけるオブジェクトを他のキュー
につなぎ直すフローチャートを示す図である。
【図4】前記実施例における検索前のキューの状態を示
す図である。
【図5】前記実施例における検索中のキューの状態を示
す図である。
【図6】前記実施例におけるオブジェクトをつなぎ直す
前のキューの状態を示す図である。
【図7】前記実施例におけるオブジェクトをつなぎ直し
た後のキューの状態を示す図である。
【図8】本発明の第2の実施例のシステムを示すブロッ
ク図である。
【図9】第2の実施例におけるキュー検索のフローチャ
ートを示す図である。
【図10】第2の実施例におけるオブジェクトを他のキ
ューにつなぎ直すフローチャートを示す図である。
【図11】第2の実施例における検索前のキューの状態
を示す図である。
【図12】第2の実施例における検索中のキューの状態
を示す図である。
【図13】第2の実施例におけるオブジェクトをつなぎ
直す前のキューの状態を示す図である。
【図14】第2の実施例におけるオブジェクトをつなぎ
直した後のキューの状態を示す図である。
【図15】従来例のシステムを示すブロック図である。
【図16】従来例におけるキュー検索のフローチャート
(1)を示す図である。
【図17】従来例におけるキュー検索のフローチャート
(2)を示す図である。
【図18】従来例におけるオブジェクトをキューより削
除する際のフローチャートを示す図である。
【図19】従来例におけるオブジェクトをキューに挿入
する際のフローチャートを示す図である。
【図20】従来例における検索前のキューの状態を示す
図である。
【図21】従来例におけるオブジェクトをつなぎ直す前
のキューの状態を示す図である。
【図22】従来例におけるオブジェクトをつなぎ直した
後のキューの状態を示す図である。
【符号の説明】
101、801、1501 データ処理手段 102、802、1502 メモリ 103、803、1503 割り込みコントローラ 104、804 機能変更手段 105、805、1504 データ書き込み手段 106、806 オブジェクト指示機能変更手段 107、807、1505 データ判定手段 108、808、1506 データ読み込み手段 109、809、1507 割り込みハンドラ起動手
段 110、111、810、811、1508、1509
コード部 112、812、1510 タスク群 113、813、1511 データ部 114、814、1512 キュー 115、404〜406、504〜506、604〜6
06、618、619、704〜706、718、71
9、815、1104〜1106、1204〜120
6、1304〜1306、1318、1319、140
4〜1406、1418、1419、1513、200
3、2004、2005、2103〜2105、211
4、2115、2203〜2205、2214、221
5 オブジェクト 401、501、601、615、701、715、1
101、1201、1301、1315、1401、1
415、2001、2101、2112、2201、2
212 オブジェクト特定情報領域A 402、502、602、616、702、716、1
102、1202、1302、1316、1402、1
416、2002、2102、2113、2202、2
213 オブジェクト特定情報領域B 403、503、603、617、703、717、1
107、1110、1113、1207、1210、1
213、1307、1310、1313、1320、1
323、1407、1410、1413、1420、1
423 検索状態管理領域 407、410、413、507、510、513、6
07、610、613、620、623、707、71
0、713、720、723、1103、1203、1
303、1317、1403、1417 リンク状態
管理領域 408、411、414、508、511、514、6
08、611、614、621、624、708、71
1、714、721、724、1108、1111、1
114、1208、1211、1214、1308、1
311、1314、1321、1324、1408、1
411、1414、1421、1424、2006、2
008、2010、2106、2108、2110、2
116、2118、2206、2208、2210、2
216、2218 オブジェクト特定情報領域C 409、412、415、509、512、515、6
09、612、615、622、625、709、71
2、715、722、725、1109、1112、1
115、1209、1212、1215、1309、1
312、1315、1322、1325、1409、1
412、1415、1422、1425、2009、2
012、2015、2107、2109、2111、2
117、2119、2207、2209、2211、2
217、2219 オブジェクト特定情報領域D

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 組み込みシステム用のオペレーティング
    システムであり、オブジェクトをキューによって管理し
    ているシステムにおいて、 オブジェクトがキューにつながれていることを示す機能
    を変更する手段と、キューにつながれているオブジェク
    トを示す機能を変更する手段と、データを書き込む手段
    ならびにデータを読み込む手段と、前記データを読み込
    む手段により読み込まれたデータが0であるか否かを判
    定する手段と、所定の割り込み信号を受けて、当該割り
    込み信号に対応する割り込みハンドラを起動させる割り
    込ハンドラ起動手段と、を少なくとも含むデータ処理手
    段と、 前記キューおよびオブジェクト、前記割り込みハンド
    ラ、プログラムコードとして前記オペレーティングシス
    テム上にて動作するタスク群およびコード部を含むデー
    タ記憶手段と、 前記割り込み信号を生成して、前記割り込ハンドラ起動
    手段に出力する割り込みコントローラと、 を備えて構成され、キューの検索がどのオブジェクトま
    で進行したかを示す機能を有することにより、一つのオ
    ブジェクトに対する検索が終了する度に、キューの検索
    がどのオブジェクトまで進んだかを更新しながら当該キ
    ューの検索を行うことを特徴とするキュー検索方式。
  2. 【請求項2】 キューの検索処理中に、キューの検索が
    どのオブジェクトまで進行したかを示す機能により示さ
    れるオブジェクトが、当該キュー検索処理中に発生した
    別処理により削除された場合(他のキューにつながれた
    場合も含む)に、前記別処理よりキュー検索処理に戻っ
    てきた時点において、当該キューの先頭からキュー検索
    処理を再開することを特徴とするキュー検索方式。
JP05338197A 1993-12-28 1993-12-28 キュー検索方式 Expired - Fee Related JP3123871B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP05338197A JP3123871B2 (ja) 1993-12-28 1993-12-28 キュー検索方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP05338197A JP3123871B2 (ja) 1993-12-28 1993-12-28 キュー検索方式

Publications (2)

Publication Number Publication Date
JPH07200319A true JPH07200319A (ja) 1995-08-04
JP3123871B2 JP3123871B2 (ja) 2001-01-15

Family

ID=18315847

Family Applications (1)

Application Number Title Priority Date Filing Date
JP05338197A Expired - Fee Related JP3123871B2 (ja) 1993-12-28 1993-12-28 キュー検索方式

Country Status (1)

Country Link
JP (1) JP3123871B2 (ja)

Also Published As

Publication number Publication date
JP3123871B2 (ja) 2001-01-15

Similar Documents

Publication Publication Date Title
US8224812B2 (en) Database management system and method
EP0491367A2 (en) A queue managing method for an electronic mail system
US5404520A (en) Data input/output control system
US7870195B1 (en) Inter-processor messaging
EP0788054A2 (en) Memory controller and memory control system
JP3113841B2 (ja) 並列トランザクション処理システム
EP0487317B1 (en) Processor and method for parallel processing
JPH0668736B2 (ja) 2個のシステムクロックサイクルを利用する書込み動作をもったキャッシュメモリユニットを供与する装置及び方法
US20010025295A1 (en) Computer system, memory management method, storage medium and program transmission apparatus
JPH04182858A (ja) 共有メモリ管理方式
US5410694A (en) File access processing system of a computer enabling high-speed sequential access for a stream file
US6546484B2 (en) Program module management system and method thereof and storing medium of management programs of the system
JPH07200319A (ja) キュー検索方式
JP2539347B2 (ja) フアイル管理方法
US9135058B2 (en) Method for managing tasks in a microprocessor or in a microprocessor assembly
US6971088B1 (en) Scenario analysis control system device
JP2004118553A (ja) ワークフロー実行方法とシステム、およびそのためのプログラム
JP2843748B2 (ja) 排他制御方式
EP0183877B1 (en) Microcomputer for time dependent processes
JP2000040057A (ja) 計算機システム、バッファ制御装置及び転送方法
JP2976722B2 (ja) 待ち行列の管理方式および管理方法
JPH04139545A (ja) データベース更新処理方式
JPH0391055A (ja) ハードウエアロックのセット方法、ハードウエアロック制御装置、ハードウエアロックの検出方法と装置
JPH086727A (ja) プログラムの実行方法
JPH08263317A (ja) チェックポイント/リスタート処理方式

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20000509

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20001010

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

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: 20081027

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091027

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091027

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101027

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101027

Year of fee payment: 10

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: 20101027

Year of fee payment: 10

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: 20111027

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111027

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121027

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees