(57)【特許請求の範囲】
【請求項１】
複数のタスクの待ち行列をチェーン状に形成するタスク管理を行うオペレーティングシステムにおいて、
追加するタスクのエントリアドレスのセット数をカウントするカウンタを設け、複数のタスクを挿入するインサーションモード時に、タスクのチェーン処理のスタートアドレスをレジスタにストアし、追加するタスクのエントリアドレスをそれぞれ異なるレジスタにストアし、前記カウンタによって前記エントリアドレスがストアされたセット数をカウントし、そのカウンタ値を直接メモリアクセスコントローラへ入力し、前記スタートアドレスがセットされたことによってダイレクト・メモリ・アクセスを実行することにより、メモリに記憶されているタスクの待ち行列をチェーン状に形成するデータの書き換えを行なうようにしたことを特徴とするオペレーティングシステム。
【請求項２】
複数のタスクの待ち行列をチェーン状に形成するタスク管理を行うオペレーティングシステムにおいて、
削除するタスクのタスクコントロールブロックのセット数をカウントするカウンタを設け、複数のタスクを削除するデリーションモード時に、削除する最初のタスクのタスクコントロールブロックを指定するデリーションアドレスと削除する最後のタスクのタスクコントロールブロックを指定するデリーションアドレスとをそれぞれ異なるレジスタにストアし、前記カウンタによって削除するタスクコントロールブロックのセット数をカウントし、そのカウンタ値を直接メモリアクセスコントローラへ入力し、前記削除する最初のタスクのタスクコントロールブロックを指定するデリーションアドレスがセットされたことによってダイレクト・メモリ・アクセスを実行することにより、メモリに記憶されているタスクの待ち行列をチェーン状に形成するデータの書き換えを行なうようにしたことを特徴とするオペレーティングシステム。
【請求項３】
複数のタスクの待ち行列をチェーン状に形成するタスク管理を行うオペレーティングシステムにおいて、
追加するタスクのエントリアドレスのセット数と削除するタスクのタスクコントロールブロックのセット数とをカウントするカウンタを設け、
複数のタスクを挿入するインサーションモード時に、タスクのチェーン処理のスタートアドレスをレジスタにストアし、追加するタスクのエントリアドレスをそれぞれ異なるレジスタにストアし、前記カウンタによって前記エントリアドレスがストアされたセット数をカウントし、そのカウンタ値を直接メモリアクセスコントローラへ入力し、前記スタートアドレスがセットされたことによってダイレクト・メモリ・アクセスを実行することにより、メモリに記憶されているタスクの待ち行列をチェーン状に形成するデータの書き換えを行なうようにし、
デリーションモード時に、削除する最初のタスクのタスクコントロールブロックを指定するデリーションアドレスと削除する最後のタスクのタスクコントロールブロックを指定するデリーションアドレスとをそれぞれ異なるレジスタにストアし、前記カウンタによって削除するタスクコントロールブロックのセット数をカウントし、そのカウンタ値を直接メモリアクセスコントローラへ入力し、前記削除する最初のタスクのタスクコントロールブロックを指定するデリーションアドレスがセットされたことによってダイレクト・メモリ・アクセスを実行することにより、メモリに記憶されているタスクの待ち行列をチェーン状に形成するデータの書き換えを行なうようにしたことを特徴とするオペレーティングシステム。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この発明は、タスク管理を行うオペレーティングシステムに関する。
【０００２】
【従来の技術】
ファクシミリ装置等の操作部からのデータ入力，読み取り，表示，及び通信出力等のタスクをオペレーティングシステムで管理する方法が知られている。
従来、オペレーティングシステムにおけるタスクの待ち行列の管理をソフトウェアで管理しようとした場合、タスクの待ち行列のアドレス管理（タスクコントロールブロック）情報をメモリ上に展開していた。
その際、タスクの待ち順列の設定と判断をアドレス管理情報を書き換える制御方法をとっていた。
【０００３】
【発明が解決しようとする課題】
しかしながら、上述のようなタスク管理方法では、アドレス管理に関する制御時間にはＣＰＵの処理スピードが高速化した場合でもメモリへのアクセスに汎用メモリを用いるので、アドレス管理のアクセスにはコストの点からアクセスタイムに制約があるため多くの時間を要するという問題があった。
また、オペコードフェッチのサイクルに時間が必要な点からも多くの時間を要とするという問題があった。
【０００４】
この発明は上記の点に鑑みてなされたものであり、オペレーティングシステムによるタスクコントロールの負荷を低減してシステムの処理スピードを向上させることを目的とする。
【０００５】
【課題を解決するための手段】
この発明は上記の目的を達成するため、複数のタスクの待ち行列をチェーン状に形成するタスク管理を行うオペレーティングシステムにおいて、追加するタスクのエントリアドレスのセット数をカウントするカウンタを設け、複数のタスクを挿入するインサーションモード時に、タスクのチェーン処理のスタートアドレスをレジスタにストアし、追加するタスクのエントリアドレスをそれぞれ異なるレジスタにストアし、上記カウンタによって上記エントリアドレスがストアされたセット数をカウントし、そのカウンタ値を直接メモリアクセスコントローラへ入力し、上記スタートアドレスがセットされたことによってダイレクト・メモリ・アクセスを実行することにより、メモリに記憶されているタスクの待ち行列をチェーン状に形成するデータの書き換えを行なうようにしたものである。
【０００６】
また、複数のタスクの待ち行列をチェーン状に形成するタスク管理を行うオペレーティングシステムにおいて、削除するタスクのタスクコントロールブロックのセット数をカウントするカウンタを設け、複数のタスクを削除するデリーションモード時に、削除する最初のタスクのタスクコントロールブロックを指定するデリーションアドレスと削除する最後のタスクのタスクコントロールブロックを指定するデリーションアドレスとをそれぞれ異なるレジスタにストアし、上記カウンタによって削除するタスクコントロールブロックのセット数をカウントし、そのカウンタ値を直接メモリアクセスコントローラへ入力し、上記削除する最初のタスクのタスクコントロールブロックを指定するデリーションアドレスがセットされたことによってダイレクト・メモリ・アクセスを実行することにより、メモリに記憶されているタスクの待ち行列をチェーン状に形成するデータの書き換えを行なうようにしたものである。
【０００７】
さらに、複数のタスクの待ち行列をチェーン状に形成するタスク管理を行うオペレーティングシステムにおいて、追加するタスクのエントリアドレスのセット数と削除するタスクのタスクコントロールブロックのセット数とをカウントするカウンタを設け、複数のタスクを挿入するインサーションモード時に、タスクのチェーン処理のスタートアドレスをレジスタにストアし、追加するタスクのエントリアドレスをそれぞれ異なるレジスタにストアし、上記カウンタによって上記エントリアドレスがストアされたセット数をカウントし、そのカウンタ値を直接メモリアクセスコントローラへ入力し、上記スタートアドレスがセットされたことによってダイレクト・メモリ・アクセスを実行することにより、メモリに記憶されているタスクの待ち行列をチェーン状に形成するデータの書き換えを行なうようにし、デリーションモード時に、削除する最初のタスクのタスクコントロールブロックを指定するデリーションアドレスと削除する最後のタスクのタスクコントロールブロックを指定するデリーションアドレスとをそれぞれ異なるレジスタにストアし、上記カウンタによって削除するタスクコントロールブロックのセット数をカウントし、そのカウンタ値を直接メモリアクセスコントローラへ入力し、上記削除する最初のタスクのタスクコントロールブロックを指定するデリーションアドレスがセットされたことによってダイレクト・メモリ・アクセスを実行することにより、メモリに記憶されているタスクの待ち行列をチェーン状に形成するデータの書き換えを行なうようにするとよい。
【００１５】
【実施例】
以下、この発明の実施例を図面に基づいて具体的に説明する。
まず、一般のオペレーションシステム（ＯＳ）のタスクの待ち行列におけるタスク管理方法について説明する。
オペレーションシステムのチェーン処理には、タスクの待ち行列をチェーン状に形成するインサーションモードの場合と、待ち行列からタスクを排除するデリーションモードの場合とがある。
【００１６】
図６及び図７はオペレーティングシステムのタスクコントロールにおけるインサーションモードの処理概念を示す説明図である。
図６はタスク挿入（追加）前の処理概念を示す説明図であり、各タスクコントロールブロック（ＴＣＢ）１，２，３，４は、それぞれの先頭２ワードのうち、メモリ上に展開される各上段のエリア１１，２１，３１，４１には次に行なうべきタスクを示すＴＣＢのアドレスを、各下段のエリア１２，２２，３２，４２には直前に行なわれたタスクを示すＴＣＢのアドレスを格納している。
【００１７】
図７はタスク挿入（追加）後の処理概念を示す説明図である。
そのＴＣＢ５が新たに追加したブロックであり、ＴＣＢ１の上段のエリア１１にはブロックが展開されるメモリの実アドレスを仮想的に示すアドレスを格納し、ＴＣＢ１，２，３の各上段のエリア１１，２１，３１にはメモリの内容を格納し、各ＴＣＢ１，２，３，４，５の先頭２ワード以降のエリアにタスクのアドレスと状態を格納することによってタスクの待ち行列をチェーン状に構成（形成）することが可能になる。
【００１８】
次に、インサーション時のＴＣＢの書き換え動作について説明する。
まず、図６に示したように、挿入前はＴＣＢ７のアドレス「ｂ」の内容には「ａ」が、ＴＣＢ１のアドレス「ａ＋２」の内容には「ｂ」が格納されている。
そして、図７に示したように、上段のエリア５１のアドレスが「ｃ」で下段のエリア５２のアドレスが「Ｃ＋２」のＴＣＢ５をインサーション（挿入）してチェーニング（チェーン状に形成）するには、次に示すように４段階の処理によってメモリの内容（図中の網かけ部分）を書き換える。
【００１９】
▲１▼ＴＣＢ４のアドレス「ｂ」のエリア４１の内容「ａ」を「ｃ」に書き換える。
▲２▼ＴＣＢ５のアドレス「ｃ」のエリア５１の内容「＊」を「ａ」に書き換える。
▲３▼ＴＣＢ５のアドレス「ｃ＋２」のエリア５２の内容「＊」を「ｂ」に書き換える。
▲４▼ＴＣＢ１のアドレス「ａ＋２」のエリア１２の内容「ｂ」を「ｃ」に書き換える。
【００２０】
図８はタスク削除前の処理概念を示す説明図、図９はタスク削除後の処理概念を示す説明図であり、図８のＴＣＢ３が削除するブロックである。
次に、デリーション時のＴＣＢの書き換え動作について説明する。
まず、図８に示したように、削除前はＴＣＢ２のアドレス「ａ」の内容には「ｂ」が、ＴＣＢ４１のアドレス「ｃ＋２」の内容には「ｂ」が格納されている。
【００２１】
そして、図９に示したように、上段のエリア３１のアドレスが「ｂ」で下段のエリア３２のアドレスが「ｂ＋２」のＴＣＢ３をデリーション（削除）してチェーニング（チェーン状に形成）するには、次に示すように２段階の処理によってメモリの内容（図中の網かけ部分）を書き換える。
▲１▼ＴＣＢ２のアドレス「ａ」のエリア２１の内容「ｂ」を「ｃ」に書き換える。
▲２▼ＴＣＢ４のアドレス「ｃ＋２」のエリア４１の内容「ｂ」を「ａ」に書き換える。
【００２２】
次に、この発明のオペレーティングシステムにおけるタスク管理方法について説明する。
図１はこの実施例のハードウェアの構成を示すブロック図である。
このハードウェアは４個のレジスタＲ１，Ｒ２，Ｒ３，Ｒ４と、４個のマルチプレクサ（ＭＰＸ）Ｍ１，Ｍ２，Ｍ３，Ｍ４と、加算器（ＡＤＤＥＲ）Ａ１と、データバスＤＢとアドレスバスＡＢとからなる。
【００２３】
このハードウェアによって、インサーションモード時に、タスクのチェーン処理のスタートアドレスと追加するタスクのエントリアドレスの設定をトリガとしてダイレクト・メモリ・アクセスによってメモリに記憶されているタスクの待ち行列をチェーン状に形成するデータの書き換えを行ない、又はデリーションモード時に、削除すべきタスクを指定するデリーションアドレスの設定をトリガとしてダイレクト・メモリ・アクセスによってメモリに記憶されているタスクの待ち行列をチェーン状に形成するデータの書き換えを行なう。
【００２４】
図２はそのタスクコントロールにおけるインサーションモードの動作を示す説明図である。
まず、動作条件は次に示す２項目が指示されることをトリガとしてＤＭＡ動作によってメモリの内容を書き換える。
【００２５】
▲１▼タスクのチェーン処理のスタートアドレス、つまりチェーニングのスタートアドレス（キューアドレス）を「Ａ」とする
▲２▼追加するタスクのエントリアドレス、つまりチェーニングの終了アドレス（エントリアドレス又はインサーションアドレス）を「Ｂ」とする。
【００２６】
動作内容は次に示す４段階の処理を順番に行なう。
まず、図２の（ａ）に示すように、
▲１▼「Ａ」をＴＣＢ５の「Ｂ」で示されるアドレスの内容に書き込む。
次に、（ｂ）に示すように、
▲２▼ＴＣＢ１のアドレス「Ａ＋２」の内容であるＸで示されるアドレスをＴＣＢ５のアドレス「Ｂ＋２」の内容に書き込む。
【００２７】
その後、（ｃ）に示すように、
▲３▼ＴＣＢ１の「Ａ＋２」で示されるアドレスに「Ｂ」を書き込む。
そして、（ｄ）に示すように、
▲４▼ＴＣＢ４の「Ｘ」で示されるアドレスに「Ｂ」を書き込む。
【００２８】
次に、図１によってインサーションモード時のハードウェアシーケンスについて説明する。
そのインサーションモード時には、次に示す７段階の処理を順番に行なう。
（１）キューアドレスをレジスタＲ１にストアする。
（２）エントリアドレスをレジスタＲ２にストアする。
【００２９】
この（１）及び（２）の処理は「Ｆ，＄アドレッシング」の場合であり、このＦ，＄アドレッシングとは上位アドレスがバンクアドレスにセットされている状態で下位アドレスのみを命令で指示する高速アドレッシング命令（：ＦＩＲＳＴＤＩＲＥＣＴ）を指す。
【００３０】
（３）エントリアドレスをアドレスバスＡＢに出力し、キューアドレスをデータバスＤＢに出力する。
（４）「キューアドレス＋２」の内容をリードしてレジスタＲ３にストアする。
（５）「エントリアドレス＋２」の内容をアドレスバスＡＢに出力し、レジスタＲ３の内容をデータバスＤＢに出力する。
【００３１】
（６）「キューアドレス＋２」の内容をアドレスバスＡＢに出力し、レジスタＲ２の内容をデータバスＤＢに出力する。
（７）レジスタＲ３の内容をアドレスバスＡＢに出力し、レジスタＲ２の内容をデータバスＤＢに出力する。
【００３２】
表１は、上述したハードウェアシーケンスの各動作命令と各動作にかかる時間の対応表であり、表中の丸付き数字は図２によって説明した処理段階である。
このように、ハードウェアによる制御でインサーション動作を行なえば１５サイクル（ＣＹＣＬＥ）で済むが、ソフトウェアのみによる制御では２５サイクルかかってしまう。つまり、ハードウェア制御のほうが１０サイクル短い時間で行なえる。
【００３３】
なお、連続してインサーション動作を繰り返す場合、キューアドレスの前回値がそのまま残っているので、これを省けばさらに５サイクル削減することができ、このときの実行時間は１０サイクルとなる。
【００３４】
一方、ソフトウェア制御で行なった場合、設定以外にレジスタの待避に約２０サイクルを必要とし、インサーションする度に同じ制御方法を使用すれば、
ハードウェアの効果サイクル＝（２０＋１０）×Ｎ（Ｎ；インサーション回数）の計算式で考えると、例えば１０回インサーション動作を行なった場合には、３００サイクルの効果があることになるが、連続する場合には前回のキューアドレスが残っているためにレジスタの待避を繰り返す必要は必ずしもない。
【００３５】
ただし、２回以上チェーニングを連続したときにはレジスタの待避を行なわないようなソフトウェア制御の場合、そのチェーニングが連続するか否かを判断するための処理が必要になる。
この判断処理の必要性の有無は、チェーニングの平均的な連続回数と判断処理のサイクル数とによって決定される。
【００３６】
したがって、この判断処理のサイクル数を「Ｘ」とすると、
比例式（２０＋１０）×Ｎ：１５×Ｎ＋Ｘ  の小さい値の方の効果が望める（ただし、サブルーチンコールまでのソフト設定を考慮に入れていない）。
【００３７】
図３はそのタスクコントロールにおけるデリーションモードの動作を示す説明図である。
まず、動作条件は次に示す１項目が指示されることをトリガとしてＤＭＡ動作によってメモリの内容を書き換える。
▲１▼タスクのチェーン処理のデリーションアドレス、つまりチェーニングのデリーションアドレスを「Ｘ」とする。
【００３８】
動作内容は次に示す２段階の処理を順番に行なう（▲１▼及び▲４▼は削除前後の状態を示している）。
まず、図３の（ａ）に示すように、
▲１▼初期状態である。
次に、（ｂ）に示すように、
▲２▼ＴＣＢ３のアドレス「Ｘ＋２」の内容であるＡで示されるＴＣＢ１のエリア２１の内容に、ＴＣＢ３のアドレス「Ｘ」の内容である「Ｂ」を書き込む。
【００３９】
その後、（ｃ）に示すように、
▲３▼ＴＣＢ３のアドレス「Ｘ」の内容である「Ｂ」で示されるアドレス値＋２（Ｂ＋２）のＴＣＢ４のエリア４２の内容に「Ｘ＋２」で示される「Ａ」で示されるアドレスを書き込む。
そして、（ｄ）に示すようにＴＣＢ３を削除して、
▲４▼最終状態となる。
【００４０】
次に、図１によってデリーションモード時のハードウェアシーケンスについて説明する。
そのデリーションモード時には、次に示す５段階の処理を順番に行なう。
（１）デリーションアドレス「Ｘ」をレジスタＲ１にストアする。
（２）デリーションアドレスの内容「Ｂ」をレジスタＲ２にストアする。
【００４１】
（３）「デリーションアドレス＋２」の内容「Ａ」をレジスタＲ３にストアする。
（４）レジスタＲ３の内容「Ａ」をアドレスバスＡＢに出力し、レジスタＲ２の内容「Ｂ」をデータバスＤＢに出力する。
（５）レジスタＲ２の内容＋２、つまり「Ｂ＋２」をアドレスバスＡＢに出力し、レジスタＲ３の内容「Ａ」をデータバスＤＢに出力する。
【００４２】
表２は、上述したハードウェアシーケンスの各動作命令と各動作にかかる時間の対応表であり、表中の丸付き数字は図３によって説明した処理段階である。
【００４３】
このように、ハードウェアによる制御（ＦＩＲＳＴ  ＤＩＲＥＣＴでセットした場合）でデリーション動作を行なえば９サイクル（ＣＹＣＬＥ）で済むが、ソフトウェアのみによる制御では１９サイクルかかってしまう。つまり、ハードウェア制御のほうが１０サイクル短い時間で行なえる。
したがって、インサーションモード時と同様に、比例式（２０＋１０）×Ｎ：１５×Ｎ＋Ｘの小さい値の方の効果が望める。
【００４４】
次に、複数のタスクを挿入又は削除する場合について説明する。
図４は複数のタスクを挿入又は削除する際のハードウェアを示すブロック図である。
このハードウェアはエントリアドレスのセット数又は削除するＴＣＢのセット数を数えるカウンタＣを備えている。
【００４５】
まず、インサーションモード時について説明する。
カウンタＣによってエントリアドレスのセット数をカウントし、そのカウンタ値を直接メモリアクセスコントローラ（ＤＭＡＣ）へ入力し、キューアドレスがセットされたことによってＤＭＡ動作を実行する。
【００４６】
次に、そのハードウェアシーケンスについて説明する。
（１）キューアドレスをレジスタＲ１にストアする（「Ｆ，＄アドレッシング」の場合）。
（２）エントリアドレス１をレジスタＲ４にストアする（「Ｆ，＄アドレッシング」の場合）。
同様の処理によってＸ回セットし、
エントリアドレス１＋ＸをレジスタＲＮにストアする（「Ｆ，＄アドレッシング」の場合）。
【００４７】
（３）エントリアドレスをアドレスバスＡＢに出力し、エントリアドレス２をデータバスに出力する。
（４）キューアドレス＋２の内容をリードし、レジスタＲ１にストアする。
（５）エントリアドレス１＋２をアドレスバスＡＢに出力し、レジスタＲ２の内容をデータバスＤＢに出力する。
【００４８】
（６）キューアドレス＋２をアドレスバスＡＢに出力し、レジスタＲＮの内容をデータバスＤＢに出力する。
（７）レジスタＲ２の内容をアドレスバスＡＢに出力し、レジスタＲ４の内容をデータバスＤＢに出力する。
【００４９】
（８）レジスタＲ５の内容をアドレスバスＡＢに出力し、レジスタＲ６の内容をデータバスＤＢに出力する。
（９）レジスタＲ５＋２の内容をアドレスバスＡＢに出力し、レジスタＲ４の内容をデータバスＤＢに出力する。
【００５０】
この（８）及び（９）の処理を繰り返す（ただしレジスタの値はインクリメントする。
レジスタＲＮ−１の内容をアドレスバスＡＢに出力し、レジスタＲＮの内容をデータバスＤＢに出力する。
「レジスタＲＮ−１の内容」＋２をアドレスバスＡＢに出力し、レジスタＲＮ−２の内容をデータバスＤＢに出力する。
【００５１】
レジスタＲＮの内容をアドレスバスＡＢに出力し、レジスタＲ２の内容をデータバスＤＢに出力する。
「レジスタＲＮの内容」＋２をアドレスバスＡＢに出力し、レジスタＲＮ−１の内容をデータバスＤＢに出力する。
【００５２】
表３は、上述したハードウェアシーケンスの各動作命令と各動作にかかる時間の対応表であり、表中の丸付き数字は図２によって説明した処理段階である。
このようにして、複数のタスクを挿入してチェーニングするときのメモリの書き換え時間を短縮することができる。
【００５３】
次に、デリーションモード時について説明する。
カウンタＣによって削除するＴＣＢのセット数をカウントし、そのカウンタ値を直接メモリアクセスコントローラ（ＤＭＡＣ）へ入力し、キューアドレスがセットされたことによってＤＭＡ動作を実行する。
【００５４】
なお、削除指示するＴＣＢは連続しているものとする。
したがって、指示するアドレスは削除するＴＣＢの先頭アドレスと終了アドレスであり、カウンタ値は常に２のときＤＭＡ動作を実行する。
【００５５】
次に、そのハードウェアシーケンスについて説明する。
（１）デリーションアドレス１（削除する最初のＴＣＢのアドレス）とデリーションアドレス２（削除する最後のＴＣＢのアドレス）をレジスタＲ１，Ｒ５にストアする。
（２）デリーションアドレス２の内容をレジスタＲ２にストアする。
【００５６】
（３）「デリーションアドレス１」＋２の内容をレジスタＲ６にストアする。
（４）レジスタＲ６の内容をアドレスバスＡＢに出力し、レジスタＲ２の内容をデータバスＤＢに出力する。
（５）「レジスタＲ２」＋２をアドレスバスＡＢに出力し、レジスタＲ６の内容をデータバスＤＢに出力する。
【００５７】
表４は、上述したハードウェアシーケンスの各動作命令と各動作にかかる時間の対応表であり、表中の丸付き数字は図２によって説明した処理段階である。
このようにして、複数のタスクを削除してチェーニングするときのメモリの書き換え時間を短縮することができる。
【００５８】
なお、上述したハードウェア構成、つまり、インサーションモード時に、タスクのチェーン処理のスタートアドレスと追加するタスクのエントリアドレスの設定をトリガとしてダイレクト・メモリ・アクセスによってメモリに記憶されているタスクの待ち行列をチェーン状に形成するデータの書き換えを行なうためのハードウェア構成、
又はデリーションモード時に、削除すべきタスクを指定するデリーションアドレスの設定をトリガとしてダイレクト・メモリ・アクセスによってメモリに記憶されているタスクの待ち行列をチェーン状に形成するデータの書き換えを行なうためのハードウェア構成、
さらにまた、そのエントリアドレス及びデリーションアドレスをそれぞれ複数指定するためのハードウェア構成を、それぞれエーシック（ＡＳＩＣ）に内蔵することによって実現すれば、信頼性を向上させてコストの低減をはかることができる。
【００５９】
図５はＡＳＩＣによって構成した場合の一例を示すブロック図である。
このＡＳＩＣは、ＣＰＵ１０，タイミングジェネレータ１１，インプットアウトプット（Ｉ／Ｏ）デコーダ１２，インタラプトコントローラ１３，タスクコントローラ１４，ＤＭＡコントローラ１５，データバスＤＢ，アドレスバスＡＢ，及びＣＰＵアドレスバスＣＡＢを備えており、上述した構成をタスクコントローラ１４内に内蔵する。
なお、タスクコントローラ１４及びＤＭＡコントローラ１５を一体に構成してもよい。
このオペレーティングシステムは、インサーションモード時に、タスクのチェーン処理のスタートアドレスと追加するタスクのエントリアドレスの設定をトリガとしてダイレクト・メモリ・アクセスによってメモリに記憶されているタスクの待ち行列をチェーン状に形成するデータの書き換えを行なうので、任意のタスクをタスクチェーンに接続することができ、そのタスク追加のときのメモリ書き換えを通常の場合よりもフェッチサイクル相当分高速に行なえる。
また、デリーションモード時に、削除すべきタスクを指定するデリーションアドレスの設定をトリガとしてダイレクト・メモリ・アクセスによってメモリに記憶されているタスクの待ち行列をチェーン状に形成するデータの書き換えを行なうので、タスクチェーンから任意のタスクを排除することができ、そのタスク削除のときのメモリ書き換えを通常の場合よりもフェッチサイクル相当分高速に行なえる。
さらに、インサーションモード時にタスクのチェーン処理のスタートアドレスと追加するタスクのエントリアドレスの設定をトリガとして、デリーションモード時に削除すべきタスクを指定するデリーションアドレスの設定をトリガとしてそれぞれダイレクト・メモリ・アクセスによってメモリに記憶されているタスクの待ち行列をチェーン状に形成するデータの書き換えを行なうようにすれば、タスクチェーンに対する任意のタスクの接続及び排除ができるようになり、そのタスクの追加及び削除のときのメモリ書き換えを通常の場合よりもフェッチサイクル相当分高速に行なえる。
また、上記エントリアドレスを複数指定すれば、任意の複数連続するタスクをタスクチェーンに接続することができ、そのタスク追加のときのタスクのチェーン処理のスタートアドレスのセット時間と各タスクのスタートアドレスの書き換え時間を短縮することができる。
さらに、上記デリーションアドレスを複数指定すれば、タスクチェーンから任意の複数連続するタスクを排除することができ、そのタスク削除のときの各タスクのスタートアドレスの書き換え時間を短縮することができる。
さらにまた、上記エントリアドレス及びデリーションアドレスをそれぞれ複数指定すれば、タスクチェーンに対して任意の複数のタスクの接続及び排除ができるようになり、タスク追加のときのタスクのチェーン処理のスタートアドレスのセット時間と各タスクのスタートアドレスの書き換え時間、及びタスク削除のときの各タスクのスタートアドレスの書き換え時間を短縮することができる。
【００６０】
【表１】
0003542358.tif 000002
【００６１】
【表２】
0003542358.tif 000003
【００６２】
【表３】
0003542358.tif 000004
【００６３】
【表４】
0003542358.tif 000005
【００６４】
【発明の効果】
以上説明してきたように、この発明によるオペレーティングシステムによれば、タスクのインサーション又はデリーションを通常よりも短時間で行なえるので、オペレーティングシステムによるタスクコントロールの負荷を低減してシステムの処理スピードを向上させることができる。
【図面の簡単な説明】
【図１】この発明の実施例のハードウェアの構成を示すブロック図である。
【図２】図１に示したハードウェアのタスクコントロールにおけるインサーションモードの動作を示す説明図である。
【図３】図１に示したハードウェアのタスクコントロールにおけるデリーションモードの動作を示す説明図である。
【図４】
この発明に係るタスク管理方法によって複数のタスクを挿入又は削除する際のハードウェアを示すブロック図である。
【図５】この実施例におけるハードウェアをＡＳＩＣによって構成した場合の一例を示すブロック図である。
【図６】オペレーティングシステムのタスクコントロールにおけるインサーションモードのタスク挿入前の処理概念を示す説明図である。
【図７】同じくオペレーティングシステムのタスクコントロールにおけるインサーションモードのタスク挿入後の処理概念を示す説明図である。
【図８】オペレーティングシステムのタスクコントロールにおけるデリーションモードのタスク削除前の処理概念を示す説明図である。
【図９】同じくオペレーティングシステムのタスクコントロールにおけるデリーションモードのタスク削除後の処理概念を示す説明図である。
【符号の説明】
１，２，５，４，５  タスクコントロールブロック（ＴＣＢ）
１１，２１，３１，４１，５１  上段のエリア
１２，２２，３２，４２，５２  下段のエリア
１０  ＣＰＵ                      １１  タイミングジェネレータ
１２  インプットアウトプット（Ｉ／Ｏ）デコーダ
１３  インタラプトコントローラ    １４  タスクコントローラ
１５  ＤＭＡコントローラ
Ｒ１，Ｒ２，Ｒ３，Ｒ４，Ｒ５，Ｒ６〜ＲＮ  レジスタ
Ｍ１，Ｍ２，Ｍ３，Ｍ４  マルチプレクサ
Ａ  加算器（ＡＤＤＥＲ）          ＤＢ  データバス
ＡＢ  アドレスバス                Ｃ  カウンタ
ＣＡＢ  ＣＰＵアドレスバス
【図１】
0003542358.tif 000006
【図２】
0003542358.tif 000007
【図３】
0003542358.tif 000008
【図４】
0003542358.tif 000009
【図５】
0003542358.tif 000010
【図６】
0003542358.tif 000011
【図７】
0003542358.tif 000012
【図８】
0003542358.tif 000013
【図９】
0003542358.tif 000014