(57)【特許請求の範囲】
【請求項１】
所定の分解能のシステム時計の計時する時刻に従って、スケジューラにより、所定のプロセスが、前記システム時計が計時可能な第１のタイミングで起こされるようにスケジューリングするオペレーティングシステムにおいて、
前記第１のタイミングを、所定の時間だけ早い第２のタイミングに補正し、
前記第２のタイミングにおいて、前記プロセスを起こし、
前記プロセスを、その後、前記第１のタイミングと判定されるまで待機させる
ことを特徴とするプロセス管理方法。
【請求項２】
前記第１のタイミングになったか否かは、前記第１のタイミングから、前記システム時計の分解能に対応する所定の時間だけ減算された時刻と、現在の時刻との大小関係に基づいて判定される
ことを特徴とする請求項１に記載のプロセス管理方法。
【請求項３】
所定の分解能のシステム時計の計時する時刻に従って、スケジューラにより、所定のプロセスが第１のタイミングで起こされるようにスケジューリングするオペレーティングシステムにおいて、
前記第１のタイミングを、前記第１のタイミングより早く、かつ、前記第１のタイミングに最も近い、前記システム時計が計時可能な第２のタイミングに補正し、
前記第２のタイミングにおいて、前記プロセスを起こし、
前記プロセスを、その後、前記第１のタイミングになるまで待機させる
ことを特徴とするプロセス管理方法。
【請求項４】
前記第１のタイミングになったことは、前記第２のタイミングで起こされ、前記第２のタイミングと前記第１のタイミングの間の時間だけ実行時間を要する所定のダミー処理が終了したことにより認識される
ことを特徴とする請求項３に記載のプロセス管理方法。
【請求項５】
所定の分解能のシステム時計の計時する時刻に従って、スケジューラにより、所定のプロセスが第１のタイミングで起こされるようにスケジューリングするオペレーティングシステムにおいて、
前記第１のタイミングを、所定の時間だけ早い、前記分解能の前記システム時計が計時可能な第２のタイミングに補正し、
前記第２のタイミングにおいて、前記プロセスを起こし、
前記プロセスを、その後、前記第１のタイミングより早く、かつ、前記第１のタイミングに最も近い、前記分解能の前記システム時計が計時可能な第３のタイミングまで待機させ、
前記第３のタイミングになったとき、前記プロセスを、さらに、前記第１のタイミングになるまで待機させる
ことを特徴とするプロセス管理方法。
【請求項６】
前記第３のタイミングになったか否かは、前記第１のタイミングから、前記システム時計の分解能に対応する所定の時間だけ減算された時刻と、現在の時刻との大小関係に基づいて判定される
ことを特徴とする請求項５に記載のプロセス管理方法。
【請求項７】
前記第１のタイミングになったことは、前記第３のタイミングで起こされた、前記第３のタイミングと前記第１のタイミングの間の時間だけ実行時間を要する所定のダミー処理が終了したことにより認識される
ことを特徴とする請求項５に記載のプロセス管理方法。
【請求項８】
前記プロセスは、動画データまたは音声データの出力を制御する
ことを特徴とする請求項１乃至７のいずれかに記載のプロセス管理方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、例えば、パーソナルコンピュータ等のオペレーティングシステムに用いて好適な、所定のプロセスを所定のタイミングで実行させるプロセス管理方法に関する。
【０００２】
【従来の技術】
従来、例えば、マイクロソフト社のＷｉｎｄｏｗｓ（商標）や、アップル社のＳｙｓｔｅｍ７（商標）などのような、オペレーティングシステム（以下、ＯＳと略記する）は、図１２に示すように、スケジューラ部１１により、所定のプロセスが所定のタイミングで起こされるようにスケジューリングされ、プロセス管理部１２により、所定のプロセスが所定のタイミングで起こされるが、所定のプロセスを起こすタイミングをスケジューリングするスケジューラ部１１の時間的な精度は比較的低く、プロセスの応答時間が保証されていない。
【０００３】
このため、図１３に示すように、所定の時刻ｔ0に、所定のプロセスが起こされるようにスケジューリングがなされていたとしても、実際には、所定の時刻ｔ0において他のプロセスが実行中であり、ＣＰＵが占有されていることがある。このような場合、所定のプロセスは、他のプロセスの終了を待ってから起こされる。また、所定の時刻ｔ0より前に、他のプロセスの実行が終了してしまい、所定のプロセスが早めに起こされてしまうこともある。
【０００４】
即ち、プロセスが起こされるように指定された時刻ｔ0の前後の所定の時刻ｔ1乃至ｔ2の間の所定の時刻ｔ3において、プロセスが起こされる。
【０００５】
また、プロセスが起こされるタイミングは、システム時計により計時される時刻の刻みに対応している。従って、図１４に示すように、システム時計の時刻の刻みに対応する時刻ｔ1とｔ2の間の所定の時刻ｔ0にプロセスが起こされるようにスケジューリングされたとしても、システム時計はその精度が低く、時刻ｔ1とｔ2の間の時刻を計時することができないので、例えば、時刻ｔ0の後のシステム時計の時刻の刻みｔ2において、プロセスが起こされる。
【０００６】
その結果スケジューラの精度が低く、かつ、システム時計の分解能が低い場合、図１５に示すように、所定の時刻ｔ0においてプロセスが起こされるようにスケジューリングされたとしても、プロセスが実際に起こされるのは、例えば、所定の時刻ｔ1乃至ｔ3の間の時刻であって、システム時計の計時可能な所定の時刻となる。
【０００７】
【発明が解決しようとする課題】
このように、従来のプロセスの応答時間が保証されないＯＳにおいては、実時間処理が考慮されていないため、例えば、所定のプロセスを所定の時刻に起こすように指定したとしても、所定の時刻になっても、それまで実行中であった他の所定のプロセスが、ＣＰＵを占有し続ける場合がある。その結果、所定の時刻になっても所定のプロセスを起こすことができない場合がある課題があった。
【０００８】
また、システムに備えられたシステム時計の時計の刻み、即ち、システム時計の分解能に対応する計時可能な最小時間より短い時間単位で、プロセスの実行開始時刻を制御することができない課題があった。
【０００９】
従って、例えば、マルチメディアシステムを構築する場合に、画面に表示している動画に対応する音声をスピーカへ出力するタイミングを厳密に制御することができない課題があった。
【００１０】
このため、出力タイミングがずれることにより音声が中断したり、動画と音声が同期しなくなる場合がある。
【００１１】
本発明はこのような状況に鑑みてなされたものであり、所定のプロセスを、指定された所定の時刻に実行できるようにし、システム時計の分解能に対応する時間単位より短い時間単位で、プロセスの実行開始時刻を指定することができるようにするものである。これにより、例えば動画や音声などからなるマルチメディア情報などのような時間に依存した情報を扱うことができるようにするものである。
【００１２】
【課題を解決するための手段】
請求項１に記載のプロセス管理方法は、所定の分解能のシステム時計の計時する時刻に従って、スケジューラにより、所定のプロセスが、このシステム時計が計時可能な第１のタイミングで起こされるようにスケジューリングするオペレーティングシステムにおいて、第１のタイミングを、所定の時間だけ早い第２のタイミングに補正し、第２のタイミングにおいて、プロセスを起こし、プロセスを、その後、第１のタイミングと判定されるまで待機させることを特徴とする
【００１３】
また、第１のタイミングになったか否かは、第１のタイミングから、システム時計の分解能に対応する所定の時間だけ減算された時刻と、現在の時刻との大小関係に基づいて判定されるようにすることができる。
【００１４】
請求項３に記載のプロセス管理方法は、所定の分解能のシステム時計の計時する時刻に従って、スケジューラにより、所定のプロセスが第１のタイミングで起こされるようにスケジューリングするオペレーティングシステムにおいて、第１のタイミングを、第１のタイミングより早く、かつ、第１のタイミングに最も近い、システム時計が計時可能な第２のタイミングに補正し、第２のタイミングにおいて、プロセスを起こし、プロセスを、その後、第１のタイミングになるまで待機させることを特徴とする
【００１５】
第１のタイミングになったことは、第２のタイミングで起こされ、第２のタイミングと第１のタイミングの間の時間だけ実行時間を要する所定のダミー処理が終了したことにより認識されるようにすることができる。
【００１６】
請求項５に記載のプロセス管理方法は、所定の分解能のシステム時計の計時する時刻に従って、スケジューラにより、所定のプロセスが第１のタイミングで起こされるようにスケジューリングするオペレーティングシステムにおいて、第１のタイミングを、所定の時間だけ早い、この分解能のシステム時計が計時可能な第２のタイミングに補正し、第２のタイミングにおいて、プロセスを起こし、プロセスを、その後、第１のタイミングより早く、かつ、第１のタイミングに最も近い、この分解能のシステム時計が計時可能な第３のタイミングまで待機させ、第３のタイミングになったとき、プロセスを、さらに、第１のタイミングになるまで待機させることを特徴とする。
【００１７】
また、第３のタイミングになったか否かは、第１のタイミングから、システム時計の分解能に対応する所定の時間だけ減算された時刻と、現在の時刻との大小関係に基づいて判定されるようにすることができる。
【００１８】
また、第１のタイミングになったことは、第３のタイミングで起こされた、第３のタイミングと第１のタイミングの間の時間だけ実行時間を要する所定のダミー処理が終了したことにより認識されるようにすることができる。
【００１９】
また、プロセスは、動画データまたは音声データの出力を制御するようにすることができる。
【００２０】
【作用】
請求項１に記載のプロセス管理方法においては、所定のプロセスを起こすタイミングが、所定の時間だけ早いタイミングに補正され、補正されたタイミングに基づいて、所定のプロセスが起こされ、指定されたタイミングで所定の処理が実行される。従って、所定のプロセスは、所定の処理を、指定された所定の時刻に、システム時計の分解能に対応する精度で実行することができる。
【００２１】
請求項３に記載のプロセス管理方法においては、所定のプロセスを起こすタイミングが、システム時計の分解能に対応する精度で補正され、所定のプロセスが補正された所定のタイミングで起こされる。さらに、システム時計の分解能より高い分解能に対応する所定の精度で指定された所定のタイミングで、所定の処理が実行される。従って、所定のプロセスは、所定の処理を、指定された所定の時刻に、システム時計の分解能より高い所定の分解能に対応する精度で実行することができる。
【００２２】
請求項５に記載のプロセス管理方法においては、所定のプロセスが起こされるタイミングが、システム時計の分解能に対応する精度で補正され、補正されたタイミングに基づいて、所定のプロセスが起こされる。さらに、システム時計の分解能より高い所定の分解能に対応する精度で指定された所定のタイミングで、所定のプロセスが所定の処理を実行する。従って、システム時計の分解能より高い分解能に対応する精度で、指定された所定の時刻に、所定のプロセスを実行することができる。
【００２３】
請求項８に記載のプロセス管理方法においては、所定のプロセスにより、所定の動画データまたは音声データの出力が制御される。従って、動画データや連続した音声データを出力するタイミングをシステム時計の分解能より高い分解能に対応する精度で制御することができる。
【００２４】
【実施例】
図１は、本発明のプロセス管理方法を適用したパーソナルコンピュータ（以下、パソコンと略記する）の一実施例の構成を示すブロック図である。クロック発生回路１は、所定の時間間隔でクロック信号を発生し、ＣＰＵ２に供給するようになされている。
【００２５】
時計３は、クロック発生回路１より出力されるクロック信号に基づいて、所定の時間間隔で周期的にタイマ割り込みを発生する。メモリ４には、後述するＣＰＵ２の制御により、入出力装置５、バス６を介して、例えばフロッピーディスクまたはハードディスク等から読み込まれたシステムプログラムや、アプリケーションプログラム等がロードされるようになされている。
【００２６】
ＣＰＵ２は、クロック発生回路１より供給されるクロック信号に基づいて、メモリ４にロードされたシステムプログラム、またはアプリケーションプログラムを実行するようになされている。
【００２７】
図２は、図１のメモリ４に展開される、本発明のプロセス管理方法を応用したオペレーティングシステム（以下ＯＳと略記する）、および、メモリ４にロードされた所定のアプリケーションソフトウェアに基づいて、ＯＳにより生成されるプロセスの一実施例の構成を示す図である。
【００２８】
ＯＳを構成するスケジューラ部１１は、所定のプロセスを構成する補正部２１の目標時刻補正部２１ｃからの依頼に基づいて、このプロセスを起こすタイミングを制御するためのスケジュールを作成する。そして、このスケジュールに基づいて、ＯＳにより、所定のプロセスが所定のタイミングで起こされる。
【００２９】
プロセスを構成する補正部２１は、スケジュール補正部２１ａ、分解能補正部２１ｂ、および目標時刻補正部２１ｃより構成され、プロセスが所定の処理を実行するタイミングを補正するようになされている。
【００３０】
また、プロセスを構成するプロセス実行部２２は、補正部２１からの指示に従って、所定の処理を所定のタイミングで実行するようになされている。
【００３１】
次に、その動作を説明する。最初に、スケジューラ部１１により作成されたスケジュールに基づいて、所定の時刻に所定のプロセスが起こされ、所定のタイミングで所定の処理の実行が開始される場合の動作を、図３に示したフローチャート、および図４に示したタイムチャート、さらには図５に示したフローチャートを参照して説明する。
【００３２】
所定のプロセスの目標時刻補正部２１ｃは、このプロセスが起こされるべき目標時刻を、所定の時間だけ早い所定の時刻に補正し、このプロセスがこの目標時刻に起こされるよう、スケジューラ部１１に依頼する。
【００３３】
スケジューラ部１１は、目標時刻補正部２１ｃにより補正された目標時刻に基づいてスケジュールを作成する。そして、このスケジュールに基づいて、ＯＳにより、このプロセスが起こされる。
【００３４】
従って、所定のプロセスの目標時刻補正部２１ｃにおいては、図３に示したフローチャートのステップＳ１において、図４のタイムチャートに示すように、プロセスが所定の処理を実行すべき所定の時刻ｔ0より、所定の最大変動幅Δｔmaxを減算した仮のプロセス開始時刻（仮の目標時刻）ｔ1が設定され、この時刻ｔ1に基づいてスケジューリングするよう、スケジューラ部１１に対する要求がなされる。
【００３５】
その結果、所定のプロセスは、時刻ｔ1まで寝かされ（実行不可の状態にされ）、時刻ｔ1の前後の例えば時刻ｔ2になると、起こされる（所定の処理の実行待ちの状態にされる）。そして、ステップＳ２に進み、スケジュール補正部２１ａにおいて、スケジュール補正処理が実行される。図５は、このスケジュール補正処理を説明するためのフローチャートである。
【００３６】
図５に示したフローチャートのステップＳ１１において、プロセスの実行開始時刻ｔ0から、時計３の時計の刻みの間隔ｔｉｃｋを減算した時刻（ｔ0−ｔｉｃｋ）が、時計３により計時されている現在の時刻（ｔnow）より小さいか否かがスケジュール補正部２１ａにより判定される。この場合、スケジュール補正部２１ａにより、時計３が常に監視され、現在の時刻（ｔnow）が認識されるものとする。
【００３７】
スケジュール補正部２１ａにより、時刻（ｔ0−ｔｉｃｋ）が、現在の時刻ｔnowより大きいかまたは等しいと判定された場合、ステップＳ１１の処理が繰り返し実行される。一方、時刻（ｔ0−ｔｉｃｋ）が、現在の時刻ｔnowより小さいと判定された場合、処理を終了し、リターンする。リターンすると図３のステップＳ２におけるスケジュール補正処理が終了し、処理を終了する。
【００３８】
スケジュール補正部２１ａによるスケジュール補正処理が終了すると、補正部２１は、プロセス実行部２２に対して、所定の処理の実行を指示する。これにより、それまで実行待ちの状態にされていた所定の処理が、プロセス実行部２２により実行される。
【００３９】
このようにして、所定の時刻に実行するよう指示された所定の処理が、所定のプロセスにより所定の時刻に実行される。なお、この場合、所定の処理を実行するように指示可能な時刻は、時計３が計時する時刻の刻みの間隔を最小単位とする時刻である。
【００４０】
次に、所定の処理を実行するように指定する時刻を、時計３の分解能に対応する時刻の刻みの間隔より小さい時間単位で、任意の時刻を指定可能にする方法について、図６のフローチャート、図７のタイムチャート、および図８のフローチャートを参照して説明する。
【００４１】
まず、所定のプロセスの目標時刻補正部２１ｃは、このプロセスが起こされるべき時刻を、所定の処理を実行すべき時刻より早い所定の時刻に補正し、この時刻（目標時刻）に基づいてスケジューリングするよう、スケジューラ部１１に依頼する。
【００４２】
次に、スケジューラ部１１により、このプロセスをこの目標時刻に起こすよう指示するスケジュールが作成される。そして、このスケジュールに基づいて、ＯＳにより、このプロセスがこの時刻に起こされる。
【００４３】
即ち、図６に示したフローチャートのステップＳ２１において、所定のプロセスの目標時刻補正部２１ｃは、所定の処理を実行すべき時刻ｔ0から、最大変動幅Δｔmaxを減算することにより得られた時刻ｔ1を目標時刻とし、スケジューラ部１１にこのプロセスのスケジューリングを要求する。その結果、スケジューラ部１１により、時刻ｔ1になるまで寝かされる（実行不可の状態にされる）。この場合、演算された時刻ｔ1が、時刻ｔ0より早く、かつ、時刻ｔ0に最も近い、時計３が計時可能な時刻となるように最大変動幅Δｔmaxを設定するものとする。
【００４４】
そして、現在の時刻が時刻ｔ1になると、所定の処理を実行する所定のプロセスが起こされ、所定の処理の実行待ちの状態にされ、ステップＳ２２に進む。
【００４５】
ステップＳ２２においては、分解能補正処理が実行される。図８は、図６のステップＳ２２において実行される分解能補正処理の詳細を示すフローチャートである。まず、ステップＳ３１において、所定のプロセスを実行する時刻ｔ0から、現在の時刻（ｔnow）を減算した時間（ｔ0−ｔnow）に対応するカウント数（ＣＯＵＮＴ）、即ち、例えば所定のダミーのループ処理を、所定のカウント数だけ実行したときに要する時間が、時間（ｔ0−ｔnow）となるカウント数を設定する。この場合、現在の時刻はｔ1であるから、所定のダミーのループ処理を、所定のカウント数だけ実行したときに要する時間が、時間（ｔ0−ｔ1）となるカウント数を設定することになる。
【００４６】
次に、ステップＳ３２に進み、カウント数が値０より大きいか否かが判定される。カウント数が値０より大きいと判定された場合、ステップＳ３３に進み、カウント数から１だけ減算され、ステップＳ３２に戻り、ステップＳ３２，Ｓ３３の処理が繰り返し実行される。
【００４７】
ステップＳ３２，Ｓ３３における処理が、カウント数分だけ繰り返され、カウント数が、値０より小さいかまたは等しくなり、ステップＳ３２において、カウント数が値０より小さいかまたは等しいと判定されると、処理を終了し、リターンする。これにより、図６のステップＳ２２による分解能補正処理が終了する。
【００４８】
プロセス実行部２２は、分解能補正部２１ｂによる分解能補正処理が終了すると、所定の処理の実行を開始する。
【００４９】
これにより、所定のプロセスは、時計３が計時する時刻の刻みより小さい時間単位で指定された任意の時刻に、所定の処理を実行することができる。
【００５０】
次に、所定のプロセスの目標時刻補正部２１ｃが、このプロセスが起こされる目標時刻を早めに補正し、この目標時刻に基づいてスケジューリングするよう、スケジューラ部１１に依頼し、スケジューラ部１１により、この目標時刻に基づいたスケジュールが作成され、それに基づいて所定の時刻にこのプロセスが起こされ、このプロセスにより所定の処理が実行される時刻が、スケジュール補正部２１ａと分解能補正部２１ｂにより、所定の分解能に対応する精度で補正される場合の動作について、図９乃至図１１を参照して説明する。
【００５１】
所定のプロセスの目標時刻補正部２１ｃは、このプロセスが起こされる目標時刻を、このプロセスが所定の処理を実行すべき時刻ｔ0より早い所定の時刻ｔ1に補正し、時刻ｔ1に基づいて、スケジューリングするよう、スケジューラ部１１に依頼する。
【００５２】
スケジューラ部１１は、この目標時刻ｔ1に基づいて、このプロセスを起こすよう指示するスケジュールを作成する。その結果、このスケジュールに基づいて、ＯＳにより、このプロセスが所定のタイミングで起こされる。
【００５３】
即ち、図９のフローチャートに示すように、まず、ステップＳ４１において、所定のプロセスを起こす時刻ｔ1を、時刻ｔ0から最大変動幅Δｔmaxだけ減算した値として求め、それに基づいて、ＯＳにより所定のプロセスが時刻ｔ1になるまで寝かされる（実行不可の状態にされる）。時刻ｔ1になると、図１０に示すように、所定のプロセスがＯＳにより起こされ、所定の処理の実行待ちの状態にされる。
【００５４】
次に、図９のステップＳ４２に進み、起こされた所定のプロセスのスケジュール補正部２１ａにおいて、スケジュール補正処理が実行される。この処理は、図５を参照して上述した場合と基本的に同様であるので、その詳細な説明は省略するが、図１０の時刻ｔ1から時刻ｔ2までの間、スケジュール補正部２１ａにより、時計３が監視され、「ｂｕｓｙ  ｗａｉｔ」処理（時刻ｔ2まで待つ処理）が実行される。
【００５５】
時刻ｔ2になり、スケジュール補正部２１ａによるスケジュール補正処理が終了すると、図９のステップＳ４３に進み、分解能補正部２１ｂにより、分解能補正処理が行われる。この分解能補正処理は、図８を参照して上述した場合と基本的に同様であるので、その詳細な説明は省略するが、図１０の時刻ｔ2から、時刻ｔ0までの間、その間の時間に対応した回数だけ、例えばループ処理等のダミー処理が実行される。従って、このループ処理が終了した時刻が、丁度時刻ｔ0となる。ループ処理が終了すると、プロセス実行部２２は、所定の処理を実行させる。
【００５６】
このようにして、スケジュール補正部２１ａによるスケジュール補正処理と、分解能補正部２１ｂによる分解能補正処理が実行され、所定の処理が、指定した所定の時刻に正確に実行される。この場合、指定する時刻は、時計３が計時する時刻の刻みより小さい任意の時刻に設定することが可能であることは、図６乃至図８を参照して上述した場合と同様であり、１回のループ処理に要する時間が、指定可能な最小の時間単位となる。
【００５７】
図１１は、本発明のプロセス管理方法を応用した所定のＯＳ、およびアプリケーションソフトウェアを用いて、例えば、マルチメディアシステムを構築し、連続音声の再生を行うようにした場合のタイムチャートを示している。
【００５８】
まず、対象とするＯＳにおいて、図示せぬハードディスクまたはＣＤ−ＲＯＭ等の二次記憶装置から、入出力装置５を介して所定の決まった大きさの音声データを定期的に読み出し、それを再生する所定の再生処理を実行する再生プロセスが、所定の時刻に起こされるよう指定された場合、この再生プロセスが実際に起こされる時刻と、指定された時刻との間の誤差Δｔmaxを予め測定しておく。
【００５９】
例えば、所定の再生プロセスは、所定の時刻ｔ0に所定の音声を再生するものとする。まず、この再生プロセスの目標時刻補正部２１ｃ（図２）は、この再生プロセスが起こされる目標時刻を、この再生プロセスを再生すべき時刻ｔ0より早い所定の時刻に補正する。即ち、所定の再生プロセスを起こす目標時刻が、時刻ｔ0より、予め測定しておいた誤差Δｔmaxだけ早い、例えば時刻ｔ1に補正される。
【００６０】
そして、この目標時刻ｔ1に基づいて、スケジューラ部１１により、この再生プロセスを目標時刻ｔ1に起こすように指示するスケジュールが作成される。その結果、ＯＳにより、このスケジュールに基づいて、この再生プロセスが起こされる。即ち、ＯＳは、補正されたスケジュールに基づいて、この場合、時刻ｔ1になると、この再生プロセスを起こし、音声再生のための所定の再生処理の実行待ちの状態にする。
【００６１】
起こされた所定の再生プロセスを構成するスケジュール補正部２１ａは、時計３を監視しながら、現在の時刻が時刻ｔ2になるまで、「ｂｕｓｙ  ｗａｉｔ」処理を行う。この場合、上述したように、時刻ｔ2は、時刻ｔ0以前の時刻であり、かつ、時刻ｔ0に最も近い、時計３が計時可能な時刻の刻みに対応する時刻である。
【００６２】
時刻ｔ2になると、次に、図６乃至図８を参照して上述した場合と基本的に同様にして、分解能補正部２１ｂにより、分解能補正処理が実行される。即ち、時刻ｔ2から時刻ｔ0までの間の時間に対応する回数だけ、例えば所定のダミーのループ処理が実行される。従って、このループ処理が終了した時刻は、丁度、時刻ｔ0となっている。
【００６３】
分解能補正部２１ｂによる分解能補正処理としてのループ処理が終了すると、プロセス実行部２２は、所定の再生処理を実行する。
【００６４】
このようにして、所定の指定された時刻に、音声を再生するための所定の再生処理が実行される。図１１に示した、音声を再生しなければならないその他の時刻ｔ01乃至ｔ05においても上述した場合と同様にして、それより早い所定の時刻に所定のプロセスが起こされ、所定の音声を再生する所定の再生処理が、これらの時刻ｔ01乃至ｔ05のそれぞれにおいて、正確なタイミングで実行される。
【００６５】
その結果、所定の決められた大きさの音声データが、二次記憶装置から定期的に、所定のタイミングで、時間的な誤差がないように正確に読み出され、再生される。従って、再生された音声が、連続して聞こえるようにすることができる。
【００６６】
なお、上記実施例においては、音声の再生を行うプロセスを管理する方法について説明したが、動画の再生を行うプロセスに適用することも可能である。また、その他の処理を実行するプロセスに応用することも可能である。
【００６７】
【発明の効果】
請求項１に記載のプロセス管理方法によれば、所定のプロセスを起こすタイミングが、所定の時間だけ早いタイミングに補正され、補正されたタイミングに基づいて、所定のプロセスが起こされ、指定されたタイミングで所定の処理が実行されるようにしたので、所定のプロセスは、所定の処理を、指定された所定の時刻に、システム時計の分解能に対応する精度で実行することができる。従って、スケジューラの精度が低く、プロセスの応答時間が保証されないようなオペレーティングシステムにより、所定のプロセスが所定の時刻に起こされるように制御される場合においても、所定のプロセスにより、所定の処理が実行される時間的な誤差を最小限に抑制することが可能となる。
【００６８】
請求項２に記載のプロセス管理方法によれば、第１のタイミングになったか否かは、第１のタイミングからシステム時計の分解能に対応する所定の時間だけ減算された時刻と、現在の時刻との大小関係に基づいて判定されるようにしたので、システム時計の分解能に対応する所定の精度で、第１のタイミングを設定することができる。
【００６９】
請求項３に記載のプロセス管理方法によれば、所定のプロセスを起こすタイミングが、システム時計の分解能に対応する精度で補正され、所定のプロセスが補正された所定のタイミングで起こされる。さらに、システム時計の分解能より高い分解能に対応する所定の精度で指定された所定のタイミングで、所定の処理が実行されるようにしたので、所定のプロセスは、所定の処理を、指定された所定の時刻に、システム時計の分解能より高い所定の分解能に対応する精度で実行することができる。従って、システム時計の分解能が低いオペレーティングシステムにより、所定のプロセスが所定の時刻に起こされるように制御される場合においても、所定のプロセスにより、所定の処理が実行されるタイミングを、システム時計の分解能以上の精度で補正することが可能となる。
【００７０】
請求項４に記載のプロセス管理方法によれば、第１のタイミングになったことは、第２のタイミングで起こされ、第２のタイミングと第１のタイミングの間の時間だけ実行時間を要する所定のダミー処理が終了したことにより認識されるようにしたので、システム時計の分解能より高い分解能に対応する精度で、第１のタイミングを設定することができる。
【００７１】
請求項５に記載のプロセス管理方法によれば、所定のプロセスが起こされるタイミングが、システム時計の分解能に対応する精度で補正され、補正されたタイミングに基づいて、所定のプロセスが起こされる。さらに、システム時計の分解能より高い所定の分解能に対応する精度で指定された所定のタイミングで、所定のプロセスが所定の処理を実行するようにしたので、システム時計の分解能より高い分解能に対応する精度で、指定された所定の時刻に、所定の処理を実行することができる。従って、システム時計の分解能が低く、かつスケジューラの精度が低く、プロセスの応答時間が保証されないようなオペレーティングシステムにより、所定のプロセスが、所定の時刻に起こされるように制御される場合において、所定のプロセスにより、所定の処理が実行されるタイミングを、システム時計の分解能以上の精度で補正することが可能となる。
【００７２】
請求項６に記載のプロセス管理方法によれば、第３のタイミングになったか否かは、第１のタイミングから、システム時計の分解能に対応する所定の時間だけ減算された時刻と、現在の時刻との大小関係に基づいて判定されるようにしたので、システム時計の分解能に対応する所定の精度で、第１のタイミングを設定することができる。
【００７３】
請求項７に記載のプロセス管理方法によれば、第１のタイミングになったことは、第３のタイミングで起こされ、第３のタイミングと第１のタイミングの間の時間だけ実行時間を要する所定のダミー処理が終了したことにより認識されるようにしたので、システム時計の分解能より高い分解能に対応する精度で、第１のタイミングを設定することができる。
【００７４】
請求項８に記載のプロセス管理方法によれば、所定のプロセスにより、所定の動画データまたは音声データの出力が制御されるようにしたので、動画データや連続した音声データを出力するタイミングをシステム時計の分解能より高い分解能に対応する精度で制御することができる。従って、従来のプロセスの応答時間が保証されないようなオペレーティングシステムにおいて、マルチメディア情報等の時間に依存した情報を扱うことが可能となる。
【図面の簡単な説明】
【図１】本発明のプロセス管理方法を適用したパーソナルコンピュータの一実施例の構成を示すブロック図である。
【図２】図１のメモリ４に展開される本発明のプロセス管理方法を応用したオペレーティングシステム、およびアプリケーションソフトウェアに基づいて生成されるプロセスの一実施例の構成を示す図である。
【図３】図２のメモリ４に展開されたＯＳ、およびアプリケーションソフトウェアに基づいて実行される処理を説明するためのフローチャートである。
【図４】図２のメモリ４に展開されたＯＳ、およびアプリケーションソフトウェアに基づいて実行される処理のタイムチャートである。
【図５】図３のスケジュール補正処理の詳細な処理内容を説明するためのフローチャートである。
【図６】図２のメモリ４に展開されたＯＳ、およびアプリケーションソフトウェアに基づいて実行される処理を説明するためのフローチャートである。
【図７】図２のメモリ４に展開されたＯＳ、およびアプリケーションソフトウェアに基づいて実行される処理のタイムチャートである。
【図８】図６の分解能補正処理の詳細な処理内容を説明するためのフローチャートである。
【図９】図２のメモリ４に展開されたＯＳ、およびアプリケーションソフトウェアに基づいて実行される処理を説明するためのフローチャートである。
【図１０】図２のメモリ４に展開されたＯＳ、およびアプリケーションソフトウェアに基づいて実行される処理のタイムチャートである。
【図１１】図２のメモリ４に展開されたＯＳ、およびアプリケーションソフトウェアに基づいて、連続した音声データの出力制御が行われる場合のタイムチャートである。
【図１２】従来のオペレーティングシステムの一例の構成を示すブロック図である。
【図１３】従来のスケジューラの精度が低く、プロセスの応答時間が保証されないオペレーティングシステムにおいて、プロセスが起こされ、所定の処理が実行されるタイミングを示す図である。
【図１４】従来のシステム時計の分解能が低いオペレーティングシステムにおいて、プロセスが起こされ、所定の処理が実行されるタイミングを示す図である。
【図１５】従来のシステム時計の分解能が低く、かつスケジューラの精度が低い、プロセスの応答時間が保証されないオペレーティングシステムにおいて、プロセスが起こされ、所定の処理が実行されるタイミングを示す図である。
【符号の説明】
１  クロック発生回路
２  ＣＰＵ
３  時計
４  メモリ
５  入出力装置
６  バス
１１  スケジューラ部
１２  プロセス管理部
２１  補正部
２１ａ  スケジュール補正部
２１ｂ  分解能補正部
２１ｃ  目標時刻補正部
２２  プロセス管理部
【図１】
0003734042.tif 000002
【図２】
0003734042.tif 000003
【図３】
0003734042.tif 000004
【図４】
0003734042.tif 000005
【図５】
0003734042.tif 000006
【図６】
0003734042.tif 000007
【図７】
0003734042.tif 000008
【図８】
0003734042.tif 000009
【図９】
0003734042.tif 000010
【図１０】
0003734042.tif 000011
【図１１】
0003734042.tif 000012
【図１２】
0003734042.tif 000013
【図１３】
0003734042.tif 000014
【図１４】
0003734042.tif 000015
【図１５】
0003734042.tif 000016