JPH09251390A - プロセスのプライオリティ設定方法 - Google Patents

プロセスのプライオリティ設定方法

Info

Publication number
JPH09251390A
JPH09251390A JP5921496A JP5921496A JPH09251390A JP H09251390 A JPH09251390 A JP H09251390A JP 5921496 A JP5921496 A JP 5921496A JP 5921496 A JP5921496 A JP 5921496A JP H09251390 A JPH09251390 A JP H09251390A
Authority
JP
Japan
Prior art keywords
priority
processing
time
processes
execution
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.)
Withdrawn
Application number
JP5921496A
Other languages
English (en)
Inventor
Hajime Asano
肇 浅野
Yoshinari Mishima
善成 三島
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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP5921496A priority Critical patent/JPH09251390A/ja
Publication of JPH09251390A publication Critical patent/JPH09251390A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 繰返し部分を含む同一のプログラムコードか
ら生成される複数個のプロセスの実行の時間的解像度を
調整できる、プロセスのプライオリティ設定方法を提供
する。 【解決手段】 各プロセスにおける繰返し部分の実行時
間を計測するステップと、計測された実行時間の関数と
して、各プロセスのプライオリティを計算するステップ
と、このようにしてプライオリティを計算するステップ
を繰返し行なうステップとを含む。プライオリティ計算
をする場合、時間的解像度が均等になるように(9
0)、または時間的解像度が一定になるように(94)
計算することができる。計算されたプライオリティが許
容範囲外であることを検出して、CPU負荷を軽減する
適正な処置をとるようにしてもよい(96)。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、情報処理機器に
おいて、マルチタスク処理を使用して画像、音声および
通信などを用いたいわゆるマルチメディア処理を行なう
分野に関し、特に、そうしたマルチメディア処理を実現
する複数個のプロセスのプライオリティを調整するため
の方法に関する。
【0002】
【従来の技術】1つのCPUで複数個のプロセス(タス
ク)を実行する方式をマルチタスク処理と呼ぶ。マルチ
タスク処理では、並行して複数個のプロセスが実行され
るが、その場合に複数個のプロセスのスケジューリング
を管理するためのプロセス管理が必要である。このプロ
セス管理は、オペレーティングシステム(以下「OS」
と呼ぶ)が担当する。
【0003】図12に、従来のマルチプロセスにおける
一般的なプロセス管理の方式を示す。OSは、図12に
示すように、プロセスをユーザプロセスとシステムプロ
セスとに大別し、システムプロセスにユーザプロセスよ
りも高いプライオリティ(優先順位)を割当てるように
なっている。そして、たとえばユーザプロセスの中で
も、そのプライオリティを複数段階に分け、各プライオ
リティごとにプロセスをリストとして管理する。そし
て、プライオリティの高い方から順番にCPUの処理時
間を割当てる。
【0004】図12に示す例では、ユーザプロセスのプ
ライオリティはN−1からPusr−minまでの何段
階かに分けて管理されている。またシステムプロセス
も、プライオリティとしてPusr−min−1から0
までの何段階かに分けられている。なお図12に示す例
では、プライオリティとして割当てられている数字が少
ないほどプライオリティが高い。
【0005】既に述べたように、複数種類のプライオリ
ティのプロセスが存在した場合、OSはプライオリティ
の高い方から順番にCPUの処理時間を割当てる。また
同じプライオリティのプロセスが複数ある場合には、リ
ストにつながれた先頭の方から順に取出していく。
【0006】図13に、図12に示したような従来方式
を用いたOSの上で動作するアプリケーションプロセス
の構成を示す。アプリケーションプロセスとしては、た
とえばいわゆるマルチメディア処理の代表的なものとし
て、画像、音声および通信などを取扱うアプリケーショ
ンプロセスが考えられる。図13に示すように、これら
アプリケーションプロセスでは、まず一般的にデフォル
トのプライオリティをセットする処理を行ない(20
0)、さらに初期値設定などの前処理を行なう(12
6)。その後繰返して行なわれる処理単位である繰返し
処理130と、繰返し処理のループが終了したか否かを
判断するステップ144とを行ない、繰返し処理ループ
の終了条件が成立するまで処理130および144を繰
返して行なう。繰返し処理ループが終了した場合、アプ
リケーションの終了のための後処理を行ない(146)
プロセスを終了する。
【0007】図13に示されるように、従来の一般的な
方式では各プロセスのプライオリティは、ステップ20
0で設定されたデフォルトのプライオリティであり、こ
のプライオリティはプロセスの終了まで一定である。
【0008】これに関連して、特開平2−247737
号公報(発明の名称「プロセス優先度設定方法およびマ
ルチプロセス管理装置」、平成1年3月22日出願、平
成2年10月3日公開)に、画面上に表示される、各プ
ロセスごとの画面サイズに従って各プロセスのプライオ
リティを制御する手法が開示されている。これは、次の
ような思想に基づいている。
【0009】図14を算出して、全体画面210上に、
3つのウィンドウ212、214および216が表示さ
れているものとする。このように複数個のウィンドウが
表示される場合、ウィンドウが相互に重ねて表示される
のが通常である。図14に示す例では、ウィンドウ21
2が最も上に表示され、次にウィンドウ214が、最も
下部にウィンドウ216が表示されている。
【0010】ところで、このように複数個のウィンドウ
が表示されていたとしても、ユーザが処理を行なおうと
するプロセスに関連したウィンドウは1つであることが
通常である。そうした場合通常は、そのようにユーザに
とって最も関心のあるウィンドウが最も上部に表示され
るようなウィンドウ表示制御が行なわれている。図14
に示す例で、ウィンドウ214がユーザにとって特に関
心あるプロセスである場合には、このウィンドウを最も
上部に表示するように、すなわち図15に示されるよう
にウィンドウの表示制御を行なう必要がある。
【0011】このようにウィンドウの順序を指定する方
法としては、たとえばユーザが、自己の最も関心あるプ
ロセスに対応したウィンドウ上にマウスポインタを持っ
ていき、そのウィンドウ内でマウスクリックを行なう方
式などが用いられている。どのような方式を用いるにせ
よ、図15のようにウィンドウ214が最も上に表示さ
れるであろう。
【0012】すなわち、図14および図15を比較する
と、ユーザにとって最も興味あるプロセスに対応するウ
ィンドウはそのすべてが表示される一方、他のウィンド
ウは多くの場合その一部が他のウィンドウによって覆わ
れる。したがって、一般に面積が大きいウィンドウほ
ど、ユーザにとっては重要な処理であると考えられる。
そしてまたそのような処理は、他のプロセスよりも高い
プライオリティを与えられるべきである。
【0013】特開平2−247737号公報ではそのよ
うな目的に従って、図16に示す構成要素の組合せを提
案している。図16を参照して、この従来のマルチプロ
セス管理装置220は、すべてのウィンドウについて各
ウィンドウの管理情報と制御プロセスの特定情報を記憶
するウィンドウ管理部222と、ウィンドウ管理部22
2が管理するウィンドウをディスプレイに表示する表示
部226と、表示部226において表示される各ウィン
ドウの面積から、ウィンドウ管理部222に記憶されて
いる個々の制御プロセスのプライオリティ(優先度)を
算出する優先度算出部224と、優先度算出部224で
算出されたプライオリティを記憶する優先度記憶部22
8と、優先度記憶部228に記憶されているプライオリ
ティに従ってプロセスのスケジューリングを行なうプロ
セス管理部230とを備えている。
【0014】図16の構成において、ユーザの操作によ
ってウィンドウの大きさやオーバーラップの前後関係が
変更された場合を仮定する。この場合、ディスプレイに
おいて表示されるウィンドウの面積が変化する。各ウィ
ンドウの変化後の面積に従って、優先度算出部224
で、面積の大きいウィンドウを持つプロセスほど大きな
プライオリティが与えられるようにプライオリティを算
出し、このように算出されたプライオリティに従ってプ
ロセスのスケジューリングをプロセス管理部230によ
って行なう。
【0015】こうすることにより、ユーザにとって関心
の高いウィンドウの制御プロセスのプライオリティが自
動的に高くなるので、ユーザにとって関心の高いウィン
ドウ内の処理が優先的に実行されるという効果を奏す
る、とされている。
【0016】
【発明が解決しようとする課題】しかし、特開平2−2
47737号公報の方式では、画面サイズが、そのプロ
セスに対するユーザの関心の度合いを表わすものとして
利用されているが、この前提が必ずしも正確ではないと
いう問題がある。すなわち、たとえば図14に示す例で
は、最も上に存在するウィンドウはウィンドウ212で
あるが、その下に存在するウィンドウ214の面積とウ
ィンドウ212の面積とはそれほど相違がない。逆にウ
ィンドウ214の表示面積の方がウィンドウ212の面
積よりも大きくなる場合もあり得る。そうした場合、最
も上に位置するウィンドウ212に対する処理よりも、
その下に存在するウィンドウ214の処理により高い優
先順位が与えられてしまうという問題がある。
【0017】また、いわゆるマルチメディア処理に特有
な次のような問題があるが、上述の従来技術では、以下
に述べるような問題は解決できない。
【0018】たとえば図17を参照して、ある形式に従
って記録された映像を再生するためのプログラムコード
240を考える。このプログラムコード240から、複
数個のプロセス246、248および250を起動する
ことが可能である。これらプロセス246、248およ
び250を、同一のプログラムコードから起動されたプ
ロセスのまとまりとして、プロセスグループと呼ぶこと
にする。これらプロセス246、248および250
は、同一のプログラムコードから起動されたプロセスで
あり、従来はそのプライオリティは一定である。
【0019】ところが、これらプロセス246、248
および250によって表示される画面のサイズは、それ
ぞれのプロセスが取扱うデータによって異なってくる。
たとえば図17に示すように、画面260上に表示され
るウィンドウ262、264、266が、それぞれプロ
セス246、248および250に対応するものである
とする。それぞれが取扱うデータの相違により、プロセ
ス246のウィンドウ262が最も大きく、その次がプ
ロセス248に対応するウィンドウ264、そしてプロ
セス250に対応するウィンドウ266が最も小さい場
合が生じ得る。
【0020】こうした1つのプロセスグループに属する
プロセスでは、同一のプログラムコードを用いており、
しかも同じプライオリティで動作する。そのため各プロ
セスに割当てられるCPU時間はプロセスグループ内の
すべてのプロセスに対して均等となる。すると、次のよ
うな問題が生じ得る。
【0021】図17におけるウィンドウ266では、表
示すべきウィンドウが小さいため、一度の処理で取扱う
データ量は少ない。一方、ウィンドウ262では、ウィ
ンドウサイズが大きいために、一度の処理で取扱うべき
データ量は多くなる。処理すべきデータ量が小さけれ
ば、その処理に要する時間は短く、データ量が大きい場
合にはその処理に要する時間は長くなる。すると、たと
えばプログラムコード240が動画再生を行なうプログ
ラムである場合、たとえばウィンドウ266のように小
さなサイズのウィンドウで表示される動画は高速に、ウ
ィンドウ262のように大きなサイズで表示される動画
は低速で再生されてしまう。または、単位時間当りに表
示される画像の枚数が、ウィンドウサイズの小さいプロ
セスでは多くなり、ウィンドウサイズの大きいプロセス
では少なくなる。このように、単位時間当りにどれだけ
の処理が行なわれるか、をその処理の「時間的解像度」
と呼ぶことにする。
【0022】基本的には画像表示プロセスでは、ウィン
ドウサイズにかかわらず時間的解像度を均等にすること
が望ましい。こうした問題は、ウィンドウサイズのみに
依存する特開平2−247737号公報に開示の技術で
は正確には解決できない。
【0023】さらに、上記したような時間的解像度を、
同一のプロセスグループでは一定にしたいという場合が
ある。そうした場合、システムの状況によってはCPU
に過大な負荷がかかる結果、そのような要求に対応する
ことが困難な場合が生じ得る。CPU処理資源は有限で
あり、現に生じ得る処理要求を適切に制御しなければ、
CPUの処理能力に対してオーバフローを生じてしまう
問題がある。このような問題を解決するための手段は、
従来技術では提供されていなかった。
【0024】それゆえに請求項1に記載の発明の目的
は、複数個のプロセスを、各プロセスに割当てられたプ
ライオリティに基づく順番で実行可能な情報処理機器に
おいて、繰返し部分を含む同一のプログラムコードから
生成される複数個のプロセスの実行の時間的解像度を調
整することができる、プロセスのプライオリティ設定方
法を提供することである。
【0025】請求項2に記載の発明の目的は、各プロセ
スに割当てられたプライオリティに基づく順番で実行可
能な情報処理機器において、繰返し部分を含む同一のプ
ログラムコードから生成される複数個のプロセスの実行
の時間的解像度を、その処理量にかかわらず均一に保つ
ことができる、プロセスのプライオリティ設定方法を提
供することである。
【0026】請求項3に記載の発明の目的は、各プロセ
スに割当てられたプライオリティに基づく順番で実行可
能な情報処理機器において、繰返し分を含む同一のプロ
グラムコードから生成される複数個のプロセスの実行の
時間的解像度を、その処理量にかかわらず一定に保つこ
とができる、プロセスのプライオリティ設定方法を提供
することである。
【0027】請求項4に記載の発明の目的は、各プロセ
スに割当てられたプライオリティに基づく順番で実行可
能な情報処理機器において、繰返し部分を含む同一のプ
ログラムコードから生成される複数個のプロセスの実行
の時間的解像度をその処理量にかかわらず均一にまたは
一定になどと調整するとともに、情報処理機器の負荷を
適正に保つことができる、プロセスのプライオリティ設
定方法を提供することである。
【0028】
【課題を解決するための手段】請求項1に記載のプロセ
スのプライオリティ設定方法は、複数個のプロセスを、
各プロセスに割当てられたプライオリティに基づく順番
で実行可能な情報処理機器における、プロセスのプライ
オリティ設定方法である。この方法は、繰返し部分を含
む同一のプログラムコードから生成される複数個のプロ
セスにおいて実行される、繰返し部分の実行時間を計測
する実行時間計測ステップと、実行時間計測ステップに
より計測された、各プロセスにおける繰返し部分の実行
時間の関数として、各プロセスのプライオリティを再設
定するプライオリティ設定ステップと、実行時間計測ス
テップと、プライオリティ設定ステップとを、プロセス
の実行に伴って繰返すステップとを含む。
【0029】プロセスの繰返し処理部の実行時間を計測
し、その値の関数として各プロセスのプライオリティを
設定するので、関数を適切に選択することにより、プロ
セスの実行の時間的解像度を所望に調整できる。
【0030】請求項2に記載のプロセスのプライオリテ
ィ設定方法は、請求項1に記載のプロセスのプライオリ
ティ設定方法であって、プライオリティ設定ステップ
は、実行時間計測ステップにより計測された、各プロセ
スにおける繰返し部分の実行時間の、複数個のプロセス
のすべてにわたる平均値を算出するステップと、実行時
間計測ステップにより計測された、各プロセスにおける
繰返し部分の実行時間および算出された平均値の差と、
所定の係数との積を、各プロセスのプライオリティに加
算する加算ステップとを含む。
【0031】プロセスの繰返し処理部の実行時間を計測
し、測定された実行時間およびすべてのプロセスにわた
っての繰返し処理部の実行時間の平均値の差と、プライ
オリティに換算するための所定の係数との積をそのプロ
セスのプライオリティに加算することによって、各プロ
セスのプライオリティが設定される。そのため、あるプ
ロセスにおける繰返し処理部の実行時間が、全プロセス
における繰返し処理部の実行時間の平均値に近づくよう
に、プロセスの実行の時間的解像度を調整できる。
【0032】請求項3に記載のプロセスのプライオリテ
ィ設定方法は、請求項1に記載のプロセスのプライオリ
ティ設定方法であって、プライオリティ設定ステップ
は、実行時間計測ステップにより計測された、各プロセ
スにおける繰返し部分の実行時間および予め定められた
目標値の差と、所定の係数との積を、各プロセスのプラ
イオリティに加算する加算ステップを含む。
【0033】プロセスの繰返し処理部の実行時間を計測
し、測定された実行時間および予め定められた目標値の
差と、プライオリティに換算するための所定の係数との
積をそのプロセスのプライオリティに加算することによ
って各プロセスのプライオリティが設定される。したが
って、どのプロセスにおける繰返し処理部の実行時間
も、所定の目標値に近づくように、プロセスの実行の時
間的解像度を調整できる。
【0034】請求項4に記載のプロセスのプライオリテ
ィ設定方法は、請求項1から3のいずれかに記載のプロ
セスのプライオリティ設定方法であって、プライオリテ
ィ設定ステップにより再計算されたプライオリティが、
所定の範囲外の値となったことに応答して、情報処理機
器の処理負荷を軽減するための予め定める処理を行なう
ステップをさらに含む。
【0035】たとえば、プロセスの実行の時間的解像度
を所望に調整しようとしてプライオリティを再計算する
場合、情報処理機器の負荷が荷重になることがある。し
かし、再計算されたプライオリティが所定の範囲外の値
となったことに応答して、プロセス数を減らすようにユ
ーザに対して通知したり、実行中のプロセス数を自動的
に減少させたり、プロセスの実行方法を変更したりする
ことによって、情報処理機器の処理負荷を軽減させるこ
とができ、情報処理機器の負荷を適正に保つことができ
る。
【0036】
【発明の実施の形態】図1に、本願発明に従ってマルチ
プロセスのプライオリティを設定する方法を実施し、そ
のようにして設定されたプライオリティに従って複数の
プロセスの実行制御を行なう情報処理機器30の全体構
成を示す。図1を参照して、この情報処理機器30は、
優先順位に従って複数個のプロセスを実行するための実
行制御部32と、実行制御部32の下に実行される1つ
のプロセスであって、かつ複数個のプロセスグループ、
たとえばプロセスグループ38および40内の複数個の
プロセスの優先順位を、それぞれ各プロセス内の繰返し
処理部の実行時間によって設定するためのアプリケーシ
ョンマネージャー(APM)42とを含む。
【0037】図1に示す例では、第1のプロセスグルー
プ38は第1のプログラムコード34から起動される複
数個のプロセスを含む。第2のプロセスグループ40
は、第2のプログラムコード36から起動される複数個
のプロセスを含む。実行制御部32は、APM42によ
って、各プロセスグループ内のプロセスごとに計算され
るプライオリティに従って各プロセスの実行順序を制御
する。
【0038】図2に示すように、APM42は、プロセ
スを構成するアプリケーション50と通信し、アプリケ
ーション50の実行状態に応じて各プロセスのプライオ
リティを設定する。
【0039】図3に、アプリケーション50の構成の概
略を示す。時間的解像度調整の対象となるアプリケーシ
ョン50は、初期値の設定などを行なう前処理部60
と、デフォルトのプライオリティを設定する処理部62
と、繰返し処理の実態と繰返しの終了の判定とを含む繰
返し処理部64と、アプリケーションを終了する後処理
部66と、繰返し処理部64による個々の繰返しの処理
時間を計測する処理時間計測部68と、処理時間計測部
68によって計測された処理時間を記録するための処理
時間記録テーブル72と、処理時間計測部68によって
計測された処理時間の平均をAPM42に送信するため
のAPM通信部70とを含む。
【0040】図5に処理時間記録テーブル72の概略構
成を示す。図5に示すように処理時間記録テーブル72
は、処理時間記憶のための配列となっている。この例で
は配列要素の数はM個である。処理時間計測部68は、
あるプロセスに割当てられている処理時間内で繰返し処
理部が実行される場合の、所定期間内での各々の処理時
間を計測し、順次この配列に記憶させる。
【0041】図4に、APM42の概略構成を示す。A
PM42は、アプリケーション50との間で通信を行な
うためのアプリケーションプロセス通信部80と、送ら
れてきたプロセスのパラメータを管理するためのプロセ
スパラメータ管理部82と、アプリケーションプロセス
通信部80を介して送信されてきた計測時間を管理する
ための計測時間管理部86と、送られてきた計測時間の
内容から、適正なプライオリティを各プロセスごとに計
算するプライオリティ計算を制御するためのプライオリ
ティ計算制御部90と、プライオリティ計算制御部90
によって制御され、プロセスの時間的解像度を均等にす
る動作モード(以下「時間解像度均等モード」と呼ぶ)
の場合に、必要とされる計算と処理とを行なうための時
間解像度均等処理部92と、同じくプライオリティ計算
制御部90に制御され、時間的解像度を一定とする動作
モード(以下「時間解像度一定モード」と呼ぶ)の場合
に、必要とされる計算と処理とを行なうための時間解像
度一定処理部94と、時間解像度均等処理部92または
時間解像度一定処理部94によって計算されたプロセス
のプライオリティが、CPUに過大な負荷を与えるよう
な値かどうかを監視し、CPU負荷がオーバフローして
いる場合にはプライオリティを適正な値に変更した上で
出力するためのCPU負荷オーバフロー監視部96と、
このようにして計算された各プロセスごとのプライオリ
ティを含む、プロセスを管理するためのパラメータのテ
ーブルであるプロセス管理テーブル88と、プロセスパ
ラメータ管理部82により参照または更新される、プロ
セスグループを管理するためのテーブルであるグループ
管理テーブル84とを含む。CPU負荷オーバフロー監
視部96はまた、CPU負荷がオーバフローしていると
判定された場合には、アプリケーションプロセス通信部
80を通じて、プロセスにオーバフローを通知する処理
も行なう。
【0042】図6に、グループ管理テーブル84の概略
構成を示す。図6を参照して、グループ管理テーブル8
4は、複数個のグループを管理するためのグループID
フィールドと、各グループIDに対応するプログラム名
を記憶するフィールドと、各グループのプロセスに対し
て時間解像度均等処理を行なうか、時間解像度一定処理
を行なうかを指定する時間制御モードを記憶するフィー
ルドと、時間的解像度を一定にする場合の目標値となる
制御時間(CT)を各グループごとに記憶するためのフ
ィールドと、プロセス管理テーブル88内の、対応する
テーブルを指定するためのインデックスを記憶するフィ
ールドとを含んでいる。
【0043】図7に、図4に示すプロセス管理テーブル
88の概略構成を示す。図7の右側を参照して、プロセ
ス管理テーブル88は、それぞれグループ1、グループ
2〜グループMのプロセスを管理するためのパラメータ
を記憶する複数個のプロセス管理テーブル100、10
2、…、110を含む。
【0044】図7の左側に、たとえばグループ1のプロ
セス管理テーブル100の概略構成を示す。他のテーブ
ルも同様の構成である。図7の左側に示されるように、
グループ1のプロセス管理テーブル100は、プロセス
グループIDと、このグループに属するプロセスのID
を記憶するフィールドと、各プロセスごとに現在のプラ
イオリティ(Pnow)を記憶するためのフィールド
と、各プロセスごとに新しいプライオリティ(Pne
w)を記憶するためのフィールドと、各プロセスごとの
繰返し処理の平均処理時間(PTav)を記憶するため
のフィールドとを含んでいる。
【0045】図3のアプリケーション50の動作および
図4のAPM42の動作の詳細の詳細についてはフロー
チャートを参照して後述するが、ここではそれぞれの動
作の概略について説明する。再び図3を参照して、前処
理部60は、初期値などの設定処理を行なう。プライオ
リティ設定処理部62は、デフォルトのプライオリティ
を設定する。繰返し処理部60は、既に述べたような繰
返し処理と、繰返し処理の終了の判断とを含んでおり、
繰返し処理の終了が検出されるまでこの処理を繰返し実
行する。後処理部66は、繰返しの終了が検出される
と、アプリケーションを終了させる処理を行なう。
【0046】アプリケーション50では、処理時間計測
部68が、繰返し処理部64で行なわれる個々の繰返し
処理の処理時間を計測し、処理時間記録テーブル72内
の配列に順次記録していく。このプロセスに割当てられ
た測定サイクルが終了すると、この間に行なわれた繰返
し処理の平均処理時間が計算され、APM通信部70を
介してAPM42に送信される。
【0047】一方図4に示されるAPM42は次のよう
に動作する。アプリケーションプロセス通信部80を介
してアプリケーションプロセスからメッセージが送られ
てくると、プロセスパラメータ管理部82は、受信した
メッセージ中のパラメータとして含まれるグループID
に基づいてグループ管理テーブル84を参照し、該当す
るプロセス管理テーブル88のエントリを取得する。続
いて計測時間管理部86が、送信されてきたメッセージ
中に含まれる処理時間を、グループ管理テーブル80か
ら取得された対応のプロセス管理テーブル88内の処理
時間(PTav)のフィールドに代入する。
【0048】このようにしてプロセス管理テーブル88
内の各プロセスの処理時間PTavがすべて代入される
と、プライオリティ計算制御部90の制御によりプライ
オリティ計算が行なわれる。まず、プロセス管理テーブ
ル88内の各プロセスの処理時間PTavから、グルー
プ内のプロセスの平均処理時間GTavを次式により求
める。
【0049】
【数1】GTav=グループ内のプロセスのPTavの
合計/グループ内のプロセス数次に、図6に示されるグ
ループ管理テーブル84内のそのグループの時間制御モ
ードフィールドの内容に従って、時間解像度均等処理部
92または時間解像度一定処理部94のいずれかを選択
し、時間解像度が均等になるように、または一定になる
ように、各プロセスのプライオリティを計算する。計算
方法については後述する。こうして計算されたプライオ
リティはCPU負荷オーバフロー監視部96に与えられ
る。CPU負荷オーバフロー監視部96は、与えられた
各プロセスのプライオリティが予め定められた範囲内に
あるかどうかを確認する。予め定められた範囲内にすべ
てのプライオリティが入っている場合にはCPU負荷オ
ーバフロー監視部96はそれらのプライオリティの値
を、プロセス管理テーブル88内の対応するプロセスの
新プライオリティとして記入する。仮にプライオリティ
が所定範囲外の場合、CPU負荷オーバフロー監視部9
6はこのプライオリティを許容範囲内に変更してプロセ
ス管理テーブル88に記入する。またCPU負荷オーバ
フロー監視部96は、前述したようにアプリケーション
プロセス通信部80を介して、プロセスにオーバフロー
を通知する。各プロセスは、この状態通知に応答してオ
ーバフローの発生をユーザに通知するか、プロセス数を
自動的に減らすか、処理方法を変更するか、またはこれ
らに類する、システムの負荷を軽減する何らかの処置を
行なう。このようにして新プライオリティが決定される
と、これら新プライオリティがOSに通知され、現在の
プライオリティとしてプロセス管理テーブル88が更新
される。
【0050】図8および図9を参照して、アプリケーシ
ョンの処理の流れについて再度説明する。
【0051】まず、デフォルト・プライオリティと、自
分のプロセスグループID(プログラム名)と、プロセ
スIDと、時間制御モードとを、APM42に通知する
(120)。
【0052】次に、計測処理を終了する時間Tend を計
算する。この場合、プロセスにおいて繰返し処理の各処
理時間を測定する周期として予めTint が定められてい
るものとする。すると、計測終了時間Tend はnow +T
int で計算できる。さらに、後に行なう処理時間記録テ
ーブル72内の配列への処理時間の代入の準備として、
指標index に0を代入する(124)。
【0053】そして、前処理126を行なった後、繰返
し処理部に入る。繰返し処理部の最初では、計測開始時
刻を変数start に代入し(128)、繰返し処理を行な
った後(130)、計測終了時刻を変数end に代入する
(132)。
【0054】図9を参照して、この2つの時刻end とst
art との差を、処理時間記録テーブル72内の処理時間
配列TimeTable[index ]に記憶する。これを式で表わ
すと次のようになる。
【0055】
【数2】TimeTable[index ]=end −start そして計測終了時刻end がステップ124で予め計算さ
れた計測終了時刻Tend を超えたかどうかを判定し(1
36)、まだ計測終了時刻に到達していなければさらに
処理ループが終了したか否かを判定し(144)、処理
ループが終了していなければ図8のステップ128に制
御を戻す。処理ループが終了していれば後処理を行ない
(146)、アプリケーションを終了する。
【0056】このようにして計測終了時刻Tend がくる
と、制御はステップ136から図9のステップ138に
分岐する。まず、処理時間配列TimeTable[index ]の
平均値PTavを計算し(138)、APM42に対し
て、このように計算された平均処理時間PTavと、グ
ループIDおよびプロセスIDとを含むメッセージを送
る(140)。そして再びTend に計測周期Tint を加
算して新たな計測終了時刻Tend を計算するとともにin
dex に0を代入して(142)、制御をステップ144
に進める。
【0057】このようにして、何回かの計測サイクルで
処理時間の平均値PTavがいくつか計測され、APM
42に送られる。APM42は、こうして送られてきた
平均値PTavをプロセス管理テーブル88に記入す
る。
【0058】図10に、APM42の機能をソフトウェ
アにより実現する場合の、ソフトウェアの処理の流れを
フローチャートとして示す。まず、各プロセスからメッ
セージが送信されてくるのを待つ(150)。メッセー
ジを受信したら、メッセージ中のパラメータであるグル
ープIDからグループ管理テーブル84(図4参照)を
参照し、該当するプロセス管理テーブル88を取得する
(152)。
【0059】次に、受信したメッセージ中のプロセスI
Dに該当するプロセス管理テーブルの処理時間(PTa
v)のフィールドに、メッセージ中の処理時間PTav
を代入する(154)。
【0060】プロセス管理テーブルの処理時間が全部揃
ったか否かを判定し(156)、すべて揃っていない場
合にはステップ166に進んで、このAPMプロセス自
体を終了するか否かを判定する。終了通知がない場合に
は再びステップ150に制御を戻して、次のプロセスメ
ッセージを待って上述の処理を繰返す。
【0061】一方、プロセス管理テーブルの処理時間が
すべて揃ったときには、制御はステップ156からステ
ップ158に進む。まず、プロセスグループの平均処理
時間GTavを既に述べたように計算する(158)。
そして、この平均処理時間GTavを用いて後述する処
理によりプライオリティ計算部の処理を実行し、その結
果を該当プロセス管理テーブルのPnew のフィールドに
代入する(160)。プライオリティ計算部処理の詳細
については図11を参照して後述する。
【0062】次に、プライオリティ許容範囲チェック処
理を行なって(162)、計算されたプライオリティが
許容範囲内にあるかどうかを判定する。判定の結果すべ
てのプライオリティが許容範囲にあればこのようにして
計算された新たなプライオリティPnew を現在のプライ
オリティPnow に代入する(164)。また、許容範囲
外のプライオリティがある場合には、そのプライオリテ
ィを許容範囲内の値に修正した後、このようにして修正
された新たなプライオリティPnew を現在のプライオリ
ティPnow に代入する。そして、このようにして設定さ
れたプライオリティPnow を新たにOSに対して通知す
ることにより、プロセスのプライオリティの実質的な変
更が行なわれる。この後制御はステップ166に進む。
【0063】図11に、図4に示すプライオリティ計算
制御部90、時間解像度均等処理部92、時間解像度一
定処理部94の処理をソフトウェアで実現した場合の制
御の流れを示す。
【0064】まず速度管理モードが時間解像度一定モー
ドであるか、時間解像度均等モードであるかについての
判定を行なう(170)。時間解像度一定モードであれ
ばステップ172に示される計算を行なってPnew を計
算し、時間解像度均等モードであればステップ174に
示される計算を行なって新たなプライオリティPnewを
計算する。
【0065】そしてこのようにして計算されたPnew を
プロセス管理テーブル88の該当するプロセスのPnew
のフィールドに代入し制御をメインプログラムに戻す。
【0066】なお、ステップ172および174に示す
定数値α、βはそれぞれシステムによって決定される定
数であって、プライオリティ計算の際の換算係数であ
る。またCTは、各プロセスごとに予め定められた、時
間解像度一定モードでの、固定すべき処理時間の目標値
である。
【0067】以上のように本願発明によれば、実際の処
理時間を測定し、その関数としてプライオリティ計算を
することでプロセスの時間解像度を調整することができ
る。そのため、画面サイズが異なっている場合でも、画
像処理の時間解像度を適切な値に調整することができ、
適正な質の動画像転換を実現することができる。
【0068】時間的解像度を調整する際には、グループ
内のプロセスの時間的解像度を均一にしたり、一定に保
つように制御することができる。これにより、同じプロ
グラムであっても、データの違いにより時間的解像度が
異なることなく、適正な質の動画像転換や、音声処理、
通信処理などを行なうことができる。
【0069】また、計算されたプライオリティが予め定
められた許容範囲内にない場合には、CPUが過負荷と
なっていることが検出され、負荷を軽減するための適切
な処理が行なわれる。
【図面の簡単な説明】
【図1】本発明に係る方法を実施するための情報処理機
器の概略構成を示す図である。
【図2】アプリケーションとAPMとの関係を示す図で
ある。
【図3】アプリケーションの概略構成を示す図である。
【図4】APMの概略構成を示すブロック図である。
【図5】アプリケーションの処理時間記録テーブルの構
成を示す図である。
【図6】APM内のグループ管理テーブルの構成を示す
図である。
【図7】APM内のプロセス管理テーブルの概略の構成
を示す図である。
【図8】アプリケーションプログラムの制御の流れを示
すフローチャートである。
【図9】アプリケーションプログラムの制御の流れを示
すフローチャートである。
【図10】APMを実現するソフトウェアの制御の流れ
を示すフローチャートである。
【図11】プライオリティ計算処理部をソフトウェアで
実現する場合の制御の流れを示すフローチャートであ
る。
【図12】従来のOSによるプライオリティ管理の方式
を模式的に示す図である。
【図13】従来のOSの下で動作するアプリケーション
プログラムの制御の流れを示すフローチャートである。
【図14】従来技術の思想を説明するための模式図であ
る。
【図15】従来技術の思想を説明するための模式図であ
る。
【図16】従来技術によるマルチプロセス管理装置の概
略ブロック図である。
【図17】従来技術の問題点を説明するための模式図で
ある。
【符号の説明】
32 実行制御部 42 アプリケーションマネージャー 50 アプリケーション 68 処理時間計測部 72 処理時間記録テーブル 84 グループ管理テーブル 86 計測時間管理部 88 プロセス管理テーブル 90 プライオリティ計算制御部 92 時間解像度均等処理部 94 時間解像度一定処理部 96 CPU負荷オーバフロー監視部

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 複数個のプロセスを、各プロセスに割当
    てられたプライオリティに基づく順番で実行可能な情報
    処理機器における、プロセスのプライオリティ設定方法
    であって、 繰返し部分を含む同一のプログラムコードから生成され
    る複数個のプロセスにおいて実行される、前記繰返し部
    分の実行時間を計測する実行時間計測ステップと、 前記実行時間計測ステップにより計測された、各プロセ
    スにおける前記繰返し部分の実行時間の関数として、各
    プロセスのプライオリティを再設定するプライオリティ
    設定ステップと、 前記実行時間計測ステップと、前記プライオリティ設定
    ステップとを、プロセスの実行に伴って繰返すステップ
    とを含む、プロセスのプライオリティ設定方法。
  2. 【請求項2】 前記プライオリティ設定ステップは、 前記実行時間計測ステップにより計測された、各プロセ
    スにおける前記繰返し部分の実行時間の、すべての前記
    複数個のプロセスにわたる平均値を算出するステップ
    と、 前記実行時間計測ステップにより計測された、各プロセ
    スにおける前記繰返し部分の実行時間および算出された
    前記平均値の差と、所定の係数との積を、各前記プロセ
    スのプライオリティに加算する加算ステップとを含む、
    請求項1に記載のプロセスのプライオリティ設定方法。
  3. 【請求項3】 前記プライオリティ設定ステップは、前
    記実行時間計測ステップにより計測された、各プロセス
    における前記繰返し部分の実行時間および予め定められ
    た目標値の差と、所定の係数との積を、各前記プロセス
    のプライオリティに加算する加算ステップを含む、請求
    項1に記載のプロセスのプライオリティ設定方法。
  4. 【請求項4】 前記プライオリティ設定ステップにより
    再計算されたプライオリティが、所定の範囲外の値とな
    ったことに応答して、情報処理機器の処理負荷を軽減す
    るための予め定める処理を行なうステップをさらに含
    む、請求項1から3のいずれかに記載のプロセスのプラ
    イオリティ設定方法。
JP5921496A 1996-03-15 1996-03-15 プロセスのプライオリティ設定方法 Withdrawn JPH09251390A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5921496A JPH09251390A (ja) 1996-03-15 1996-03-15 プロセスのプライオリティ設定方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5921496A JPH09251390A (ja) 1996-03-15 1996-03-15 プロセスのプライオリティ設定方法

Publications (1)

Publication Number Publication Date
JPH09251390A true JPH09251390A (ja) 1997-09-22

Family

ID=13106923

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5921496A Withdrawn JPH09251390A (ja) 1996-03-15 1996-03-15 プロセスのプライオリティ設定方法

Country Status (1)

Country Link
JP (1) JPH09251390A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012127596A1 (ja) * 2011-03-19 2012-09-27 富士通株式会社 端末装置、プロセス管理方法、およびプロセス管理プログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012127596A1 (ja) * 2011-03-19 2012-09-27 富士通株式会社 端末装置、プロセス管理方法、およびプロセス管理プログラム
CN103443770A (zh) * 2011-03-19 2013-12-11 富士通株式会社 终端装置、进程管理方法以及进程管理程序
JP5783246B2 (ja) * 2011-03-19 2015-09-24 富士通株式会社 端末装置、プロセス管理方法、およびプロセス管理プログラム
US9424085B2 (en) 2011-03-19 2016-08-23 Fujitsu Limited Recognizing a process group that is related to an application
CN103443770B (zh) * 2011-03-19 2017-12-12 富士通株式会社 终端装置、进程管理方法以及进程管理程序

Similar Documents

Publication Publication Date Title
JP3349055B2 (ja) ビデオ・リクエストのスケジュール化方法及び装置
US20060206900A1 (en) Apparatus and program for controlling loads
US8374203B2 (en) Apparatus and method to achieve a constant sample rate for multiplexed signals with frame boundaries
US8397239B2 (en) Virtual computer systems and computer virtualization programs
US8499303B2 (en) Dynamic techniques for optimizing soft real-time task performance in virtual machine
US8312229B2 (en) Method and apparatus for scheduling real-time and non-real-time access to a shared resource
US6542692B1 (en) Nonlinear video editor
JP3547976B2 (ja) プロセッサ・リソース管理装置
JPH10283211A (ja) マルチシステム環境のプロセッサ・リソース管理方法
EP3758325A1 (en) Traffic limiting method and system
US6823380B1 (en) System and method providing continual rate requests
US20070061464A1 (en) System and method for providing differentiated service by using category/resource scheduling
JPH1078937A (ja) 複数コンピュータ間の業務分散システム、業務分散方法 および業務分散プログラムを記録した記録媒体
JPH09251390A (ja) プロセスのプライオリティ設定方法
US8392578B1 (en) Method and apparatus for controlling access to a website
CN110727518B (zh) 一种数据处理方法及相关设备
JP3975795B2 (ja) タスク管理装置、同方法およびプログラム
JP2010020786A (ja) リソースの分担管理用装置
JP3189874B2 (ja) I/oリクエスト発行スケジュール装置
JPH06202884A (ja) マルチプログラム実行管理方法
US20230125350A1 (en) Video stream transmission control method and apparatus, device, and medium
US20220121459A1 (en) Keypress event smoothener and predictor
US20050144263A1 (en) Server, data processing system, and method of data processing
JP3169778B2 (ja) リアルタイムオペレーティングシステム
JPH05173807A (ja) ジョブスケジュール方式

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20030603