(57)【要約】【課題】マルチプロセッサシステムにおけるＩ／Ｏアクセスを効率良く処理できるよう制御するアクセス制御装置およびアクセス制御方法を提供することを目的とする。ここから始まる。【解決手段】タスクからのアクセス要求に対してファイル処理を行わせる際に、複数のキューの何れかにアクセス要求を格納してから所定の順番でアクセス要求毎のファイル処理を行わせるよう制御するＩ／Ｏ制御装置において、各ファイル優先度に対応する処理優先度が設定された複数のキューＣ１〜Ｃ１０を有するとともに、アクセス要求に対応するファイル優先度に基づいて、ファイル優先度に応じたキューにアクセス要求を格納させるキュー管理部１３と、各キューに格納されているアクセス要求を、各キューに設定された処理優先度に基づいた順番で取り出して、アクセス対象となっているファイル側へ送出するＩ／Ｏ発行部１４と、を備える。【選択図】        図２
2008234258.tif 000002
【特許請求の範囲】
【請求項１】
タスクからのアクセス要求に対してファイル処理を行わせる際に、複数のキューの何れかに前記アクセス要求を格納してから所定の順番で前記アクセス要求毎のファイル処理を行わせるよう制御するアクセス制御装置において、
ファイル毎の処理優先度であるファイル優先度に関する情報を記憶して管理するファイル優先度管理部と、
前記ファイル優先度管理部から前記アクセス要求に対応するファイル優先度を前記アクセス要求毎に取得するファイル優先度取得部と、
前記各ファイル優先度に対応する処理優先度が設定された複数のキューを有するとともに、前記ファイル優先度取得部が取得したファイル優先度に基づいて、前記ファイル優先度に応じた何れかのキューに前記アクセス要求を格納させるキュー管理部と、
前記各キューに格納されているアクセス要求を、前記各キューに設定された処理優先度に基づいた順番で取り出して、アクセス対象となっているファイル側へ送出するアクセス要求送出部と、
を備えることを特徴とするアクセス制御装置。
【請求項２】
前記アクセス要求の頻度を前記ファイル毎に管理するとともに、前記アクセス要求の頻度に基づいて前記ファイル優先度を設定するファイル優先度設定部をさらに備えることを特徴とする請求項１に記載のアクセス制御装置。
【請求項３】
タスク毎の処理優先度であるタスク優先度に関するタスク情報を記憶して管理するタスク優先度管理部をさらに備え、
前記ファイル優先度管理部は、前記タスク優先度に対応するファイル優先度を前記タスク管理部から取得して記憶することを特徴とする請求項１または２に記載のアクセス制御装置。
【請求項４】
前記タスク優先度管理部は、前記タスクからアクセス要求を受けた際に当該アクセス要求に対応するタスクのタスク優先度を記憶しておき、
前記ファイル優先度管理部は、前記キューに格納中のアクセス要求を当該キューへ格納する際に用いたファイル優先度である現在使用中のカレント優先度、タスク優先度およびファイル優先度に基づいて、新たなカレント優先度を決定し、
前記キュー管理部は、前記キューに格納済みのアクセス要求を、前記ファイル優先度管理部で決定された新たなカレント優先度に応じたキューに移動させ、その後、前記キューへ格納していないアクセス要求を新たなカレント優先度に応じたキューに格納させることを特徴とする請求項３に記載のアクセス制御装置。
【請求項５】
タスクからのアクセス要求に対してファイル処理を行わせる際に、複数のキューの何れかに前記アクセス要求を格納してから所定の順番で前記アクセス要求毎のファイル処理を行わせるよう制御するアクセス制御方法において、
ファイル毎の処理優先度であるファイル優先度に関する情報を登録しておく優先度登録ステップと、
前記アクセス要求に対応するファイル優先度を取得する優先度取得ステップと、
前記各ファイル優先度に対応する処理優先度が設定された複数のキューのうち前記ファイル優先度に応じた何れかのキューに前記アクセス要求を格納させるアクセス要求格納ステップと、
前記各キューに格納されているアクセス要求を、前記各キューに設定された処理優先度に基づいた順番で取り出して、アクセス対象となっているファイル側へ送出するアクセス要求送出ステップと、
を含むことを特徴とするアクセス制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、マルチプロセッサシステムでファイルのＩ／Ｏアクセスを制御するアクセス制御装置およびアクセス制御方法に関するものである。
【背景技術】
【０００２】
近年、データ処理システムで種々のタスクを実行する技術として、複数のＣＰＵ（Central  Processing  Unit）が複数のタスクを並列して実行するマルチプロセッサシステムの開発が進められている。このマルチプロセッサシステムにおいては、タスク間のリソース競合が頻繁に発生している。ところが、汎用サーバ等におけるファイル等へのＩ／Ｏ（Input  Output）アクセス動作は、データ処理システムの内部メモリで動いているプログラムに対して非常に低速な動作である。このため、Ｉ／Ｏの処理待ちが発生すると、処理待ちとなったタスクの処理に多大な時間を費やしてしまう。特に優先度の高いタスクがＩ／Ｏの処理待ちで遅延すると、マルチプロセッサシステムのデータ処理に与える影響が大きくなり、データ処理の多大な遅延を招くこととなる。従って、低速なＩ／Ｏ処理に適切な制御を行なって、Ｉ／Ｏアクセスを効率良く処理することが望まれている。
【０００３】
従来のＩ／Ｏ（ファイル）アクセス制御では、ＦＩＦＯキュー制御をしており、Ｉ／Ｏアクセスの要求順にＩ／Ｏアクセスさせていた。このため、優先度の高いタスクのＩ／Ｏ要求が、優先度の低いタスクのＩ／Ｏ要求によって待たされる（優先されない）という問題点があった。したがって、マルチプロセッサシステムのデータ処理のスループットを向上させるには、優先度の高いタスクを優先的に処理してＩ／Ｏアクセスを効率良く処理する必要がある。
【０００４】
特許文献１の情報処理装置は、タスクの優先度毎にＩ／Ｏアクセスを制御するために、アプリケーションから記録媒体へのＩ／Ｏ要求を処理する情報処理装置において、アプリケーションからのＩ／Ｏ要求に対して特有の優先度を設定してキューに記憶させ、キューに記憶させたＩ／Ｏ要求を優先度にしたがって処理している。
【０００５】
また、特許文献２に記載のデータ処理システムは、複数のタスクから同一ファイルの読み出し要求があった場合に、ファイル内をブロック単位に分割し、優先度に応じて各タスクに読み出しブロック数を変化させることで、複数のタスクを並列に処理している。
【０００６】
また、特許文献３に記載の入出力優先順位制御方法は、時間帯別のトランザクションの処理件数をもとに、トランザクション毎の入出力優先度を自動的に決定し変更している。そして、変更後の入出力優先度に基づいてファイル装置へのアクセスを行なっている。
【０００７】
【特許文献１】特開２００５−３０１８５４号公報
【特許文献２】特開平８−２４１２１４号公報
【特許文献３】特開平７−７３１４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記１つ目の従来技術では、優先度の高いタスクと優先度の低いタスクが同一ファイルにアクセスする場合、ファイルアクセスの順序が入れ替わる場合があるという問題があった。ファイルアクセスの順序の入れ替えが発生すると、データの書き込み順序が逆転して古い情報が上書きされたり、データの書き込み処理とデータの読み込み処理とが逆転してデータの読み込み処理の際に古い情報を読み込んでしまうという問題があった。
【０００９】
また、上記２つ目の従来技術では、同一ファイルの読み出しを行なう際には複数のタスクを並列に処理できるが、同一ファイルに書き込み要求があった場合には、複数のタスクを並列に処理できないという問題があった。
【００１０】
また、上記３つ目の従来技術では、トランザクションの優先度を変更することはできるが、同一の対象物（ファイル）への要求に対して優先度に基づいたＩ／Ｏアクセス制御を行なうことはできないという問題があった。
【００１１】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、マルチプロセッサシステムにおけるＩ／Ｏアクセスを効率良く処理できるよう制御するアクセス制御装置およびアクセス制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上述した課題を解決し、目的を達成するため、本発明に係るアクセス制御装置は、タスクからのアクセス要求に対してファイル処理を行わせる際に、複数のキューの何れかに前記アクセス要求を格納してから所定の順番で前記アクセス要求毎のファイル処理を行わせるよう制御するアクセス制御装置において、ファイル毎の処理優先度であるファイル優先度に関する情報を記憶して管理するファイル優先度管理部と、前記ファイル優先度管理部から前記アクセス要求に対応するファイル優先度を前記アクセス要求毎に取得するファイル優先度取得部と、前記各ファイル優先度に対応する処理優先度が設定された複数のキューを有するとともに、前記ファイル優先度取得部が取得したファイル優先度に基づいて、前記ファイル優先度に応じた何れかのキューに前記アクセス要求を格納させるキュー管理部と、前記各キューに格納されているアクセス要求を、前記各キューに設定された処理優先度に基づいた順番で取り出して、アクセス対象となっているファイル側へ送出するアクセス要求送出部と、を備えることを特徴とする。
【００１３】
また、本発明に係るアクセス制御装置は、上記の発明において、前記アクセス要求の頻度を前記ファイル毎に管理するとともに、前記アクセス要求の頻度に基づいて前記ファイル優先度を設定するファイル優先度設定部をさらに備えることを特徴とする。
【００１４】
また、本発明に係るアクセス制御装置は、上記の発明において、タスク毎の処理優先度であるタスク優先度に関するタスク情報を記憶して管理するタスク優先度管理部をさらに備え、前記ファイル優先度管理部は、前記タスク優先度に対応するファイル優先度を前記タスク管理部から取得して記憶することを特徴とする。
【００１５】
また、本発明に係るアクセス制御装置は、上記の発明において、前記タスク優先度管理部は、前記タスクからアクセス要求を受けた際に当該アクセス要求に対応するタスクのタスク優先度を記憶しておき、前記ファイル優先度管理部は、前記キューに格納中のアクセス要求を当該キューへ格納する際に用いたファイル優先度である現在使用中のカレント優先度、タスク優先度およびファイル優先度に基づいて、新たなカレント優先度を決定し、前記キュー管理部は、前記キューに格納済みのアクセス要求を、前記ファイル優先度管理部で決定された新たなカレント優先度に応じたキューに移動させ、その後、前記キューへ格納していないアクセス要求を新たなカレント優先度に応じたキューに格納させることを特徴とする。
【００１６】
また、本発明に係るアクセス制御方法は、タスクからのアクセス要求に対してファイル処理を行わせる際に、複数のキューの何れかに前記アクセス要求を格納してから所定の順番で前記アクセス要求毎のファイル処理を行わせるよう制御するアクセス制御方法において、ファイル毎の処理優先度であるファイル優先度に関する情報を登録しておく優先度登録ステップと、前記アクセス要求に対応するファイル優先度を取得する優先度取得ステップと、前記各ファイル優先度に対応する処理優先度が設定された複数のキューのうち前記ファイル優先度に応じた何れかのキューに前記アクセス要求を格納させるアクセス要求格納ステップと、前記各キューに格納されているアクセス要求を、前記各キューに設定された処理優先度に基づいた順番で取り出して、アクセス対象となっているファイル側へ送出するアクセス要求送出ステップと、を含むことを特徴とする。
【発明の効果】
【００１７】
本発明によれば、アクセス要求のファイル優先度に応じた何れかのキューにアクセス要求を格納させ、各キューに設定された処理優先度に基づいた順番で各キューからアクセス要求を取り出してファイル側へ送出するので、マルチプロセッサシステムにおけるＩ／Ｏアクセスを効率良く処理できるという効果を奏する。
【００１８】
また、本発明によれば、ファイル毎のアクセス要求の頻度に基づいてファイル優先度を設定するので、ファイルのアクセス頻度に応じたファイル優先度に基づいて、各ファイルのＩ／Ｏ要求を効率良く処理することが可能になるという効果を奏する。
【００１９】
また、本発明によれば、タスク毎の処理優先度に対応するファイル優先度を記憶しておくので、タスク優先度に対応するファイル優先度に基づいて、各ファイルのＩ／Ｏ要求の処理を容易に行なうことが可能になるという効果を奏する。
【００２０】
また、本発明によれば、現在使用中のカレント優先度、タスク優先度およびファイル優先度に基づいて、新たなカレント優先度を決定し、キューに格納済みのアクセス要求を、新たなカレント優先度に応じたキューに移動させるので、アクセス対象のファイルに対して設定されている優先度のうち最高の優先度でＩ／Ｏ要求を処理することが可能になるという効果を奏する。
【発明を実施するための最良の形態】
【００２１】
以下に添付図面を参照して、この発明に係るアクセス制御装置およびアクセス制御方法の好適な実施例を詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００２２】
まず、実施例１に係るＩ／Ｏアクセス制御の概念について説明する。図１は、実施例１に係るＩ／Ｏアクセス制御の概念を説明するための説明図である。本実施例では、Ｉ／Ｏ制御装置が処理優先度の設定された複数のキュー（ここではキューＣ１〜Ｃ３）を有している。タスクからファイルへアクセス要求（Ｉ／Ｏ要求）が行なわれると、Ｉ／Ｏ制御装置はファイル毎の処理優先度（ファイル優先度）に基づいて、Ｉ／Ｏ要求を何れかのキューへ割り振りする。
【００２３】
例えば、タスクＡからファイルＸへＩ／Ｏ要求ｘ１がなされると（Ｓ１）、Ｉ／Ｏ制御装置はファイル優先度の情報テーブルからファイルＸのファイル優先度を取得する（Ｓ２）。そして、ファイルＸのファイル優先度に応じたキューへ、Ｉ／Ｏ要求ｘ１を割り振る（Ｓ３）。ファイルＸのファイル優先度が優先度「低」の場合、Ｉ／Ｏ要求ｘ１は、優先度「低」に対応するキュー（ここではキューＣ１）へ割り振られる。
【００２４】
また、タスクＢからファイルＹへＩ／Ｏ要求ｙ１がなされると（Ｓ４）、Ｉ／Ｏ制御装置はファイル優先度の情報テーブルからファイルＹのファイル優先度を取得する（Ｓ５）。そして、ファイルＹのファイル優先度に応じたキューへ、Ｉ／Ｏ要求ｙ１を割り振る（Ｓ６）。ファイルＹのファイル優先度が優先度「高」の場合、Ｉ／Ｏ要求ｙ１は、優先度「高」に対応するキュー（ここではキューＣ３）へ割り振られる。
【００２５】
各Ｉ／Ｏ要求の処理を実行する際には、各キューに設定されている処理優先度に基づいて、優先度の高い順番でＩ／Ｏ要求の処理を実行していく。具体的には、優先度「高」に対応するキューＣ３、優先度「中」に対応するキューＣ２、優先度「低」に対応するキューＣ１の順番で各キューからＩ／Ｏ要求を抽出し実行していく。ここでは、優先度「高」に対応するキューＣ３にＩ／Ｏ要求ｙ１が格納され、優先度「低」に対応するキューＣ１にＩ／Ｏ要求ｘ１が格納されているので、まずＩ／Ｏ要求ｙ１の処理を実行し（Ｓ７）、その後Ｉ／Ｏ要求ｘ１の処理（ファイル処理）を実行する（Ｓ８）。これにより、本実施例では、ファイルへのデータの書き込み時においても処理の逆転や追い越し等を防ぎつつ、ファイルの処理優先度に応じた適切なＩ／Ｏ制御を実現することが可能となる。
【００２６】
図２は、本発明に係るＩ／Ｏ制御装置の実施例１の構成を示すブロック図である。Ｉ／Ｏ制御装置（アクセス制御装置）１は、複数のＣＰＵが複数のタスクを並列して実行するマルチプロセッサシステム内でＩ／Ｏ要求の処理順を制御する装置である。Ｉ／Ｏ制御装置１は、タスク入力部３１、ファイル優先度振り分け部（ファイル優先度取得部）１１、ファイル優先度管理部１２、キュー管理部１３、Ｉ／Ｏ発行部（アクセス要求送出部）１４を有している。タスク入力部３１は、タスクから送られてくるＩ／Ｏ要求を入力し、ファイル優先度振り分け部１１へ送る。
【００２７】
ファイル優先度振り分け部１１は、タスク入力部３１、ファイル優先度管理部１２、キュー管理部１３に接続している。ファイル優先度振り分け部１１は、タスクからのＩ／Ｏ要求をタスク入力部３１を介して受信する。ファイル優先度振り分け部１１は、受信したＩ／Ｏ要求（ファイル）に対応するファイル優先度をファイル優先度管理部１２に問い合わせて、ファイル優先度管理部１２からファイル優先度を取得する。ファイル優先度振り分け部１１は、ファイル優先度管理部１２から取得したファイル優先度と、タスクから受信したＩ／Ｏ要求をキュー管理部１３に送信する。
【００２８】
ファイル優先度管理部１２は、ファイル毎のファイル優先度が設定されたファイル優先度管理テーブル（ファイルとファイル優先度との対応テーブル）１２０を記憶している。ファイル優先度管理部１２は、ファイル優先度振り分け部１１からファイル優先度の問い合わせがあった場合に、ファイル優先度管理テーブル１２０からＩ／Ｏ要求（ファイル）に対応するファイル優先度を抽出しファイル優先度振り分け部１１に回答する。
【００２９】
ファイル優先度管理テーブル１２０は、各ファイルのファイル名と、このファイルのファイル優先度とを対応付けした情報テーブルである。ファイル優先度管理テーブル１２０では、各ファイルを例えばファイル優先度（１）（最低優先度）〜ファイル優先度（１０）（最高優先度）の何れかに設定しておく。
【００３０】
キュー管理部１３は、ファイル優先度に対応するキュー（処理優先度の設定されたキュー）を複数有している。キュー管理部１３は、ファイル優先度振り分け部１１から送られてくるＩ／Ｏ要求を、ファイル優先度振り分け部１１から送られてくるファイル優先度のキューに入れる。ここでは、キュー管理部１３がファイル優先度に対応するキューとしてキューＣ１〜Ｃ１０を有している場合について説明する。キュー管理部１３のキューでは、キューＣ１〜Ｃ１０の順番が処理優先度の低いものから高いものへの順番とする。このため、ここではキューＣ１の処理優先度が最も低く、キューＣ１０の処理優先度が最も高い。ファイル優先度管理テーブル１２０のファイル優先度（１）〜ファイル優先度（１０）が、それぞれキューＣ１〜Ｃ１０に対応している。
【００３１】
Ｉ／Ｏ発行部１４は、キュー管理部１３と接続しており、キュー管理部１３内の各キューＣ１〜Ｃ１０に格納されているＩ／Ｏ要求を取り出して、Ｉ／Ｏ装置３０に送信する。ここでのＩ／Ｏ発行部１４は、処理優先度の高いキューから順番にＩ／Ｏ要求を抽出してＩ／Ｏ装置３０に送信する。Ｉ／Ｏ装置３０は、ファイルのＩ／Ｏ処理を行う装置であり、Ｉ／Ｏ発行部１４から送られてきたＩ／Ｏ要求に基づいてファイルのＩ／Ｏ処理を行う。
【００３２】
ここでキュー管理部１３とＩ／Ｏ発行部１４の動作について説明する。図３は、キュー管理部とＩ／Ｏ発行部の動作を説明するための図である。キュー管理部１３内の各キューＣ１〜Ｃ１０へは、タスクからのＩ／Ｏ要求が格納されていく。このＩ／Ｏ要求は、Ｉ／Ｏ要求のファイルに対応するファイル優先度に基づいて、キューＣ１〜Ｃ１０の何れかに格納される。処理優先度の高いファイルへのＩ／Ｏ要求は、処理優先度の高いキューに格納され、処理優先度の低いファイルへのＩ／Ｏ要求は、処理優先度の低いキューに格納される。
【００３３】
Ｉ／Ｏ発行部１４は、キュー管理部１３内の各キューＣ１〜Ｃ１０から、Ｉ／Ｏ要求を順番に取り出してＩ／Ｏ装置３０に送信する。換言すると、ここでのＩ／Ｏ発行部１４は、処理優先度が高いキューのＩ／Ｏ要求を優先してＩ／Ｏ装置３０に渡す。Ｉ／Ｏ発行部１４は、まず最高優先度のキュー内に格納されている全てのＩ／Ｏ要求を、このキュー内に格納された順番でＩ／Ｏ装置３０に送信する。その後、最高優先度のキュー内のＩ／Ｏ要求が空になると、次に処理優先度が高いキューのＩ／Ｏ要求をＩ／Ｏ装置３０に送信する。以降同様に、Ｉ／Ｏ発行部１４は、処理優先度が高いキューの順番で、各キューから全てのＩ／Ｏ要求を取り出してＩ／Ｏ装置３０に送信する。
【００３４】
具体的には、Ｉ／Ｏ発行部１４は、まず処理優先度が最も高いキューＣ１０からＩ／Ｏ要求を抽出してＩ／Ｏ装置３０に送信する（Ｓ１１）。その後、Ｉ／Ｏ発行部１４は、キューＣ９からＩ／Ｏ要求を抽出してＩ／Ｏ装置３０に送信する（Ｓ１２）。以下、同様に処理優先度の高い順番（キューＣ８〜キューＣ３の順番）でＩ／Ｏ要求を抽出してＩ／Ｏ装置３０に送信する。さらに、Ｉ／Ｏ発行部１４は、キューＣ２からＩ／Ｏ要求を抽出してＩ／Ｏ装置３０に送信し（Ｓ１９）、最後に処理優先度が最も低いキューＣ１からＩ／Ｏ要求を抽出してＩ／Ｏ装置３０に送信する（Ｓ２０）。
【００３５】
つぎに、実施例１に係るＩ／Ｏ制御装置１の動作手順を説明する。図４は、実施例１に係るＩ／Ｏ制御装置の動作手順を示すフローチャートである。Ｉ／Ｏ制御装置１は、タスクからファイルへのＩ／Ｏ要求が発せられると、このＩ／Ｏ要求をタスク入力部３１で受信する（ステップＳ１１０）。
【００３６】
タスク入力部３１は、受信したＩ／Ｏ要求をファイル優先度振り分け部１１へ送信し、ファイル優先度振り分け部１１がタスク入力部３１からのＩ／Ｏ要求を受信する。ファイル優先度振り分け部１１は、受信したＩ／Ｏ要求（ファイル）に対応するファイル優先度を確認する。ここでのファイル優先度振り分け部１１は、ファイル優先度管理部１２にファイル優先度を問い合わせてファイル優先度を確認する（ステップＳ１２０）。ファイル優先度管理部１２は、ファイル優先度管理テーブル１２０を用いてＩ／Ｏ要求に対応するファイル優先度を抽出しファイル優先度振り分け部１１に回答する。
【００３７】
ファイル優先度振り分け部１１は、ファイル優先度管理部１２から取得したファイル優先度と、タスクから受信したＩ／Ｏ要求をキュー管理部１３に送信する。キュー管理部１３は、ファイル優先度振り分け部１１から渡されたＩ／Ｏ要求を、ファイル優先度振り分け部１１から渡されたファイル優先度に応じたキューに格納させる。これにより、キュー管理部１３は、Ｉ／Ｏ要求に対応するファイル優先度に基づいて、Ｉ／Ｏ要求をキューＣ１〜Ｃ１０の何れかに振り分ける（ステップＳ１３０）。
【００３８】
Ｉ／Ｏ発行部１４は、キュー管理部１３内の各キューＣ１〜Ｃ１０に格納されているＩ／Ｏ要求を、処理優先度の高いキューから順番に取り出してＩ／Ｏ装置３０に送信する。そして、Ｉ／Ｏ装置３０ではＩ／Ｏ要求に応じたファイルのＩ／Ｏ処理を行う（ステップＳ１４０）。
【００３９】
つぎに、実施例１に係るＩ／Ｏ制御装置１のＩ／Ｏアクセス制御の詳細な処理手順について説明する。図５〜図７は、実施例１に係るＩ／Ｏ制御装置のＩ／Ｏアクセス制御の処理手順を説明するための図である。
【００４０】
ここでは、タスクとしてタスクＡ，Ｂの２つが存在し、タスクＡがファイルＸ（ファイル優先度（１））へのＩ／Ｏ要求を行った後、タスクＢがファイルＸよりもファイル優先度の高いファイルＹ（ファイル優先度（９））へＩ／Ｏ要求を行う場合について説明する。
【００４１】
図５に示すように、タスクＡがファイルＸへのＩ／Ｏ要求ｘ１を発行すると、ファイル優先度振り分け部１１がＩ／Ｏ要求ｘ１を受信する（Ｓ２１）。ファイル優先度振り分け部１１はファイル優先度管理部１２へ、ファイルＸのファイル優先度を問い合わせる（Ｓ２２）。
【００４２】
ファイル優先度管理部１２は、ファイル優先度管理テーブル１２０を検索して、ファイルＸのファイル優先度（１）を抽出する。ファイル優先度管理部１２は、抽出したファイル優先度（１）をファイル優先度振り分け部１１へ通知（送信）する（Ｓ２３）。
【００４３】
ファイル優先度振り分け部１１は、ファイルＸへのＩ／Ｏ要求ｘ１とファイルＸのファイル優先度（１）をキュー管理部１３へ渡す。キュー管理部１３は、ファイル優先度振り分け部１１から受け取ったＩ／Ｏ要求ｘ１を、ファイル優先度振り分け部１１から受け取ったファイル優先度（１）に対応するキューＣ１に格納する（Ｓ２４）。
【００４４】
次に、図６に示すように、タスクＢがファイルＹへのＩ／Ｏ要求ｙ１を発行すると、タスクＡがファイルＸへアクセスするときと同様に、ファイル優先度振り分け部１１がＩ／Ｏ要求ｙ１を受信する（Ｓ２５）。ファイル優先度振り分け部１１はファイル優先度管理部１２へ、ファイルＹのファイル優先度を問い合わせる（Ｓ２６）。
【００４５】
ファイル優先度管理部１２は、ファイル優先度管理テーブル１２０を検索して、ファイルＹのファイル優先度（９）を抽出する。ファイル優先度管理部１２は、抽出したファイル優先度（９）をファイル優先度振り分け部１１へ通知する（Ｓ２７）。
【００４６】
ファイル優先度振り分け部１１は、ファイルＹへのＩ／Ｏ要求ｙ１とファイルＹのファイル優先度（９）をキュー管理部１３へ渡す。キュー管理部１３は、ファイル優先度振り分け部１１から受け取ったＩ／Ｏ要求ｙ１を、ファイル優先度振り分け部１１から受け取ったファイル優先度（９）に対応するキューＣ９に格納する（Ｓ２８）。
【００４７】
次に、図７に示すように、Ｉ／Ｏ発行部１４は、まず最高優先度であるファイル優先度（１０）のキューＣ１０にＩ／Ｏ要求が格納されている否かをチェックする。キューＣ１０にＩ／Ｏ要求が格納されていれば、Ｉ／Ｏ発行部１４は、ファイル優先度（１０）のキューＣ１０に格納されている全てのＩ／Ｏ要求を、キューＣ１０に格納された順番でＩ／Ｏ装置３０の補助記憶装置３２（ファイルＸやファイルＹを記憶しておく装置）に渡す。ファイル優先度（１０）のキューＣ１０が空になると、Ｉ／Ｏ発行部１４は、次に優先度の高いファイル優先度（９）のキューＣ９のＩ／Ｏ要求を補助記憶装置３２に渡す。本実施例では、キューＣ９にＩ／Ｏ要求ｙ１が格納されているので、キューＣ９のＩ／Ｏ要求ｙ１が補助記憶装置３２に渡されてファイルＹのＩ／Ｏ処理が実行される（Ｓ２９）。
【００４８】
以下、Ｉ／Ｏ発行部１４は、キューＣ８〜Ｃ２にＩ／Ｏ要求が格納されていれば、ファイル優先度（８）〜ファイル優先度（２）の各キューＣ８〜Ｃ２に格納されている全てのＩ／Ｏ要求を、各キューＣ８〜Ｃ２に格納された順番で補助記憶装置３２に渡す。Ｉ／Ｏ発行部１４は、最後に最低優先度であるファイル優先度（１）のキューＣ１のＩ／Ｏ要求を補助記憶装置３２に渡す。本実施例では、キューＣ１にＩ／Ｏ要求ｘ１が格納されているので、キューＣ１のＩ／Ｏ要求ｘ１が補助記憶装置３２に渡されてファイルＸのＩ／Ｏ処理が実行される（Ｓ３０）。
【００４９】
これにより、ファイル優先度の低いファイルＸへのＩ／Ｏ要求ｘ１よりも、ファイル優先度が高いファイルＹへのＩ／Ｏ要求ｙ１の方が優先して補助記憶装置３２に渡されることとなる。したがって、ファイルＸのＩ／Ｏ要求よりもファイルＹのＩ／Ｏ要求の方が優先してＩ／Ｏ処理されることとなる。
【００５０】
なお、本実施例では、キュー管理部１３がキューＣ１〜Ｃ１０の１０個のキューを有している場合について説明したが、キュー管理部１３が２〜９個または１１個以上のキューを有する構成としてもよい。
【００５１】
上述してきたように、実施例１では、処理優先度の高いタスクと処理優先度の低いタスクで同一のＩ／Ｏ（ファイル）アクセスの競合が発生した場合に、Ｉ／Ｏ要求に対応するファイル毎（ファイルの種類毎）にＩ／Ｏ要求の処理順を制御しているので、ファイルへの読み込み要求時には優先度の低いファイルの追い越し処理を実行できる。また、ファイルへの書き込み要求時には、対象ファイルへのＩ／Ｏ要求の全体を優先制御（優先度に基づいた制御）するので効率良くＩ／Ｏ処理を実行できる。これにより、マルチプロセッサシステムにおけるファイル処理のスループットを向上させることが可能となる。
【実施例２】
【００５２】
つぎに、図８〜図１１を用いてこの発明の実施例２について説明する。実施例２では、ファイル毎に割り当てるファイル優先度をユーザ側で任意に指定可能とする。そして、ユーザからの指示に基づいてファイル優先度を変更するとともに、変更後のファイル優先度に基づいてＩ／Ｏ要求の処理順を制御する。
【００５３】
図８は、本発明に係るＩ／Ｏ制御装置の実施例２の構成を示すブロック図である。図８の各構成要素のうち図２に示す実施例１のＩ／Ｏ制御装置１と同一機能を達成する構成要素については同一番号を付しており、重複する説明は省略する。
【００５４】
実施例２のＩ／Ｏ制御装置１は、タスク入力部３１、ファイル優先度振り分け部１１、ファイル優先度管理部１２、キュー管理部１３、Ｉ／Ｏ発行部１４に加えてユーザ優先度指定部（ファイル優先度登録部）１５を有している。
【００５５】
ユーザ優先度指定部１５は、ユーザからファイル優先度の変更指示を受け付けた場合に、変更対象のファイルに対応するファイル優先度をファイル優先度管理部１２に問い合わせて、ファイル優先度管理部１２からファイル優先度を取得する。ユーザ優先度指定部１５は、取得結果（取得したファイル優先度）とユーザから指定されたファイル優先度に差分がある場合に、ファイル優先度管理部１２に対してファイル優先度の変更依頼（ファイル優先度管理テーブル１２０の更新指示）を行う。
【００５６】
ここでのファイル優先度管理部１２は、ユーザ優先度指定部１５、キュー管理部１３と接続している。ファイル優先度管理部１２は、ユーザ優先度指定部１５からファイル優先度の変更依頼（指示）が送られてきた場合に、ファイル優先度管理テーブル１２０を更新するとともに、キュー管理部１３にファイル優先度管理テーブル１２０が変更されたこと（ファイル優先度の変更依頼）を通知する。また、ファイル優先度管理部１２は、ユーザ優先度指定部１５からファイルとファイル優先度の新規登録依頼を受けた場合に、新規登録依頼に対応するファイルとファイル優先度とをファイル優先度管理テーブル１２０に追加する。
【００５７】
また、ここでのキュー管理部１３は、ファイル優先度管理部１２からファイル優先度の変更依頼を受けた場合に、変更依頼の対象となっているファイルのキュー（変更前のＩ／Ｏ要求を格納しているキュー）から変更対象のファイルのＩ／Ｏ要求を全て取り出し、変更依頼で指示されたキューへと移動させる。
【００５８】
つぎに、実施例２に係るＩ／Ｏ制御装置１の動作手順を説明する。図９は、実施例２に係るＩ／Ｏ制御装置の動作手順を示すフローチャートである。Ｉ／Ｏ制御装置１のユーザ優先度指定部１５は、ユーザからファイル優先度の変更指示が外部入力された場合に、ユーザから変更指示（登録指示）されたファイルのファイル優先度を変更するよう、ファイル優先度管理部１２に依頼する。具体的には、ユーザ優先度指定部１５がファイル優先度管理部１２にファイル優先度の変更指示を送信する（ステップＳ２１０）。
【００５９】
ファイル優先度管理部１２は、ユーザ優先度指定部１５からファイル優先度の変更指示を受けると、ファイル優先度管理テーブル１２０内のファイル優先度を変更する。ファイル優先度管理部１２は、変更指示で指定されたファイルのファイル優先度を、変更指示で指定されたファイル優先度に変更し、ファイル優先度管理テーブル１２０を更新する（ステップＳ２２０）。
【００６０】
ファイル優先度管理部１２は、ファイル優先度管理テーブル１２０内のファイル優先度を変更すると、ファイル優先度を変更したファイルのＩ／Ｏ要求を変更後のファイル優先度に対応する別のキューに移動するよう、キュー管理部１３に指示する。
【００６１】
キュー管理部１３は、ファイル優先度管理部１２からの指示に基づいて、Ｉ／Ｏ要求を格納させるキューを変更する。ここでのキュー管理部１３は、変更されたファイル優先度に従って変更対象のＩ／Ｏ要求をキュー間で移動させる（ステップＳ２３０）。キュー管理部１３は、変更対象のＩ／Ｏ要求を、例えばキューＣ１からキューＣ９へ移動させる。
【００６２】
この後、実施例１の図４で示したステップＳ１４０の処理を行う。すなわち、キュー管理部１３内の各キューＣ１〜Ｃ１０に格納されているＩ／Ｏ要求を、処理優先度の高いキューから順番に取り出して、Ｉ／Ｏ装置３０でＩ／Ｏ要求に応じたファイルのＩ／Ｏ処理を行う。
【００６３】
つぎに、実施例２に係るＩ／Ｏ制御装置１のＩ／Ｏアクセス制御の詳細な処理手順について説明する。図１０および図１１は、実施例２に係るＩ／Ｏ制御装置のＩ／Ｏアクセス制御の処理手順を説明するための図である。
【００６４】
ここでは、マルチプロセッサシステムにおいて、ファイルＸとファイルＹのファイル優先度がともに（１）であり、ファイルＸへの１つのＩ／Ｏ要求ｘ１とファイルＹへの２つのＩ／Ｏ要求ｙ１，ｙ２がファイル優先度（１）のキューＣ１に格納されている状態から、ファイルＹのファイル優先度を（９）に変更する場合について説明する。
【００６５】
なお、以下の説明では、ファイルＸへの各Ｉ／Ｏ要求は、Ｉ／Ｏ要求ｘ１、Ｉ／Ｏ要求ｘ２、Ｉ／Ｏ要求ｘ３の順番で発行されて、この順番で処理していくものとする。また、ファイルＹへの各Ｉ／Ｏ要求は、Ｉ／Ｏ要求ｙ１、Ｉ／Ｏ要求ｙ２、Ｉ／Ｏ要求ｙ３の順番で発行されて、この順番で処理していくものとする。
【００６６】
まず、ユーザは、マウス、キーボードなどの入力手段やＬＡＮ（Local  Area  Network）などの通信手段を用いて、Ｉ／Ｏ制御装置１にファイルＹのファイル優先度をファイル（９）に変更するよう指示入力する。
【００６７】
ユーザからＩ／Ｏ制御装置１にファイル優先度の変更指示が入力されると、ユーザ優先度指定部１５がこの変更指示を受信する（Ｓ３１）。そして、ユーザ優先度指定部１５は、ファイル優先度管理部１２にファイルＹのファイル優先度を問い合わせる（Ｓ３２）。これにより、ファイル優先度管理部１２は、ファイルＹの現在のファイル優先度（１）をユーザ優先度指定部１５に通知する（Ｓ３３）。
【００６８】
ユーザ優先度指定部１５は、ファイルＹの現在のファイル優先度と、ユーザから指定されたファイル優先度が異なるか否かをチェックする。ここでは、ファイルＹの現在のファイル優先度が（１）であり、ユーザから指定されたファイル優先度が（９）であるので、現在のファイル優先度と、ユーザから指定されたファイル優先度が異なる。このため、ユーザ優先度指定部１５は、ファイル優先度管理部１２にファイルＹのファイル優先度が（９）に変わることを通知する（Ｓ３４）。
【００６９】
次に、図１１に示すように、ファイル優先度管理部１２は、ファイル優先度管理テーブル１２０の、ファイルＹのファイル優先度を（１）から（９）に変更する（Ｓ３５）。そして、ファイル優先度管理部１２は、キュー管理部１３に、ファイルＹのファイル優先度が（１）から（９）に変わったことを通知する。
【００７０】
このファイル優先度管理部１２からキュー管理部１３への通知が、キュー管理部１３へのキュー間でのＩ／Ｏ要求の移動指示となる。すなわち、ファイル優先度（１）に対応するキューＣ１に格納されているファイルＹのＩ／Ｏ要求を、ファイル優先度（９）に対応するキューＣ９に移動させる指示がファイル優先度管理部１２からキュー管理部１３へ送られる（Ｓ３６）。
【００７１】
キュー管理部１３は、ファイル優先度管理部１２からＩ／Ｏ要求の移動指示を受けると、一旦、ファイル優先度振り分け部１１からのＩ／Ｏ要求の受け付け（Ｉ／Ｏ要求の振り分け処理）と、Ｉ／Ｏ発行部１４へのＩ／Ｏ要求の送出を停止する。そして、キュー管理部１３は、ファイル優先度（１）のキューＣ１に格納されているファイルＹのＩ／Ｏ要求を検索し、検索によって見つかったＩ／Ｏ要求ｙ１，ｙ２をファイル優先度（９）のキューＣ９に移動させる（Ｓ３７）。
【００７２】
その後、キュー管理部１３は、再びファイル優先度振り分け部１１からのＩ／Ｏ要求の受け付けと、Ｉ／Ｏ発行部１４へのＩ／Ｏ要求の送出を再開する。これにより、ユーザからのファイル優先度の変更指示に基づいて、各ファイルへのＩ／Ｏ要求の処理を効率良く行うことが可能となる。なお、図１１で説明したＳ３５の処理とＳ３６の処理は、何れの処理を先に行ってもよい。また、Ｓ３５の処理とＳ３６の処理を同時に行ってもよい。
【００７３】
上述してきたように、実施例２では、各ファイルのファイル優先度をユーザにて任意に変更することができ、ユーザ所望のファイル優先度に基づいて、各ファイルへのＩ／Ｏ要求の処理順序を制御ことが可能となる。
【００７４】
また、Ｉ／Ｏ要求の振り分け処理と、Ｉ／Ｏ要求の送出処理を停止してからキュー間でＩ／Ｏ要求を移動させるので、キュー間でＩ／Ｏ要求を移動させる場合であってもファイル処理の追い越しを防止することが可能となる。
【実施例３】
【００７５】
つぎに、図１２〜図１７を用いてこの発明の実施例３について説明する。実施例３では、ファイルのアクセス頻度に応じたファイル優先度に基づいてＩ／Ｏ要求の処理順を制御する。
【００７６】
図１２は、本発明に係るＩ／Ｏ制御装置の実施例３の構成を示すブロック図である。図１２の各構成要素のうち図１に示す実施例１のＩ／Ｏ制御装置１と同一機能を達成する構成要素については同一番号を付しており、重複する説明は省略する。
【００７７】
実施例３のＩ／Ｏ制御装置１は、タスク入力部３１、ファイル優先度振り分け部１１、ファイル優先度管理部１２、キュー管理部１３、Ｉ／Ｏ発行部１４に加えてアクセス頻度収集部１７、アクセス頻度管理部（ファイル優先度設定部）１６を有している。アクセス頻度収集部１７はタスク入力部３１に接続し、アクセス頻度管理部１６はアクセス頻度収集部１７とファイル優先度管理部１２に接続している。また、実施例２のＩ／Ｏ制御装置１と同様に、ファイル優先度管理部１２はキュー管理部１３に接続している。
【００７８】
アクセス頻度収集部１７は、タスク入力部３１を介してタスクからＩ／Ｏ要求などのアクセス要求を受け付けた際に、アクセス対象のファイル名をアクセス頻度管理部１６に送るとともに、タスクからのＩ／Ｏ要求をファイル優先度振り分け部１１に送る。
【００７９】
アクセス頻度管理部１６は、ファイル毎のアクセス時刻を格納するファイルアクセス時刻情報テーブル１６１と、各ファイルへのアクセス頻度（所定時間当たりのアクセス数や、これまでの総アクセス数など）をファイル毎に格納するファイルアクセス頻度テーブル１６２を記憶している。
【００８０】
アクセス頻度管理部１６は、アクセス頻度収集部１７からアクセス対象のファイル名を受けた際に、このファイルのアクセス時刻をファイルアクセス時刻情報テーブル１６１に記録する。アクセス頻度管理部１６は、ファイルアクセス時刻情報テーブル１６１に基づいて、定期的に（所定のタイミングで）各ファイルのアクセス頻度を算出し、ファイルアクセス頻度テーブル１６２に格納する。アクセス頻度管理部１６は、アクセス対象のファイルに対応するファイル優先度をファイル優先度管理部１２から取得し、取得したファイル優先度と算出したアクセス頻度に基づいて、新たなファイル優先度を設定する。アクセス頻度管理部１６は、設定した新たなファイル優先度をファイル優先度管理部１２に登録（更新）させる。
【００８１】
つぎに、実施例３に係るＩ／Ｏ制御装置１の動作手順を説明する。図１３は、実施例３に係るＩ／Ｏ制御装置の動作手順を示すフローチャートである。Ｉ／Ｏ制御装置１は、タスクからファイルへのＩ／Ｏ要求が発せられると、このＩ／Ｏ要求をタスク入力部３１で受信する（ステップＳ３１０）。
【００８２】
タスク入力部３１は、受信したＩ／Ｏ要求をアクセス頻度収集部１７へ送信する。アクセス頻度収集部１７は、タスク入力部３１からのＩ／Ｏ要求に対応するファイル名を、ファイル優先度振り分け部１１とアクセス頻度管理部１６へ送信する。
【００８３】
アクセス頻度管理部１６は、アクセス頻度収集部１７からアクセス対象のファイル名を受けると、このファイルのアクセス時刻をファイルアクセス時刻情報テーブル１６１に記録する（ステップＳ３２０）。
【００８４】
ファイル優先度振り分け部１１は、実施例１のステップＳ１２０，Ｓ１３０の処理と同様に、受信したＩ／Ｏ要求のファイル優先度に基づいて、受信したＩ／Ｏ要求をキューＣ１〜Ｃ１０の何れかに振り分ける。
【００８５】
アクセス頻度管理部１６は、ファイルアクセス時刻情報テーブル１６１に基づいて、所定のタイミング（例えば１分毎）で各ファイルのアクセス頻度を算出し（ステップＳ３３０）、ファイルアクセス頻度テーブル１６２に格納する。アクセス頻度管理部１６は、各ファイルに対応するファイル優先度をファイル優先度管理部１２のファイル優先度管理テーブル１２０から取得する。そして、アクセス頻度管理部１６は、ファイル優先度管理テーブル１２０から取得したファイル優先度と、算出したアクセス頻度に基づいて、各ファイルの新たなファイル優先度を決定する（ステップＳ３４０）。
【００８６】
ファイル優先度管理テーブル１２０から取得したファイル優先度と、決定したアクセス頻度に差がある場合、アクセス頻度管理部１６は、ファイル優先度管理部１２にファイル優先度を更新させる（ステップＳ３５０）。
【００８７】
ファイル優先度管理部１２は、ファイル優先度管理テーブル１２０内のファイル優先度を更新すると、ファイル優先度を更新したファイルのＩ／Ｏ要求を変更後のファイル優先度に対応する別のキューに移動するよう、キュー管理部１３に指示する。
【００８８】
キュー管理部１３は、ファイル優先度管理部１２からの指示に基づいて、Ｉ／Ｏ要求を格納させるキューを変更する。ここでのキュー管理部１３は、変更されたファイル優先度に従って変更対象のＩ／Ｏ要求をキュー間で移動させる（ステップＳ３６０）。キュー管理部１３は、変更対象のＩ／Ｏ要求を、例えばキューＣ１からキューＣ２へ移動させる。
【００８９】
この後、実施例１の図４で示したステップＳ１４０の処理を行う。すなわち、キュー管理部１３内の各キューＣ１〜Ｃ１０に格納されているＩ／Ｏ要求を、処理優先度の高いキューから順番に取り出して、Ｉ／Ｏ装置３０でＩ／Ｏ要求に応じたファイルのＩ／Ｏ処理を行う。
【００９０】
つぎに、実施例３に係るＩ／Ｏ制御装置１のＩ／Ｏアクセス制御の詳細な処理手順について説明する。図１４〜図１７は、実施例３に係るＩ／Ｏ制御装置のＩ／Ｏアクセス制御の処理手順を説明するための図である。
【００９１】
ここでは、マルチプロセッサシステムにおいて、ファイルＸへの１つのＩ／Ｏ要求ｘ１とファイルＹへの１つのＩ／Ｏ要求ｙ１がファイル優先度（１）のキューＣ１に格納されている状態の時に、タスクＣからファイルＹへのＩ／Ｏ要求ｙ２があって、ファイルＹのアクセス頻度が上がる場合について説明する。
【００９２】
図１４に示すように、タスクＣがファイルＹへのＩ／Ｏ要求ｙ２を発行すると、アクセス頻度収集部１７がＩ／Ｏ要求ｙ２を受信する（Ｓ４１）。アクセス頻度収集部１７は、Ｉ／Ｏ要求ｙ２に対応するファイル（アクセス対象）のファイル名（Ｙ）をアクセス頻度管理部１６に送る（Ｓ４２）。
【００９３】
アクセス頻度管理部１６は、アクセス頻度収集部１７からアクセス対象のファイル名（Ｙ）を受けると、このファイルＹのアクセス時刻をファイルアクセス時刻情報テーブル１６１に記録する（Ｓ４３）
【００９４】
その後、アクセス頻度収集部１７は、Ｉ／Ｏ要求ｙ２をファイル優先度振り分け部１１に送る。Ｉ／Ｏ要求ｙ２は、実施例１の場合と同様の処理によって、キューＣ１〜Ｃ１０の何れかに格納される。ここでは、Ｉ／Ｏ要求ｙ２のファイル優先度が（１）であるので、Ｉ／Ｏ要求ｙ２はキューＣ１に格納される（Ｓ４４）。
【００９５】
次に、図１５に示すように、アクセス頻度管理部１６は、ファイルアクセス時刻情報テーブル１６１に基づいて、所定のタイミングで各ファイルのアクセス頻度を算出し、ファイルアクセス頻度テーブル１６２に格納する（Ｓ４５）。そして、アクセス頻度管理部１６は、アクセス対象のファイルＹに対応するファイル優先度をファイル優先度管理部１２に要求する（Ｓ４６）。ファイル優先度管理部１２は、アクセス頻度管理部１６から要求のあったファイルＹのファイル優先度を、ファイル優先度管理テーブル１２０から抽出する。ファイル優先度管理部１２は、抽出したファイルＹのファイル優先度を、アクセス頻度管理部１６に通知する（Ｓ４７）。
【００９６】
そして、図１６に示すように、アクセス頻度管理部１６は、各ファイルの新たなファイル優先度を決定する（Ｓ４８）。具体的には、アクセス頻度管理部１６は、例えば予め設定しておいた閾値よりも高い頻度でアクセスがあったファイルのファイル優先度を現在のファイル優先度よりも例えば１増やす。また、予め設定しておいた閾値よりも低い頻度でしかアクセスがなかったファイルに対しては、ファイル優先度を現在のファイル優先度よりも１減らす。これにより、アクセス頻度管理部１６は、所定のタイミングで行なうファイル優先度の増減によってアクセス対象のファイルに新たなファイル優先度を設定する。ここでは、ファイルＹへのＩ／Ｏ要求ｙ２によってファイルＹへのアクセス頻度が閾値よりも高くなった場合について説明する。
【００９７】
Ｉ／Ｏ要求ｙ２によってファイルＹへのアクセス頻度が閾値よりも高くなった場合、アクセス頻度管理部１６は、ファイル優先度管理部１２から通知を受けたファイルＹのファイル優先度（現在のファイル優先度）を１大きくする。ここでは、ファイルＹの現在のファイル優先度が（１）であるので、アクセス頻度管理部１６は、新たなファイル優先度を（２）に決定する。
【００９８】
アクセス頻度管理部１６は、新たに決定したファイル優先度と、ファイル優先度管理部１２から通知を受けた現在のファイル優先度に差がある場合に、新たなファイル優先度をファイル優先度管理部１２に通知する（Ｓ４９）。これにより、ファイル優先度管理部１２は、ファイル優先度管理テーブル１２０内のファイルＹのファイル優先度を新たなファイル優先度に更新する（Ｓ５０）。
【００９９】
次に、図１７に示すように、ファイル優先度管理部１２は、キュー管理部１３にファイル優先度が更新されたファイルのＩ／Ｏ要求をキュー間で移動するよう指示する。ここでは、ファイル優先度管理部１２がファイル優先度管理テーブル１２０内のファイル優先度を更新した場合に、ファイル優先度管理部１２がキュー管理部１３にＩ／Ｏ要求のキュー間での移動を指示する。具体的には、ファイル優先度管理部１２は、ファイル優先度（１）のキューＣ１に格納されているファイルＹのＩ／Ｏ要求を、ファイル優先度（２）のキューＣ２へ移動するようキュー管理部１３に指示する（Ｓ５１）。
【０１００】
キュー管理部１３は、ファイル優先度管理部１２からファイルＹへのＩ／Ｏ要求の移動指示を受けると、一旦、ファイル優先度振り分け部１１からのＩ／Ｏ要求の受け付けと、Ｉ／Ｏ発行部１４へのＩ／Ｏ要求の送出を停止する。そして、キュー管理部１３は、ファイル優先度（１）のキューＣ１に格納されているファイルＹのＩ／Ｏ要求を検索し、検索によって見つかったＩ／Ｏ要求ｙ１，ｙ２をファイル優先度（２）のキューＣ２に移動させる（Ｓ５２）。
【０１０１】
その後、キュー管理部１３は、再びファイル優先度振り分け部１１からのＩ／Ｏ要求の受け付けと、Ｉ／Ｏ発行部１４へのＩ／Ｏ要求の送出を再開する。これにより、ファイルのアクセス頻度に応じたファイル優先度に基づいて、各ファイルへのＩ／Ｏ要求を効率良く処理することが可能となる。なお、図１４で説明したＳ４２やＳ４３の処理とＳ４４の処理は、何れの処理を先に行ってもよい。また、Ｓ４２やＳ４３の処理とＳ４４の処理を同時に行ってもよい。
【０１０２】
なお、本実施例では、ファイルのアクセス頻度に応じたファイル優先度に基づいてＩ／Ｏ要求の処理順を制御することとしたが、各タスクからのアクセス頻度に応じたファイル優先度に基づいてＩ／Ｏ要求の処理順を制御してもよい。
【０１０３】
また、本実施例では、各ファイルの新たなファイル優先度を決定する際に、現在のファイル優先度よりも１だけ増減させる場合について説明したが、現在のファイル優先度よりも２以上増減させてもよい。
【０１０４】
また、本実施例では、ファイル優先度管理テーブル１２０から取得したファイル優先度と、算出したアクセス頻度に基づいて、各ファイルの新たなファイル優先度を決定する場合について説明したが、算出したアクセス頻度のみに基づいて各ファイルの新たなファイル優先度を決定してもよい。
【０１０５】
上述してきたように、実施例３では、ファイルのアクセス頻度に基づいてファイル優先度を動的に変更するので、ファイルのアクセス頻度に応じたファイル優先度に基づいて、各ファイルのＩ／Ｏ要求を効率良く処理することが可能になる。
【０１０６】
また、ファイル優先度管理部１２がファイル優先度管理テーブル１２０のファイル優先度を用いてファイル優先度を設定するので、容易かつ適切なファイル優先度を設定することが可能となる。
【実施例４】
【０１０７】
つぎに、図１８〜図２１を用いてこの発明の実施例４について説明する。実施例４では、ファイルを作成するタスクのタスク優先度に応じたファイル優先度を設定し、設定したファイル優先度に基づいてＩ／Ｏ要求の処理順を制御する。
【０１０８】
図１８は、本発明に係るＩ／Ｏ制御装置の実施例４の構成を示すブロック図である。図１８の各構成要素のうち図１に示す実施例１のＩ／Ｏ制御装置１と同一機能を達成する構成要素については同一番号を付しており、重複する説明は省略する。
【０１０９】
実施例４のＩ／Ｏ制御装置１は、タスク入力部３１、ファイル優先度振り分け部１１、ファイル優先度管理部１２、キュー管理部１３、Ｉ／Ｏ発行部１４に加えて、作成タスク優先度収集部１９、作成タスク優先度管理部１８を有している。作成タスク優先度収集部１９はタスク入力部３１に接続し、作成タスク優先度管理部１８は作成タスク優先度収集部１９とファイル優先度管理部１２に接続している。また、実施例２，３のＩ／Ｏ制御装置１と同様に、ファイル優先度管理部１２はキュー管理部１３に接続している。
【０１１０】
作成タスク優先度収集部１９は、タスク入力部３１を介してタスクからファイル作成要求などのアクセス要求を受け付けた際に、アクセス対象のファイル名とタスク優先度（ファイル作成要求を送ってきたタスクの処理優先度に関する情報）を作成タスク優先度管理部１８に送る。
【０１１１】
作成タスク優先度管理部１８は、タスク優先度とファイル優先度との対応関係を格納するタスク／ファイル対応テーブル（タスク情報）１８０を記憶している。作成タスク優先度管理部１８は、ファイル優先度管理テーブル１２０にＩ／Ｏ要求に対応するファイルのファイル優先度が登録されていない場合に、タスク／ファイル対応テーブル１８０を用いて作成対象となっているファイルのファイル優先度を決定する。
【０１１２】
つぎに、実施例４に係るＩ／Ｏ制御装置１の動作手順を説明する。図１９は、実施例４に係るＩ／Ｏ制御装置の動作手順を示すフローチャートである。Ｉ／Ｏ制御装置１は、タスクからファイルの新規作成要求（ファイル作成要求）が発せられると、このファイル作成要求をタスク入力部３１で受信する（ステップＳ４１０）。
【０１１３】
タスク入力部３１は、受信したファイル作成要求を作成タスク優先度収集部１９へ送信する。作成タスク優先度収集部１９は、タスク入力部３１からのファイル作成要求に対応するファイル名とタスク優先度を、作成タスク優先度管理部１８へ送信する。
【０１１４】
作成タスク優先度管理部１８は、作成対象となっているファイルのファイル優先度をファイル優先度管理部１２から取得し確認する（ステップＳ４２０）。作成対象となっているファイルにファイル優先度が設定されていない場合（ステップＳ４３０、Ｎｏ）、作成タスク優先度管理部１８は、タスク／ファイル対応テーブル１８０を用いて、作成対象となっているファイルのファイル優先度を決定する。ここでの作成タスク優先度管理部１８は、作成タスク優先度収集部１９から送られてきたタスク優先度に対応するファイル優先度をタスク／ファイル対応テーブル１８０から抽出することによって、作成対象となっているファイルのファイル優先度を決定する（ステップＳ４４０）。
【０１１５】
そして、作成タスク優先度管理部１８は、決定したファイル優先度をファイル優先度管理部１２のファイル優先度管理テーブル１２０に登録させる（ステップＳ４５０）。この後、ファイル優先度管理部１２は、ファイル優先度管理部テーブル１２０に登録したファイル優先度をファイル優先度振り分け部１１へ通知する。
【０１１６】
一方、作成対象となっているファイルにファイル優先度が設定されている場合（ステップＳ４３０、Ｙｅｓ）、タスク優先度を設定することなく、設定済みのファイル優先度に基づいて、ファイル作成要求を所定のキューに格納する。
【０１１７】
この後、実施例１の図４で示したステップＳ１３０，Ｓ１４０の処理と同様に、ファイル優先度振り分け部１１は、ファイル優先度管理部１２からのファイル優先度とファイル作成要求をキュー管理部１３へ渡す。キュー管理部１３は、ファイル優先度振り分け部１１から受け取ったファイル作成要求を、ファイル優先度振り分け部１１から受け取ったファイル優先度に対応するキューに格納する。そして、Ｉ／Ｏ発行部１４は、キュー管理部１３内の各キューＣ１〜Ｃ１０に格納されているＩ／Ｏ要求を、処理優先度の高いキューから順番に取り出してＩ／Ｏ装置３０に送信する。Ｉ／Ｏ装置３０ではＩ／Ｏ要求に応じたファイルのＩ／Ｏ処理を行う。
【０１１８】
つぎに、実施例４に係るＩ／Ｏ制御装置１のＩ／Ｏアクセス制御の詳細な処理手順について説明する。図２０および図２１は、実施例４に係るＩ／Ｏ制御装置のＩ／Ｏアクセス制御の処理手順を説明するための図である。ここでは、マルチプロセッサシステムにおいて、タスクＡのタスク優先度が［９］、タスクＡが新規に作成するファイルがファイルＸである場合について説明する。
【０１１９】
図２０に示すように、タスクＡがファイルＸの新規作成要求（ファイル作成要求ｘ１）を発行すると、作成タスク優先度収集部１９がファイル作成要求ｘ１を受信する（Ｓ６１）。作成タスク優先度収集部１９は、ファイル作成要求ｘ１に対応するファイルＸのファイル名（Ｘ）を作成タスク優先度管理部１８に通知する（Ｓ６２）。
【０１２０】
作成タスク優先度管理部１８は、作成対象となっているファイル名（Ｘ）のファイル優先度をファイル優先度管理部１２に問い合わせる（Ｓ６３）。ファイル優先度管理部１２は、作成タスク優先度管理部１８から要求のあったファイルＸのファイル優先度を、ファイル優先度管理テーブル１２０から抽出する。ファイル優先度管理部１２は、抽出したファイルＸのファイル優先度を、アクセス頻度管理部１６に通知する。
【０１２１】
ファイル優先度管理部１２は、作成タスク優先度管理部１８から要求のあったファイルＸのファイル優先度を、ファイル優先度管理テーブル１２０から抽出できなかった場合（未登録の場合）、ファイル優先度が無いことをアクセス頻度管理部１６に通知する（Ｓ６４）。ここでは、ファイルＸがタスクＡによって新規に作成されるファイルであるので、ファイル優先度管理部１２からアクセス頻度管理部１６へファイル優先度が無いことが通知される。
【０１２２】
次に、図２１に示すように、ファイル優先度が登録されていない場合、作成タスク優先度管理部１８は、タスク／ファイル対応テーブル１８０を用いて、ファイルＸ（新規作成対象ファイル）のファイル優先度を決定する。ここでの作成タスク優先度管理部１８は、ファイルＸのタスク優先度［９］に基づいて、タスク／ファイル対応テーブル１８０からファイルＸのファイル優先度を抽出する。
【０１２３】
タスク／ファイル対応テーブル１８０には、例えばタスクの１０段階のタスク優先度が、そのままファイル優先度となるよう、タスク優先度とファイル優先度を対応付けておく。この場合、タスクＡのタスク優先度［９］はファイルＸのファイル優先度（９）に対応することとなる。したがって、ここでの作成タスク優先度管理部１８は、ファイルＸのファイル優先度として（９）を決定する（Ｓ６５）。
【０１２４】
作成タスク優先度管理部１８は、決定したファイルＸのファイル優先度（９）を、ファイル優先度管理部１２に通知する（Ｓ６６）。ファイル優先度管理部１２は、作成タスク優先度管理部１８から渡されたファイルＸのファイル優先度（９）を、ファイル優先度管理テーブル１２０に登録する（Ｓ６７）。これにより、ファイル優先度管理部１２は、ファイル優先度管理テーブル１２０に対して作成対象となっているファイルとファイル優先度の新規登録依頼を行う。
【０１２５】
この後、作成タスク優先度収集部１９は、ファイル作成要求ｘ１をファイル優先度振り分け部１１へ送る。また、ファイル優先度管理部１２は、ファイルＸのファイル優先度（９）をファイル優先度振り分け部１１へ送る。そして、ファイル優先度振り分け部１１は、ファイルＸへのファイル作成要求ｘ１とファイルＸのファイル優先度（９）をキュー管理部１３へ渡す。キュー管理部１３は、ファイル優先度振り分け部１１から受け取ったファイル作成要求ｘ１を、ファイル優先度振り分け部１１から受け取ったファイル優先度（９）に対応するキューＣ９に格納する（Ｓ６８）。
【０１２６】
これにより、ファイルを作成するタスクのタスク優先度に応じたファイル優先度を設定でき、設定したファイル優先度に基づいて、各ファイルへのＩ／Ｏ要求の処理を効率良く行うことが可能となる。なお、各タスクのタスク優先度は、各タスクから作成タスク優先度収集部１９へ送ることとしてもよいし、作成タスク優先度収集部１９が予めタスク毎に記憶しておいてもよい。また、Ｓ６８の処理のうち、作成タスク優先度収集部１９からファイル優先度振り分け部１１へファイル作成要求ｘ１を送る処理は、Ｓ６２〜Ｓ６７より先に行ってもよいし、Ｓ６２〜Ｓ６７の処理と同時に行ってもよい。
【０１２７】
上述してきたように、実施例４では、ファイルのタスク優先度に基づいてファイル優先度を動的に変更するので、生成元タスクのタスク優先度に応じたファイル優先度で各ファイルのＩ／Ｏ要求の処理を効率良く行なうことが可能になる。
【０１２８】
また、タスク／ファイル対応テーブル１８０を予め記憶しておくので、タスクからファイルの新規作成要求を受けた際に、このファイルのファイル優先度が無くても、タスク／ファイル対応テーブル１８０に基づいて、タスク優先度に対応するファイル優先度を容易に取得できる。これにより、タスク優先度に対応するファイル優先度に基づいて、各ファイルのＩ／Ｏ要求の処理を容易に行なうことが可能になる。
【実施例５】
【０１２９】
つぎに、図２２〜図２９を用いてこの発明の実施例５について説明する。実施例５では、同一ファイルに対してタスク優先度の異なる複数のタスクがアクセスした場合に、新たなファイル優先度（カレント優先度）を設定し、この新たなファイル優先度に基づいて、Ｉ／Ｏ要求の処理順を制御する。
【０１３０】
図２２は、本発明に係るＩ／Ｏ制御装置の実施例５の構成を示すブロック図である。図２２の各構成要素のうち図１に示す実施例１のＩ／Ｏ制御装置１と同一機能を達成する構成要素については同一番号を付しており、重複する説明は省略する。
【０１３１】
実施例５のＩ／Ｏ制御装置１は、タスク入力部３１、ファイル優先度振り分け部１１、ファイル優先度管理部１２、キュー管理部１３、Ｉ／Ｏ発行部１４に加えて、アクセスタスク優先度収集部２１、アクセスタスク優先度管理部２０を有している。アクセスタスク優先度収集部２１はタスク入力部３１に接続し、アクセスタスク優先度管理部２０はアクセスタスク優先度収集部２１とファイル優先度管理部１２に接続している。また、実施例２〜４のＩ／Ｏ制御装置１と同様に、ファイル優先度管理部１２はキュー管理部１３に接続している。
【０１３２】
アクセスタスク優先度収集部２１は、タスク入力部３１を介してタスクからファイルへのアクセス要求（Ｉ／Ｏ要求）を受け付けた際に、Ｉ／Ｏ要求をアクセスタスク優先度管理部２０に送る。
【０１３３】
アクセスタスク優先度管理部２０は、タスク毎のタスク優先度に関する情報テーブルとして、タスク優先度管理テーブル（タスク情報）２００を記憶している。アクセスタスク優先度管理部２０は、タスク優先度管理テーブル２００を用いて、各タスクのタスク優先度をファイル優先度管理部１２に提供する。アクセスタスク優先度管理部２０は、例えばアクセスタスク優先度収集部２１がタスクからＩ／Ｏ要求を受けた際に、アクセスタスク優先度収集部２１からＩ／Ｏ要求に対応するタスク優先度を受信してタスク優先度管理テーブル２００を作成する。
【０１３４】
本実施例でのファイル優先度管理部１２は、ファイル優先度管理テーブル１２１を記憶している。このファイル優先度管理テーブル１２１は、ファイル優先度とカレント優先度（タスク優先度とファイル優先度を用いて動的に設定される現在の処理優先度）とを、ファイルの種類毎に対応付けした情報テーブルである。
【０１３５】
また、本実施例でのファイル優先度管理部１２は、タスク優先度、ファイル優先度、カレント優先度に基づいて、新しいファイル優先度（カレント優先度）を設定する。そして、新たに設定したカレント優先度に基づいて、Ｉ／Ｏ要求を所定のキューＣ１〜Ｃ１０へ格納させる。
【０１３６】
つぎに、実施例５に係るＩ／Ｏ制御装置１の動作手順を説明する。図２３は、実施例５に係るＩ／Ｏ制御装置の動作手順を示すフローチャートである。まず、タスク優先機能をＯＮにしておく（ステップＳ５１０）。このタスク優先機能は、同一ファイルに対してタスク優先度の異なる複数のタスクがアクセス（Ｉ／Ｏ要求）した場合に、Ｉ／Ｏ要求に対する新たなファイル優先度を設定させる機能である。換言すると、タスク毎に処理優先度が異なる場合、何れのタスク優先度を何れのファイル優先度に割り付けるかをタスク優先機能がＯＮの場合に設定できる。
【０１３７】
Ｉ／Ｏ制御装置１は、タスクからファイルへのＩ／Ｏ要求が発せられると、このＩ／Ｏ要求をタスク入力部３１で受信する（ステップＳ５２０）。タスク入力部３１は、受信したＩ／Ｏ要求をアクセスタスク優先度収集部２１へ送信する。アクセスタスク優先度収集部２１は、タスク入力部３１からのＩ／Ｏ要求を、ファイル優先度振り分け部１１へ送信する。ファイル優先度振り分け部１１は、Ｉ／Ｏ要求に対応するファイル優先度をファイル優先度管理部１２に問い合わせる。
【０１３８】
ファイル優先度管理部１２は、ファイル優先度、タスク優先度、現在ファイル優先度管理テーブル１２０に設定されているカレント優先度に基づいて、新たなカレント優先度を設定する（ステップＳ５３０）。これにより、ファイル優先度管理テーブル１２０のカレント優先度を更新する。
【０１３９】
ファイル優先度管理部１２は、カレント優先度を更新したファイルのＩ／Ｏ要求（キューへ格納済みのＩ／Ｏ要求）を新たなファイル優先度に対応する別のキューに移動するよう、キュー管理部１３に指示する。キュー管理部１３は、ファイル優先度管理部１２からの指示に基づいて、Ｉ／Ｏ要求を格納させるキューを変更する。キュー管理部１３は、変更されたファイル優先度に従って変更対象のＩ／Ｏ要求をキュー間で移動させる（ステップＳ５４０）。換言すると、キュー管理部１３は、ファイルのＩ／Ｏ要求が旧優先度に対応するキュー内に既に格納されている場合に、このＩ／Ｏ要求を新しいファイル優先度に対応するキューへと移し替えを行なう。キュー管理部１３は、変更対象のＩ／Ｏ要求を、例えばキューＣ１からキューＣ２へ移動させる。
【０１４０】
その後、ファイル優先度管理部１２は、キューへ格納していないＩ／Ｏ要求を、新たなファイル優先度に対応するキューに振り分けるよう、ファイル優先度振り分け部１１に指示する。
【０１４１】
ファイル優先度振り分け部１１は、ファイル優先度管理部１２から取得したファイル優先度と、タスクから受信したＩ／Ｏ要求をキュー管理部１３に送信する。キュー管理部１３は、ファイル優先度振り分け部１１から渡されたＩ／Ｏ要求を、ファイル優先度振り分け部１１からのファイル優先度に応じたキューに格納させる。これにより、Ｉ／Ｏ要求に対応するファイル優先度に基づいて、ファイル優先度に対応する所定のキューＣ１〜Ｃ１０へＩ／Ｏ要求を振り分ける（ステップＳ５５０）。
【０１４２】
この後、実施例１の図４で示したステップＳ１４０の処理を行う。すなわち、キュー管理部１３内の各キューＣ１〜Ｃ１０に格納されているＩ／Ｏ要求を、処理優先度の高いキューから順番に取り出して、Ｉ／Ｏ装置３０でＩ／Ｏ要求に応じたファイルのＩ／Ｏ処理を行う。
【０１４３】
つぎに、実施例５に係るＩ／Ｏ制御装置１のＩ／Ｏアクセス制御の詳細な処理手順について説明する。図２４，２５および図２７〜２９は、実施例５に係るＩ／Ｏ制御装置のＩ／Ｏアクセス制御の処理手順を説明するための図である。
【０１４４】
ここでは、タスクＡが既にファイルＸとファイルＹに対して、所定数のＩ／Ｏ要求を発行している状態（キューＣ１〜Ｃ１０の何れかにＩ／Ｏ要求が格納中）で、タスクＡ（タスク優先度［１］）よりもタスク優先度が高いタスクＢ（タスク優先度［９］）からファイルＹへのＩ／Ｏ要求が出された場合について説明する。また、ここでのファイルＸとファイルＹのファイル優先度を、例えば最低優先度（１）とする。
【０１４５】
図２４に示すように、まず所定の設定手段などからの指示（Ｃｏｎｆｉｇ）によって、ファイル優先度管理部１２のタスク優先機能をＯＮにしておく（Ｓ７１）。また、このとき、Ｃｏｎｆｉｇによって、タスク毎のタスク優先度の初期値をタスク優先度管理テーブル２００に設定（登録）してもよい（Ｓ７２）。
【０１４６】
タスクＡがファイルＸとファイルＹに対して、Ｉ／Ｏ要求ｘ３，ｙ１，ｙ２を発行している状態で、タスクＢからファイルＹに対してＩ／Ｏ要求ｙ３が発行されると、アクセスタスク優先度収集部２１がＩ／Ｏ要求ｙ３を受信する（Ｓ７３）。
【０１４７】
アクセスタスク優先度収集部２１は、Ｉ／Ｏ要求ｙ３を発行したタスクＢのタスク優先度［９］をアクセスタスク優先度管理部２０に送る。アクセスタスク優先度管理部２０は、このタスク優先度［９］をタスク優先度管理テーブル２００に登録する。アクセスタスク優先度収集部２１は、タスクからＩ／Ｏ要求を受信するたびに、アクセスタスク優先度管理部２０へＩ／Ｏ要求に対応するタスク優先度を送信するので、タスク優先度管理テーブル２００へは既にタスクＡのタスク優先度［１］が登録されている。
【０１４８】
アクセスタスク優先度収集部２１は、Ｉ／Ｏ要求ｙ３をファイル優先度振り分け部１１へ送信する。これにより、ファイル優先度振り分け部１１は、アクセスタスク優先度収集部２１からのＩ／Ｏ要求ｙ３を受信する。
【０１４９】
つぎに、図２５に示すように、ファイル優先度振り分け部１１は、ファイル優先度管理部１２にファイルＹのファイル優先度を問い合わせる（Ｓ７４）。これにより、ファイル優先度管理部１２がファイル優先度振り分け部１１からのファイル優先度の要求を受信する。
【０１５０】
ここでは、ファイル優先度管理部１２のタスク優先機能が有効なので、ファイル優先度管理部１２は、アクセスタスク優先度管理部２０に対してタスクＢのタスク優先度を問い合わせる（Ｓ７５）。アクセスタスク優先度管理部２０は、タスク優先度管理テーブル２００からタスクＢのタスク優先度［９］を抽出し、ファイル優先度管理部１２に通知する（Ｓ７６）。これにより、ファイル優先度管理部１２は、アクセスタスク優先度管理部２０からタスクＢのタスク優先度［９］を受信する。
【０１５１】
ファイル優先度管理部１２は、タスク優先度［９］とファイル優先度（１）を比較してカレント優先度を（９）に決定する。ここで、ファイル優先度管理部１２によるカレント優先度の決定処理を詳細に説明する。
【０１５２】
図２６は、カレント優先度の決定処理手順を示すフローチャートである。ファイル優先度管理部１２は、まず新たなＩ／Ｏ要求を送ってきたタスクのタスク優先度と、このＩ／Ｏ要求に対応するファイルのファイル優先度と、を比較する（ステップＳ６１０）。
【０１５３】
新たなＩ／Ｏ要求を送ってきたタスクのタスク優先度がファイル優先度よりも大きい場合（ステップＳ６１０、Ｙｅｓ）、ファイル優先度管理部１２は、新たなＩ／Ｏ要求を送ってきたタスクのタスク優先度と、Ｉ／Ｏ要求に対応するファイルのカレント優先度を比較する。具体的には、ファイル優先度管理部１２は、ファイル優先度管理テーブル１２１からＩ／Ｏ要求に対応するファイルのカレント優先度を抽出し、抽出したカレント優先度と、新たなＩ／Ｏ要求を送ってきたタスクのタスク優先度とを比較する（ステップＳ６２０）。
【０１５４】
タスク優先度の値がカレント優先度の値以上の場合（ステップＳ６２０、Ｎｏ）、ファイル優先度管理部１２は、カレント優先度に対応するキューにアクセス対象となったファイルと同じファイルのＩ／Ｏ要求が格納されているか否かをキュー管理部１３に問い合わせる（ステップＳ６３０）。
【０１５５】
カレント優先度に対応するキューに、アクセス対象となったファイルのＩ／Ｏ要求が格納されている場合（ステップＳ６４０、Ｙｅｓ）、ファイル優先度管理部１２はキュー管理部１３に、Ｉ／Ｏ要求の移動指示を行なう。
【０１５６】
キュー管理部１３は、ファイル優先度管理部１２からの指示に基づいて、Ｉ／Ｏ要求を格納させるキューを変更する。キュー管理部１３は、アクセス対象となったファイルと同じファイルのＩ／Ｏ要求でカレント優先度に対応するキューに格納されているＩ／Ｏ要求を、タスク優先度に対応するキューへ移動させる（ステップＳ６５０）。そして、ファイル優先度管理部１２はファイル優先度管理テーブル１２１のカレント優先度を、タスク優先度と同じ優先度に設定する（カレント優先度＝タスク優先度）（ステップＳ６６０）。
【０１５７】
一方、カレント優先度に対応するキューに、アクセス対象となったファイルのＩ／Ｏ要求が格納されていない場合（ステップＳ６４０、Ｎｏ）、ファイル優先度管理部１２はファイル優先度管理テーブル１２１のカレント優先度を、タスク優先度と同じ優先度に設定する（カレント優先度＝タスク優先度）（ステップＳ６６０）。
【０１５８】
タスク優先度の値がカレント優先度の値よりも小さい場合（ステップＳ６２０、Ｙｅｓ）、ファイル優先度管理部１２は、カレント優先度に対応するキューにアクセス対象となったファイルと同じファイルのＩ／Ｏ要求が格納されているか否かをキュー管理部１３に問い合わせる（ステップＳ６７０）。
【０１５９】
カレント優先度に対応するキューに、アクセス対象となったファイルのＩ／Ｏ要求が格納されている場合（ステップＳ６８０、Ｙｅｓ）、ファイル優先度管理部１２はファイル優先度管理テーブル１２１のカレント優先度をそのまま維持させる（カレント優先度＝カレント優先度）（ステップＳ６９０）。
【０１６０】
一方、カレント優先度に対応するキューに、アクセス対象となったファイルのＩ／Ｏ要求が格納されていない場合（ステップＳ６８０、Ｎｏ）、ファイル優先度管理部１２はファイル優先度管理テーブル１２１のカレント優先度をタスク優先度と同じ優先度に設定する（カレント優先度＝タスク優先度）（ステップＳ７００）。
【０１６１】
新たなＩ／Ｏ要求を送ってきたタスクのタスク優先度がファイル優先度以下の場合（ステップＳ６１０、Ｎｏ）、ファイル優先度管理部１２は、Ｉ／Ｏ要求に対応するファイルのファイル優先度と、このＩ／Ｏ要求に対応するファイルのカレント優先度を比較する。具体的には、ファイル優先度管理部１２は、ファイル優先度管理テーブル１２１からＩ／Ｏ要求に対応するファイルのカレント優先度とファイル優先度を抽出し、これらの優先度を比較する（ステップＳ７１０）。
【０１６２】
ファイル優先度の値がカレント優先度の値よりも小さい場合（ステップＳ７１０、Ｙｅｓ）、ファイル優先度管理部１２は、カレント優先度に対応するキューにアクセス対象となったファイルと同じファイルのＩ／Ｏ要求が格納されているか否かをキュー管理部１３に問い合わせる（ステップＳ７２０）。
【０１６３】
カレント優先度に対応するキューに、アクセス対象となったファイルのＩ／Ｏ要求が格納されている場合（ステップＳ７３０、Ｙｅｓ）、ファイル優先度管理部１２はファイル優先度管理テーブル１２１のカレント優先度をそのまま維持させる（カレント優先度＝カレント優先度）（ステップＳ７４０）。
【０１６４】
一方、カレント優先度に対応するキューに、アクセス対象となったファイルのＩ／Ｏ要求が格納されていない場合（ステップＳ７３０、Ｎｏ）、ファイル優先度管理部１２はファイル優先度管理テーブル１２１のカレント優先度を、ファイル優先度と同じ優先度に設定する（カレント優先度＝ファイル優先度）（ステップＳ７６０）。
【０１６５】
ファイル優先度の値がカレント優先度の値以上の場合（ステップＳ７１０、Ｎｏ）、ファイル優先度管理部１２はキュー管理部１３に、Ｉ／Ｏ要求の移動指示を行なう。キュー管理部１３は、ファイル優先度管理部１２からの指示に基づいて、Ｉ／Ｏ要求を格納させるキューを変更する。具体的には、キュー管理部１３は、アクセス対象となったファイルと同じファイルのＩ／Ｏ要求でカレント優先度に対応するキューに格納されているＩ／Ｏ要求を、ファイル優先度に対応するキューへ移動させる（ステップＳ７５０）。
【０１６６】
そして、ファイル優先度管理部１２はファイル優先度管理テーブル１２１のカレント優先度を、ファイル優先度と同じ優先度に設定する（カレント優先度＝ファイル優先度）（ステップＳ７６０）。
【０１６７】
これにより、カレント優先度に対応するキューにアクセス対象となったファイルと同じ種類のファイルのＩ／Ｏ要求が格納されている場合、ファイル優先度とタスク優先度のうち、高い優先度に対応するキューへＩ／Ｏ要求を移動させる。
【０１６８】
また、カレント優先度がファイル優先度やタスク優先度よりも高い場合であって、カレント優先度に対応するキューにアクセス対象となったファイルと同じ種類のファイルのＩ／Ｏ要求が格納されている場合、現状のカレント優先度を維持する。
【０１６９】
また、カレント優先度がファイル優先度やタスク優先度よりも高い場合であって、カレント優先度に対応するキューにアクセス対象となったファイルと同じファイルのＩ／Ｏ要求が格納されていない場合、ファイル優先度とタスク優先度のうち優先度の高い方をカレント優先度に設定する。
【０１７０】
また、タスク優先度がファイル優先度やカレント優先度よりも高い場合、タスク優先度をカレント優先度に設定し、ファイル優先度がタスク優先度やカレント優先度よりも高い場合、ファイル優先度をカレント優先度に設定する。
【０１７１】
本実施例では、タスクＢのタスク優先度が［９］であり、ファイルＹのファイル優先度（１）よりも大きい場合ので（ステップＳ６１０、Ｙｅｓ）、ファイル優先度管理部１２は、タスクＢのタスク優先度［９］とファイルＹのカレント優先度を比較する。
【０１７２】
また、タスク優先度が［９］であり、ファイルＹのカレント優先度（１）よりも大きいので（ステップＳ６２０、Ｎｏ）、ファイル優先度管理部１２は、カレント優先度（１）に対応するキューＣ１に、ファイルＹのＩ／Ｏ要求が格納されているか否かをキュー管理部１３に問い合わせる（ステップＳ６３０）。
【０１７３】
ここでは、カレント優先度（１）に対応するキューＣ１に、ファイルＹのＩ／Ｏ要求ｙ１，ｙ２が格納されているので（ステップＳ６４０、Ｙｅｓ）、ファイル優先度管理部１２はキュー管理部１３にＩ／Ｏ要求ｙ１，ｙ２の移動指示を行なう。キュー管理部１３は、キューＣ１に格納されているＩ／Ｏ要求ｙ１，ｙ２をタスク優先度［９］に対応するキューＣ９へ移動させる（ステップＳ６５０）。そして、ファイル優先度管理部１２は、ファイル優先度管理テーブル１２１のファイルＹのカレント優先度をタスク優先度の［９］に設定する。
【０１７４】
つぎに、ファイル優先度管理部１２とキュー管理部１３とによる、Ｉ／Ｏ要求ｙ１，ｙ２の詳細な移動処理手順について説明する。ファイル優先度管理部１２が、新たなカレント優先度を（９）に決定すると、図２７に示すように、ファイル優先度管理部１２は、カレント優先度（１）に対応するキューＣ１に、ファイルＹのＩ／Ｏ要求が格納されているか否かをキュー管理部１３に問い合わせる（Ｓ７７）。
【０１７５】
キュー管理部１３からファイル優先度管理部１２へは、キューＣ１にファイルＹのＩ／Ｏ要求ｙ１，ｙ２が格納されていることが通知される（Ｓ７８）。これにより、ファイル優先度管理部１２は、ファイルＹに関するＩ／Ｏ要求ｙ１，ｙ２をカレント優先度（９）に対応するキューＣ９へ移動するようキュー管理部１３に指示する（Ｓ７９）。キュー管理部１３は、ファイルＹに関するＩ／Ｏ要求ｙ１，ｙ２をキューＣ９に移動させるとともに（Ｓ８０）、移動を実施したことをファイル優先度管理部１２に通知する（Ｓ８１）。
【０１７６】
つぎに、図２８に示すように、ファイル優先度管理部１２は、ファイル優先度管理テーブル１２１内のファイルＹのカレント優先度を（９）に変更する。そして、ファイル優先度管理部１２は、変更後のファイルＹのカレント優先度（ファイル優先度）（９）を、ファイル優先度振り分け部１１に通知する（Ｓ８２）。
【０１７７】
ファイル優先度振り分け部１１は、ファイル優先度（９）に対応するキューＣ９にＩ／Ｏ要求ｙ３を格納するようキュー管理部１３に指示する。これにより、キュー管理部１３は、Ｉ／Ｏ要求ｙ３をキューＣ９に格納する（Ｓ８３）。
【０１７８】
つぎに、図２９に示すように、Ｉ／Ｏ発行部１４は、処理優先度が（９）のキューＣ９にＩ／Ｏ要求が格納されたので、処理優先度が（１）のキューＣ１からのＩ／Ｏ要求の発行を停止して、キューＣ９内のＩ／Ｏ要求ｙ１，ｙ２，ｙ３をＩ／Ｏ装置３０（補助記憶装置３２）に発行する（Ｓ８４）。
【０１７９】
これにより、ファイルを作成したタスクのタスク優先度に応じたファイル優先度（カレント優先度）を設定でき、設定したファイル優先度に基づいて、各ファイルへのＩ／Ｏ要求の処理を効率良く行うことが可能となる。
【０１８０】
上述してきたように、実施例５では、ファイルにアクセスするタスク（Ｉ／Ｏ要求の要求元）のタスク優先度を管理するとともに、タスク優先度に基づいてアクセス対象のファイルのファイル優先度（カレント優先度）を動的に変更するので、現在のアクセス対象のファイルに対して設定されている優先度（ファイル優先度、タスク優先度、カレント優先度）のうち最高の優先度でＩ／Ｏ要求を処理することが可能となる。したがって、各ファイルのＩ／Ｏ要求の処理を効率良く行なうことが可能になる。
【実施例６】
【０１８１】
ところで、上記の実施例で説明したＩ／Ｏ要求の順番を制御する各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムを他の実施例として説明する。
【０１８２】
図３０は、他の実施例に係るコンピュータシステムの構成を示すシステム構成図であり、図３１は、このコンピュータシステムにおける本体部の構成を示すブロック図である。図３０に示すように、このコンピュータシステム１００は、本体部１０１と、本体部１０１からの指示によって表示画面１０２ａに画像などの情報を表示するためのディスプレイ１０２と、このコンピュータシステム１００に種々の情報を入力するためのキーボード１０３と、ディスプレイ１０２の表示画面１０２ａ上の任意の位置を指定するためのマウス１０４とを備える。
【０１８３】
また、このコンピュータシステム１００における本体部１０１は、図３１に示すように、ＣＰＵ１２１と、ＲＡＭ１２２と、ＲＯＭ１２３と、ハードディスクドライブ（ＨＤＤ）１２４と、ＣＤ−ＲＯＭ１０９を受け入れるＣＤ−ＲＯＭドライブ１２５と、フレキシブルディスク（ＦＤ）１０８を受け入れるＦＤドライブ１２６と、ディスプレイ１０２、キーボード１０３並びにマウス１０４を接続するＩ／Ｏインターフェース１２７と、ローカルエリアネットワークまたは広域エリアネットワーク（ＬＡＮ／ＷＡＮ）１０６に接続するＬＡＮインターフェース１２８とを備える。
【０１８４】
さらに、このコンピュータシステム１００には、インターネットなどの公衆回線１０７に接続するためのモデム１０５が接続されるとともに、ＬＡＮインターフェース１２８およびＬＡＮ／ＷＡＮ１０６を介して、他のコンピュータシステム（ＰＣ）１１１、サーバ１１２並びにプリンタ１１３などが接続される。
【０１８５】
そして、このコンピュータシステム１００は、所定の記録媒体に記録されたプログラムを読み出して実行することで上記した実施例と同様の機能を実現する。ここで、所定の記録媒体とは、フレキシブルディスク（ＦＤ）１０８、ＣＤ−ＲＯＭ１０９、ＭＯディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」の他に、コンピュータシステム１００の内外に備えられるハードディスクドライブ（ＨＤＤ）１２４や、ＲＡＭ１２２、ＲＯＭ１２３などの「固定用の物理媒体」、さらに、モデム１０５を介して接続される公衆回線１０７や、他のコンピュータシステム１１１並びにサーバ１１２が接続されるＬＡＮ／ＷＡＮ１０６などのように、プログラムの送信に際して短期にプログラムを保持する「通信媒体」など、コンピュータシステム１００によって読み取り可能なプログラムを記録する、あらゆる記録媒体を含むものである。
【０１８６】
すなわち、この他の実施例でいうプログラムは、上記した「可搬用の物理媒体」、「固定用の物理媒体」、「通信媒体」などの記録媒体に、コンピュータ読み取り可能に記録されるものであり、コンピュータシステム１００は、このような記録媒体からプログラムを読み出して実行することで上記した実施例と同様の機能を実現する。なお、この他の実施例でいうプログラムは、コンピュータシステム１００によって実行されることに限定されるものではなく、他のコンピュータシステム１１１またはサーバ１１２がプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
【０１８７】
（付記１）タスクからのアクセス要求に対してファイル処理を行わせる際に、複数のキューの何れかに前記アクセス要求を格納してから所定の順番で前記アクセス要求毎のファイル処理を行わせるよう制御するアクセス制御装置において、
ファイル毎の処理優先度であるファイル優先度に関する情報を記憶して管理するファイル優先度管理部と、
前記ファイル優先度管理部から前記アクセス要求に対応するファイル優先度を前記アクセス要求毎に取得するファイル優先度取得部と、
前記各ファイル優先度に対応する処理優先度が設定された複数のキューを有するとともに、前記ファイル優先度取得部が取得したファイル優先度に基づいて、前記ファイル優先度に応じた何れかのキューに前記アクセス要求を格納させるキュー管理部と、
前記各キューに格納されているアクセス要求を、前記各キューに設定された処理優先度に基づいた順番で取り出して、アクセス対象となっているファイル側へ送出するアクセス要求送出部と、
を備えることを特徴とするアクセス制御装置。
【０１８８】
（付記２）外部から入力される指示に基づいて、前記ファイル優先度を前記ファイル優先度管理部へ登録するファイル優先度登録部をさらに備えることを特徴とする付記１に記載のアクセス制御装置。
【０１８９】
（付記３）前記アクセス要求の頻度を前記ファイル毎に管理するとともに、前記アクセス要求の頻度に基づいて前記ファイル優先度を設定するファイル優先度設定部をさらに備えることを特徴とする付記１または２に記載のアクセス制御装置。
【０１９０】
（付記４）前記ファイル優先度設定部は、前記ファイル優先度管理部が記憶しているファイル優先度を用いて前記ファイル優先度を設定することを特徴とする付記３に記載のアクセス制御装置。
【０１９１】
（付記５）タスク毎の処理優先度であるタスク優先度に関するタスク情報を記憶して管理するタスク優先度管理部をさらに備え、
前記ファイル優先度管理部は、前記タスク優先度に対応するファイル優先度を前記タスク管理部から取得して記憶することを特徴とする付記１〜４のいずれか１つに記載のアクセス制御装置。
【０１９２】
（付記６）前記タスク優先度管理部は、前記タスク情報として前記タスク優先度と前記ファイル優先度との対応関係を予め記憶しておき、
前記ファイル優先度管理部は、前記タスクからの前記アクセス要求として前記ファイルの新規作成要求を受けた際に、前記タスク情報から前記タスク優先度に対応するファイル優先度を取得することを特徴とする付記５に記載のアクセス制御装置。
【０１９３】
（付記７）前記タスク優先度管理部は、前記タスクからアクセス要求を受けた際に当該アクセス要求に対応するタスクのタスク優先度を記憶しておき、
前記ファイル優先度管理部は、前記キューに格納中のアクセス要求を当該キューへ格納する際に用いたファイル優先度である現在使用中のカレント優先度、タスク優先度およびファイル優先度に基づいて、新たなカレント優先度を決定し、
前記キュー管理部は、前記キューに格納済みのアクセス要求を、前記ファイル優先度管理部で決定された新たなカレント優先度に応じたキューに移動させ、その後、前記キューへ格納していないアクセス要求を新たなカレント優先度に応じたキューに格納させることを特徴とする付記５または６に記載のアクセス制御装置。
【０１９４】
（付記８）前記キュー管理部は、前記キューへのアクセス要求の格納処理および前記キューからのアクセス要求のファイル側へ送出処理を停止した状態で、前記アクセス要求を前記キュー間で移動させることを特徴とする付記１〜７のいずれか１つに記載のアクセス制御装置。
【０１９５】
（付記９）タスクからのアクセス要求に対してファイル処理を行わせる際に、複数のキューの何れかに前記アクセス要求を格納してから所定の順番で前記アクセス要求毎のファイル処理を行わせるよう制御するアクセス制御方法において、
ファイル毎の処理優先度であるファイル優先度に関する情報を登録しておく優先度登録ステップと、
前記アクセス要求に対応するファイル優先度を取得する優先度取得ステップと、
前記各ファイル優先度に対応する処理優先度が設定された複数のキューのうち前記ファイル優先度に応じた何れかのキューに前記アクセス要求を格納させるアクセス要求格納ステップと、
前記各キューに格納されているアクセス要求を、前記各キューに設定された処理優先度に基づいた順番で取り出して、アクセス対象となっているファイル側へ送出するアクセス要求送出ステップと、
を含むことを特徴とするアクセス制御方法。
【０１９６】
（付記１０）タスクからのアクセス要求に対してファイル処理を行わせる際に、複数のキューの何れかに前記アクセス要求を格納してから所定の順番で前記アクセス要求毎のファイル処理を行わせるよう制御するアクセス制御方法をコンピュータに実行させるプログラムにおいて、
ファイル毎の処理優先度であるファイル優先度に関する情報を登録しておく優先度登録ステップと、
前記アクセス要求に対応するファイル優先度を取得する優先度取得ステップと、
前記各ファイル優先度に対応する処理優先度が設定された複数のキューのうち前記ファイル優先度に応じた何れかのキューに前記アクセス要求を格納させるアクセス要求格納ステップと、
前記各キューに格納されているアクセス要求を、前記各キューに設定された処理優先度に基づいた順番で取り出して、アクセス対象となっているファイル側へ送出するアクセス要求送出ステップと、
をコンピュータに実行させるプログラム。
【産業上の利用可能性】
【０１９７】
以上のように、本発明に係るアクセス制御装置およびアクセス制御方法は、マルチプロセッサシステムにおけるファイルへのＩ／Ｏアクセスの制御に適している。
【図面の簡単な説明】
【０１９８】
【図１】実施例１に係るＩ／Ｏアクセス制御の概念を説明するための説明図である。
【図２】本発明に係るＩ／Ｏ制御装置の実施例１の構成を示すブロック図である。
【図３】キュー管理部とＩ／Ｏ発行部の動作を説明するための図である。
【図４】実施例１に係るＩ／Ｏ制御装置の動作手順を示すフローチャートである。
【図５】実施例１に係るＩ／Ｏ制御装置のＩ／Ｏアクセス制御の処理手順を説明するための図（１）である。
【図６】実施例１に係るＩ／Ｏ制御装置のＩ／Ｏアクセス制御の処理手順を説明するための図（２）である。
【図７】実施例１に係るＩ／Ｏ制御装置のＩ／Ｏアクセス制御の処理手順を説明するための図（３）である。
【図８】本発明に係るＩ／Ｏ制御装置の実施例２の構成を示すブロック図である。
【図９】実施例２に係るＩ／Ｏ制御装置の動作手順を示すフローチャートである。
【図１０】実施例２に係るＩ／Ｏ制御装置のＩ／Ｏアクセス制御の処理手順を説明するための図（１）である。
【図１１】実施例２に係るＩ／Ｏ制御装置のＩ／Ｏアクセス制御の処理手順を説明するための図（２）である。
【図１２】本発明に係るＩ／Ｏ制御装置の実施例３の構成を示すブロック図である。
【図１３】実施例３に係るＩ／Ｏ制御装置の動作手順を示すフローチャートである。
【図１４】実施例３に係るＩ／Ｏ制御装置のＩ／Ｏアクセス制御の処理手順を説明するための図（１）である。
【図１５】実施例３に係るＩ／Ｏ制御装置のＩ／Ｏアクセス制御の処理手順を説明するための図（２）である。
【図１６】実施例３に係るＩ／Ｏ制御装置のＩ／Ｏアクセス制御の処理手順を説明するための図（３）である。
【図１７】実施例３に係るＩ／Ｏ制御装置のＩ／Ｏアクセス制御の処理手順を説明するための図（４）である。
【図１８】本発明に係るＩ／Ｏ制御装置の実施例４の構成を示すブロック図である。
【図１９】実施例４に係るＩ／Ｏ制御装置の動作手順を示すフローチャートである。
【図２０】実施例４に係るＩ／Ｏ制御装置のＩ／Ｏアクセス制御の処理手順を説明するための図（１）である。
【図２１】実施例４に係るＩ／Ｏ制御装置のＩ／Ｏアクセス制御の処理手順を説明するための図（２）である。
【図２２】本発明に係るＩ／Ｏ制御装置の実施例５の構成を示すブロック図である。
【図２３】実施例５に係るＩ／Ｏ制御装置の動作手順を示すフローチャートである。
【図２４】実施例５に係るＩ／Ｏ制御装置のＩ／Ｏアクセス制御の処理手順を説明するための図（１）である。
【図２５】実施例５に係るＩ／Ｏ制御装置のＩ／Ｏアクセス制御の処理手順を説明するための図（２）である。
【図２６】カレント優先度の決定処理手順を示すフローチャートである。
【図２７】実施例５に係るＩ／Ｏ制御装置のＩ／Ｏアクセス制御の処理手順を説明するための図（３）である。
【図２８】実施例５に係るＩ／Ｏ制御装置のＩ／Ｏアクセス制御の処理手順を説明するための図（４）である。
【図２９】実施例５に係るＩ／Ｏ制御装置のＩ／Ｏアクセス制御の処理手順を説明するための図（５）である。
【図３０】他の実施例に係るコンピュータシステムの構成を示すシステム構成図である。
【図３１】図３０に示したコンピュータシステムにおける本体部の構成を示すブロック図である。
【符号の説明】
【０１９９】
１  Ｉ／Ｏ制御装置
１１  ファイル優先度振り分け部
１２  ファイル優先度管理部
１３  キュー管理部
１４  Ｉ／Ｏ発行部
１５  ユーザ優先度指定部
１６  アクセス頻度管理部
１７  アクセス頻度収集部
１８  作成タスク優先度管理部
１９  作成タスク優先度収集部
２０  アクセスタスク優先度管理部
２１  アクセスタスク優先度収集部
３０  Ｉ／Ｏ装置
３１  タスク入力部
３２  補助記憶装置
１００  コンピュータシステム
１０１  本体部
１０２  ディスプレイ
１０２ａ  表示画面
１０３  キーボード
１０４  マウス
１０５  モデム
１０６  広域エリアネットワーク
１０７  公衆回線
１０８  フレキシブルディスク（ＦＤ）
１０９  ＣＤ−ＲＯＭ
１１１  他のコンピュータシステム（ＰＣ）
１１２  サーバ
１１３  プリンタ
１２０  ファイル優先度管理テーブル
１２１  ＣＰＵ
１２２  ＲＡＭ
１２３  ＲＯＭ
１２４  ハードディスクドライブ（ＨＤＤ）
１２５  ＣＤ−ＲＯＭドライブ
１２６  ＦＤドライブ
１２７  Ｉ／Ｏインターフェース
１２８  ＬＡＮインタフェース
１６１  ファイルアクセス時刻情報テーブル
１６２  ファイルアクセス頻度テーブル
１８０  タスク／ファイル対応テーブル
２００  タスク優先度管理テーブル
Ｃ１〜Ｃ１０  キュー
【図１】
2008234258.tif 000003
【図２】
2008234258.tif 000004
【図３】
2008234258.tif 000005
【図４】
2008234258.tif 000006
【図５】
2008234258.tif 000007
【図６】
2008234258.tif 000008
【図７】
2008234258.tif 000009
【図８】
2008234258.tif 000010
【図９】
2008234258.tif 000011
【図１０】
2008234258.tif 000012
【図１１】
2008234258.tif 000013
【図１２】
2008234258.tif 000014
【図１３】
2008234258.tif 000015
【図１４】
2008234258.tif 000016
【図１５】
2008234258.tif 000017
【図１６】
2008234258.tif 000018
【図１７】
2008234258.tif 000019
【図１８】
2008234258.tif 000020
【図１９】
2008234258.tif 000021
【図２０】
2008234258.tif 000022
【図２１】
2008234258.tif 000023
【図２２】
2008234258.tif 000024
【図２３】
2008234258.tif 000025
【図２４】
2008234258.tif 000026
【図２５】
2008234258.tif 000027
【図２６】
2008234258.tif 000028
【図２７】
2008234258.tif 000029
【図２８】
2008234258.tif 000030
【図２９】
2008234258.tif 000031
【図３０】
2008234258.tif 000032
【図３１】
2008234258.tif 000033