JP3588485B2 - プロセススケジューリング方式 - Google Patents

プロセススケジューリング方式 Download PDF

Info

Publication number
JP3588485B2
JP3588485B2 JP20242194A JP20242194A JP3588485B2 JP 3588485 B2 JP3588485 B2 JP 3588485B2 JP 20242194 A JP20242194 A JP 20242194A JP 20242194 A JP20242194 A JP 20242194A JP 3588485 B2 JP3588485 B2 JP 3588485B2
Authority
JP
Japan
Prior art keywords
interactive
priority
time
execution queue
cpu
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.)
Expired - Fee Related
Application number
JP20242194A
Other languages
English (en)
Other versions
JPH0869386A (ja
Inventor
直人 青島
治夫 木村
克仁 薬袋
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP20242194A priority Critical patent/JP3588485B2/ja
Priority to US08/519,087 priority patent/US5774718A/en
Publication of JPH0869386A publication Critical patent/JPH0869386A/ja
Application granted granted Critical
Publication of JP3588485B2 publication Critical patent/JP3588485B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • G06F11/3423Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time where the assessed time is active or idle time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Description

【0001】
【産業上の利用分野】
本発明は複数のプロセス、またはジョブにCPU時間を分割して割り当てる機能を有する電子計算機システムに係わり、更に詳しくは対話形式のプロセスに優先的にCPU時間を割り当てることができる、電子計算機システムにおけるプロセススケジューリング方式に関する。
【0002】
【従来の技術】
対話形式のプロセスやバッチ処理型プロセスなど、様々な種類のプロセスに対してCPU時間を分割して割り当て、並行処理を行う電子計算機システムにおいては、当然のこととしてできるだけCPUを効率的に使用し、また特に対話形式のプロセスに関しては、例えばオペレータのキーボードによる入力に対してできるだけ早急なレスポンスを行うことができるように、プロセス群のスケジューリングを行う必要がある。
【0003】
図21は従来のプロセス優先度制御方式を説明するブロック図である。同図において、プロセス優先度制御部1は後述するようにプロセスの優先度の制御を行い、プロセス選択部2はその優先度制御の結果に応じてプロセスを選択し、CPU割り当て部3はプロセスの切り替え時において選択されたプロセスに、例えばタイムスライスと呼ばれる一定のCPU時間を割り当てて、プロセスの実行を行わせるものである。
【0004】
図22は図21におけるプロセス優先度制御部の詳細構成ブロック図である。同図において、プロセス優先度制御部はプロセス切り替え時に起動され、後述するフローチャートに従って優先度を決定する優先度決定部4、プロセスの実行と並行して動作し、各プロセスに対応するタイムスライスと呼ばれるCPU時間の監視を行うタイムスライス監視部5、および優先度に従ってプロセスがキューイングされる実行キュー6によって構成されている。
【0005】
図23は優先度決定部によるプロセススケジューリング処理のフローチャートである。同図において処理が開始されると、まずステップ(S)1においてプロセス切り替えの原因が判定され、その原因がタイムスライス切れである時にはS2で切り替えの前に実行されていたプロセスの優先度が下げられ、切り替えの原因がスリープである時にはS3で切り替えの前に実行されていたプロセスの優先度が上げられる。プロセス切り替えの原因がその他のものである時には、切り替えの前に実行されていたプロセスの優先度は変更されず、S4の処理に移行する。
【0006】
S4では切り替えの前に実行されていたプロセスに対してタイムスライスの再設定が行われ、S5で切り替え前のプロセスがその優先度に従って図22の実行キュー6にキューイングされ、S6で切り替え後のプロセスに対してタイムスライス監視部5が起動されて処理を終了する。タイムスライス監視部5は、プロセスの実行が進むと共にタイムスライスを減少させ、タイムスライスが0となった時点でそのプロセスの実行を中断させて、プロセスの切り替えを行わせる。
【0007】
【発明が解決しようとする課題】
従来は図23で説明したように、プロセス切り替えの原因がタイムスライス切れであるか、スリープであるかなどに応じて、プロセスの優先度が制御されていた。しかしながら、プロセスが対話形式であるか否かの判定を行っていなかったために、対話形式のプロセスにCPUを優先的に割り当てることができないと言う問題点があった。
【0008】
すなわち、例えばオペレータからのキーボードによる入力に応答してまたすぐに入力待ちになるような対話形式のプロセスが存在する場合、システムの負荷が大きくなり、個々のプロセスに割り振られるCPU時間が不足してくると、対話形式のプロセスに対してのCPUの割り当て時間も減少するために、入力に対する応答、すなわちレスポンスが悪くなると言う問題点があった。
【0009】
このようなレスポンスの悪化は、例えばワープロやエディタのように入出力の多発するプログラムを実行する場合にユーザのいらつきの原因となる。
本発明は、例えばプロセス切り替えの時点でそのプロセスが対話形式であるか否かを判定し、対話形式と判定されている間はCPUを優先的に割り当てることにより、対話形式のプロセスにおけるオペレータのキーボード入力に対するレスポンスを悪化させないことを目的とする。
【0010】
【課題を解決するための手段】
図1は本発明の原理構成ブロック図である。同図は、複数のプロセスを時分割形式で処理する計算機システムにおけるプロセススケジューリング方式の原理構成ブロック図である。
【0011】
図1において、プロセス別動作状況監視手段10は複数のプロセスのそれぞれの動作状況を監視するものであり、またプロセス型判定手段11は、プロセス別動作状況監視手段10の監視結果に基づいて、それぞれのプロセスを対話型と非対話型とに分類するものであり、プロセス型判定手段11によって対話型に分類されたプロセスに対しては計算機システムのCPUが優先的に割り当てられる。
【0012】
【作用】
本発明においては、例えばプロセス別動作状況監視部によって、それぞれのプロセスに対してCPU使用時間の積算値(連続CPU使用時間)が監視される。そして例えばプロセスの切り替え時において、図22における説明と同様にプロセスを実行キューにキューイングする前に、プロセスの型の判定が行われる。
【0013】
プロセスの型が対話型であるか非対話型であるかを判定する基準は、この連続CPU使用時間がある一定値を越えているか否かであり、越えている場合にはそのプロセスは非対話型プロセスに、越えていない場合には対話型プロセスに分類される。
【0014】
対話型プロセスは、一般にオペレータのキーボード入力における入力間隔が長いことなどの原因のために、長時間のスリープを行う場合が多い。そこでプロセス別動作状況監視手段1によって、それぞれのプロセスがスリープしている時間、すなわちスリープ時間の監視が行われる。このスリープ時間がある一定値を越えた場合には、連続CPU使用時間は0クリアされる。
【0015】
そのため、一般にしばしば長い時間のスリープをし、かつ連続CPU使用時間が比較的小さな値に保たれる可能性が大きいプロセスは対話型と分類され、この対話型プロセスに対して例えば対話型プロセス優先度制御部によって非対話型プロセスよりも大きな優先度を与えることによって、対話型プロセスに対するCPU時間の割り当てが非対話型プロセスに比較して優先的に行われることになる。
【0016】
【実施例】
図2は本発明のプロセススケジューリング方式を用いる計算機システムの全体構成ブロック図である。同図において、オペレータ15は端末16を用いることにより、主計算機17において対話形式のプロセス、または、対話形式ではないプロセスを実行することができる。また副計算機18側からは、通信回線19を使用して、対話形式ではないプロセスの実行が主計算機17に依頼される。
【0017】
主計算機17及び副計算機18は共にCPU、メモリ、ディスク機器、タイマ等から構成さる。ここでプロセスとはCPUが複数のプログラムを実行する際の処理単位のことである。
図3はプロセススケジューリングの実行例の説明図である。横軸は経過時間を示し、時間と共にプロセスの切り替えが発生し、各プロセスが時分割方式で実行される様子が示されている。同図においてプロセス2はスリープを起こすプロセス、その他のプロセスはスリープを起こさないプロセスであり、▲1▼はタイムスライス切れによるプロセス切り替え、▲2▼は実行中のプロセスがスリープを開始したことによるプロセス切り替え、▲3▼はスリープが終了したことによるプロセス切り替えの発生を示す。
【0018】
一般に対話型プロセスでは、比較的長い時間のスリープが行われることが多い。すなわち、例えばエディタのように、比較的長時間のスリープにおいてオペレータの入力を待ち、入力があった時点でそれに対する短い処理を行うようなプロセスが対話型プロセスの典型的な例である。これに対してコンパイラのように、実行中のスリープとしてディスク装置に対するアクセスのように時間の短いスリープしか行わないようなプロセスが、非対話型プロセスの典型的な例である。
【0019】
図4は本発明のプロセススケジューリング方式の実施例の構成ブロック図である。同図において、プロセス別動作状況監視部21は時分割で実行される個々のプロセスに対して、連続CPU使用時間とスリープ時間を監視し、その結果をプロセス別動作状況表22に記録する。プロセス型判定部23は、プロセス別動作状況表22に記録された連続CPU使用時間の値に基づいて、その値が一定値以下のプロセスは対話型プロセスに分類し、一定値を越えるプロセスは非対話型プロセスに分類する。これらの処理において時間に関する情報はタイマより得られることは言うまでもない。また、各部はCPUで実行されるプログラムであって、表はメモリ上に配置される。
【0020】
非対話型プロセス優先度制御部24は、プロセス型判定部23によって非対話型と判定されたプロセスの優先度を制御するものであり、対話型プロセス優先度制御部25は、対話型プロセスと判定されたプロセスの優先度が非対話型プロセス優先度制御部24によって非対話型プロセスに与えられる優先度よりも高くなるように、対話型プロセスの優先度を制御する。
【0021】
プロセス選択部26は、例えば対話型プロセスおよび非対話型プロセスの中から最も優先度の高いプロセスを選択し、CPU割り当て部27はプロセスの切り替え時においてプロセス選択部26によって選択されたプロセスにCPUを割り当てて、プロセスの実行を行わせるものである。プロセスの実行はメモリ上のプログラムをCPUで実行することで行われる。
【0022】
続いて図4の各構成要素の動作について更に詳細に説明する。まずプロセス別動作状況監視部21はプロセスの切り替え、プロセスのスリープ開始、およびプロセスのスリープ終了のそれぞれの時点で起動される。図5はプロセス切り替え時におけるプロセス別動作状況監視部の処理のフローチャートである。同図において処理が開始されると、まずステップS11において前回のプロセス切り替え以後に今まで実行していたプロセスが消費したCPU時間の算出が行われ、続いてS12で算出されたCPU時間がプロセス別動作状況表22の連続CPU使用時間の値に加算される。
【0023】
図6はプロセス別動作状況表22の例である。同図においてプロセス別動作状況表には、時分割に実行されるそれぞれのプロセスに対して、連続CPU使用時間格納領域31とスリープ開始時刻格納領域32とが設けられている。図5のステップS12で行われる処理では、プロセス切り替え発生時にそれまで処理を実行していたプロセスの前回のプロセス切り替え発生時からのCPU使用時間をそのプロセスに対する連続CPU使用時間の格納値に加算して、加算された値をその領域に再び格納することになる。
【0024】
図7は実行中のプロセスがスリープを開始した時のプロセス別動作状況監視部の処理フローチャートである。同図において実行中のプロセスがスリープを開始すると、S15においてスリープ開始時刻が図6のスリープ開始時刻格納領域32の対応するプロセスの位置に格納されて、処理を終了する。
【0025】
図8は、スリープしていたプロセスがプロセスから覚めた時点におけるプロセス動作状況監視部21の処理フローチャートである。同図において処理が開始されると、まずステップS17でそのプロセスがスリープから覚めた時刻と図6のスリープ開始時刻格納領域32に格納されているスリープ開始時刻との差が求められ、S18でその差が一定時間を越えるか否かが判定される。越える場合にはS19でそのプロセスに対応する図6の連続CPU使用時間格納領域31の値が0クリアされた後に、一定時間を越えていない場合はそのままで処理を終了する。
【0026】
図9は図4におけるプロセス型判定部23の処理フローチャートである。プロセス型判定部は、例えばプロセスの切り替えが発生し、今まで実行されていたプロセスを、プロセス選択部26が選択する対象としてのプロセスがキューイングされる実行キューにキューイングする際に起動される。そして処理が開始されると、まずステップS21でそのプロセスの連続CPU使用時間、すなわち図6の領域31に格納されている値が一定値を越えているか否かが判定され、越えていない時にはS22でそのプロセスが対話型プロセスに分類され、S23で対話型プロセス優先度制御部25が使用する実行キューへのそのプロセスのキューイングが指定されて処理を終了する。実行キューはメモリ上に配置される。
【0027】
これに対してS21で連続CPU使用時間が一定値を越えていると判定された時にはS24でそのプロセスが非対話型プロセスに分類され、S25で非対話型プロセス優先度制御部24が使用する実行キューへのそのプロセスのキューイングが指定されて処理を終了する。
【0028】
図10は対話型プロセス優先度制御部の構成ブロック図である。同図において対話型プロセス優先度制御部は、図22のプロセス優先度制御部の従来例と同様に優先度決定部33、タイムスライス監視部34、および対話型プロセス用実行キュー35によって構成される。
【0029】
図11は対話型プロセス優先度制御部内の優先度決定部33による優先度決定処理のフローチャートである。同図において処理フローチャートは図23におけるプロセススケジューリングの従来例のフローチャートとほぼ同様であるが図23におけるステップS5において用いられる実行キューが図11においてはS34に示すように対話型プロセス用実行キューである点が異なっている。
【0030】
図12は非対話型プロセス優先度制御部の構成ブロック図である。同図において非対話型プロセス優先度制御部は、図10における対話型プロセス優先度制御部と同様に優先度決定部36、タイムスライス監視部37、および非対話型プロセス用実行キュー38によって構成されている。
【0031】
図13は非対話型プロセスに対する優先度決定部による優先度制御処理のフローチャートである。同図を図11の対話型プロセス優先度決定部による処理フローチャートと比較すると、ステップS44において用いられる実行キューがS34の対話型プロセス用実行キューに代わって、非対話型プロセス用実行キューである点のみが異なっている。
【0032】
図14はプロセス選択部26の処理フローチャートである。同図において処理が開始されると、S46で対話型プロセス優先度制御部25が使用する実行キューにプロセスが存在するか否かが判定され、存在する場合にはS47でその実行キューにキューイングされているプロセスの中で最も優先度の高いプロセスが選択され、処理を終了する。
【0033】
これに対してS46で対話型プロセス優先度制御部25が使用する実行キューにプロセスが存在しないと判定されると、S48で非対話型プロセス優先度制御部24が使用する実行キューにプロセスが存在するか否かが判定され、存在する場合にはS49でその実行キューにキューイングされているプロセスの中で最も優先度の高いプロセスが選択された後に、またプロセスが存在しない時にはそのままで処理を終了する。
【0034】
図15は1つのプロセスに対する連続CPU使用時間の推移と、プロセスの型の分類の遷移の例を示す。その中でa,b,c,dはある時点を示す記号であり、α,β,γはこのプロセスがしたスリープを示す記号である。なおこの図では実行待ちの時間は省かれている。
【0035】
aの時点から実行を始めたプロセスの連続CPU使用時間は0から次第に増加する。この増加の過程は、プロセスの切り替えが行われるたびに、プロセス別動作状況監視部21によってプロセス別動作状況表22の連続CPU使用時間格納領域31の値に加算されて記録される。
【0036】
その後プロセスはαで示されるスリープを行うが、そのスリープ時間がある一定値以下であるために、連続CPU使用時間の0設定は行われない。
更にプロセスがβのスリープを行ってbの時点でスリープから覚めると、スリープ時間が一定の長さを越えていたために、プロセス別動作状況監視部21によって連続CPU使用時間は0にクリアされる。
【0037】
このためbの時点から連続CPU使用時間は再び0から増加し、cの時点である境界値を越えて更に増加し、その後γで示されるスリープを行う。そしてdの時点でスリープから覚めると、そのスリープ時間が一定値を越えているために、再び連続CPU使用時間は0クリアされる。
【0038】
前述のcの時点で越える境界値が図9のプロセス型判定部によるS21の判定での一定値に相当し、このためこのプロセスはaからcの間では対話型プロセスに分類され、cからdの間では非対話型プロセスに分類され、dの時点以降は再び対話型プロセスに分類される。なおこの分類は、前述のようにプロセス切り替えに伴うプロセスのキューイングに際して行われるものであり、その分類のタイミングは図15には示されていない。
【0039】
以上本発明の1つの実施例として、図4のスケジューリング方式について詳細に説明したがここで以上の実施例と異なる実施例について説明する。まず図16は、対話型プロセスと非対話型プロセスとをキューイングする実行キューを2つに区別することなく、1つの実行キューを用いる場合の実施例である。同図において、図10の対話型プロセス優先度制御部内に設けられている対話型プロセス用実行キューと、図12の非対話型プロセス優先度制御部に設けられている非対話型プロセス用実行キューとが、それぞれの制御部41と42から外され、1本の実行キュー43として各制御部の外部に設けられることになる。この実施例では対話型プロセス優先度制御部41と非対話型プロセス優先度制御部42は、それぞれ対話型プロセスの優先度と非対話型プロセスの優先度を決定し、その優先度に従って実行キュー43の異なる範囲に、各プロセスをキューイングする。
【0040】
対話型プロセス優先度制御部41によって優先度が決定されたプロセス45は、実行キュー43の優先度の高い位置、例えば優先度50〜150の範囲に優先度に従ってキューイングされ、また非対話型プロセス優先度制御部42によって優先度が決定されたプロセス46は、実行キュー43の優先度の低い範囲、例えば優先度0〜100の範囲にキューイングされ、プロセス選択部44が実行キュー43の中で最も優先度の高いプロセスを優先して選択することにより、一般的に対話型プロセスの優先度が高くなるような制御が行われる。
【0041】
図17は更に異なる実施例としてのプロセススケジューリング方式の構成ブロック図である。同図においてプロセス別動作状況監視部、プロセス別動作状況表、プロセス型判定部、プロセス選択部、およびCPU割り当て部の動作は図4におけると同様であるが、プロセス優先度制御部51、プロセスキューイング部52、対話型プロセス用実行キュー53および非対話型プロセス用実行キュー54が図4と異なる形式で用いられている。
【0042】
図17においてプロセス優先度制御部51はプロセス型判定部23によるプロセス型の判定と独立して優先度を制御するものである。図18はその構成ブロック図であり、プロセス優先度制御部51は優先度決定部56とタイムスライス監視部57とによって構成される。
【0043】
図19は図18の優先度決定部の処理フローチャートである。同図を例えば図23のプロセススケジューリング方式における処理従来例と比較すると、ステップS55で切り替え前に実行されていたプロセスに対してプロセスキューイング部の起動のみが行われる点が異なっている。
【0044】
図20は図17におけるプロセスキューイング部52の処理フローチャートである。前述のように、図17の実施例では、プロセス型判定部23によるプロセス型の判定は優先度制御と独立して行われ、プロセスの型の判定結果による実行キューの切り替えは、一般的に不定期に発生するキューイング処理のタイミングで行われる。図20においてS57でキューイングすべきプロセスの型が対話型であるか否かが判定され、対話型である時にはS58でプロセス優先度制御部51によって決定された優先度に従ってプロセスが対話型プロセス用実行キュー53にキューイングされ、プロセスの型が非対話型である時にはS59で優先度に従ってプロセスが非対話型プロセス用実行キュー54にキューイングされて処理を終了する。
【0045】
【発明の効果】
以上詳細に説明したように、本発明によれば、対話型のプロセスと非対話型のプロセスとを区別し、対話形式のプロセスにCPU使用時間を優先的に割り当てることにより、対話形式のプロセスに対するレスポンスを早くすることができ、電子計算機システムの実用性の向上に寄与するところが大きい。
【図面の簡単な説明】
【図1】本発明の原理構成ブロック図である。
【図2】本発明のプロセススケジューリング方式を用いる電子計算機システムの全体構成を示す図である。
【図3】プロセススケジューリングの実行例を説明する図である。
【図4】プロセススケジューリング方式の実施例の構成を示すブロック図である。
【図5】プロセス別動作状況監視部の処理フローチャート(プロセス切り替え時)である。
【図6】プロセス別動作状況表の格納例を示す図である。
【図7】プロセス別動作状況監視部の処理フローチャート(スリープ開始時)である。
【図8】プロセス別動作状況監視部の処理フローチャート(スリープ終了時)である。
【図9】プロセス型判定部の処理フローチャートである。
【図10】対話型プロセス優先度制御部の構成を示すブロック図である。
【図11】対話型プロセスに対する優先度決定部の処理フローチャートである。
【図12】非対話型プロセス優先度制御部の構成を示すブロック図である。
【図13】非対話型プロセスに対する優先度決定部の処理フローチャートである。
【図14】プロセス選択部の処理フローチャートである。
【図15】1つのプロセスに対するプロセスの型の遷移の例を示す図である。
【図16】実行キューが1本の場合の実施例を説明する図である。
【図17】図4と異なるプロセススケジューリング方式の実施例の構成を示すブロック図である。
【図18】図17におけるプロセス優先度制御部の構成を示すブロック図である。
【図19】図18のプロセス優先度決定部の処理フローチャートである。
【図20】図17のプロセスキューイング部の処理フローチャートである。
【図21】従来のプロセス優先度制御方式の構成を示すブロック図である。
【図22】図21におけるプロセス優先度制御部の詳細構成を示すブロック図である。
【図23】図22における優先度決定部の処理フローチャートである。
【符号の説明】
10 プロセス別動作状況監視手段
11 プロセス型判定手段
15 オペレータ
16 端末
17 主計算機
18 副計算機
19 通信回線
21 プロセス別動作状況監視部
22 プロセス別動作状況表
23 プロセス型判定部
24 非対話型プロセス優先度制御部
25 対話型プロセス優先度制御部
26 プロセス選択部
27 CPU割り当て部
31 連続CPU使用時間格納領域
32 スリープ開始時刻格納領域
33 優先度決定部

Claims (8)

  1. 複数のプロセスを時分割形式で処理する計算機システムのプロセススケジューリング方式であって、
    複数のプロセスの各々に対応して、各プロセスの連続CPU使用時間を格納する領域を有するプロセス別動作状況記憶手段と、
    プロセスの切替え時に、切替え前のプロセスが前回のプロセス切替え後に使用したCPU時間を前記プロセス別動作状況記憶手段内で該プロセスに対応した連続CPU使用時間格納領域に格納されている値に加算して格納するプロセス別動作状況監視手段と、
    前記プロセス別動作状況記憶手段に格納されているプロセスの連続CPU使用時間の値と予め定められた値とを比較し、連続CPU使用時間の方が大きい時、当該プロセスを非対話型に分類し、逆の時に対話型に分類するプロセス判定手段と、
    対話型に分類されているプロセスに対して非対話型に分類されているプロセスよりも優先的に前記計算機システムのCPUを割り当てる手段と、
    プロセスのスリープ終了時に、当該プロセスのスリープ時間と予め定められた値とを比較し、該スリープ時間が該予め定められた値を超える場合に、前記プロセス別動作状況記憶手段の当該プロセスに対応する連続CPU使用時間格納領域の値を0にクリアするスリープ時間判定手段と、
    を有することを特徴とするプロセススケジューリング方式。
  2. 前記プロセス別動作状況記憶手段は、複数プロセスの各々に対応して、各プロセスのスリープ開始時刻を格納する領域を更に有し、
    前記スリープ時間判定手段は、前記プロセス別動作状況記憶手段のスリープ開始時刻格納領域の値とスリープ終了時刻の差によりスリープ時間を算出する
    ことを特徴とする請求項記載のプロセススケジューリング方式。
  3. 前記非対話型プロセスに対するCPU割当ての優先度を制御する非対話型プロセス優先度制御手段と、
    前記対話型プロセスに対するCPU割当ての優先度を、該非対話型プロセス優先度制御手段による優先度に比較して、より高い優先度に制御する対話型プロセス優先度制御手段とを更に備えたことを特徴とする請求項1記載のプロセススケジューリング方式。
  4. 前記対話型プロセス優先度制御手段によって優先度が制御された対話型プロセスが、該優先度に対応してキューイングされる対話型プロセス用実行キューと、
    前記非対話型プロセス優先度制御手段によって優先度が制御された非対話型プロセスが、該優先度に対応してキューイングされる非対話型プロセス用実行キューとをさらに備えたことを特徴とする請求項記載のプロセススケジューリング方式。
  5. 前記対話型プロセス用実行キューにプロセスがキューイングされている時、該キューイングされているプロセスの中で優先度の最も高いプロセスを選択し、該対話型プロセス用実行キューにプロセスがキューイングされていない時、前記非対話型プロセス用実行キューにキューイングされているプロセスの中で優先度が最も高いプロセスを選択するプロセス選択手段と、
    該選択されたプロセスにCPUを割り当てるCPU割当て手段とを更に備えたことを特徴とする請求項記載のプロセススケジューリング方式。
  6. 前記対話型プロセス優先度制御手段によって優先度が制御された対話型プロセスと、前記非対話型プロセス優先度制御手段によって優先度が制御された非対話型プロセスとがキューイングされる実行キューであって、該対話型プロセスが該実行キューの内部で非対話型プロセスに比較してより優先度の高い範囲にキューイングされる実行キューをさらに備えたことを特徴とする請求項記載のプロセススケジューリング方式。
  7. 前記実行キューにキューイングされている対話型プロセス、または非対話型プロセスの中で最も優先度の高いプロセスを選択するプロセス選択手段と、
    該選択されたプロセスにCPUを割り当てるCPU割当て手段とを更に備えたことを特徴とする請求項記載のプロセススケジューリング方式。
  8. 前記プロセス型判定手段によるプロセスの型の判定と独立してプロセスの優先度を制御するプロセス優先度制御手段と、
    該プロセス優先度制御手段による優先度制御結果と、該プロセス型判定手段によるプロセスの型の判定結果とに基づいて対話型プロセスを対話型プロセス用実行キューに格納し、非対話型プロセスを非対話型プロセス用実行キューに格納するプロセスキューイング手段と、
    該対話型プロセス用実行キューにプロセスが格納されている時、該格納されているプロセスの中で最も優先度の高いプロセスを選択し、該対話型プロセス用実行キューにプロセスがキューイングされていない時、前記非対話型プロセス用実行キューにキューイングされているプロセスの中で最も優先度の高いプロセスを選択するプロセス選択手段と、
    該選択されたプロセスにCPUを割り当てるCPU割当て手段とを更に備えたことを特徴とする請求項1記載のプロセススケジューリング方式。
JP20242194A 1994-08-26 1994-08-26 プロセススケジューリング方式 Expired - Fee Related JP3588485B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP20242194A JP3588485B2 (ja) 1994-08-26 1994-08-26 プロセススケジューリング方式
US08/519,087 US5774718A (en) 1994-08-26 1995-08-24 Process scheduling system that allocates CPU time with priority to interactive type processes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20242194A JP3588485B2 (ja) 1994-08-26 1994-08-26 プロセススケジューリング方式

Publications (2)

Publication Number Publication Date
JPH0869386A JPH0869386A (ja) 1996-03-12
JP3588485B2 true JP3588485B2 (ja) 2004-11-10

Family

ID=16457234

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20242194A Expired - Fee Related JP3588485B2 (ja) 1994-08-26 1994-08-26 プロセススケジューリング方式

Country Status (2)

Country Link
US (1) US5774718A (ja)
JP (1) JP3588485B2 (ja)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3063582B2 (ja) * 1995-08-25 2000-07-12 富士ゼロックス株式会社 画像処理装置
US6675195B1 (en) * 1997-06-11 2004-01-06 Oracle International Corporation Method and apparatus for reducing inefficiencies caused by sending multiple commands to a server
US6237073B1 (en) 1997-11-26 2001-05-22 Compaq Computer Corporation Method for providing virtual memory to physical memory page mapping in a computer operating system that randomly samples state information
US6175814B1 (en) 1997-11-26 2001-01-16 Compaq Computer Corporation Apparatus for determining the instantaneous average number of instructions processed
US6195748B1 (en) 1997-11-26 2001-02-27 Compaq Computer Corporation Apparatus for sampling instruction execution information in a processor pipeline
US6332178B1 (en) 1997-11-26 2001-12-18 Compaq Computer Corporation Method for estimating statistics of properties of memory system transactions
US6237059B1 (en) 1997-11-26 2001-05-22 Compaq Computer Corporation Method for estimating statistics of properties of memory system interactions among contexts in a computer system
US6163840A (en) * 1997-11-26 2000-12-19 Compaq Computer Corporation Method and apparatus for sampling multiple potentially concurrent instructions in a processor pipeline
US6374367B1 (en) 1997-11-26 2002-04-16 Compaq Computer Corporation Apparatus and method for monitoring a computer system to guide optimization
US6442585B1 (en) * 1997-11-26 2002-08-27 Compaq Computer Corporation Method for scheduling contexts based on statistics of memory system interactions in a computer system
US6549930B1 (en) 1997-11-26 2003-04-15 Compaq Computer Corporation Method for scheduling threads in a multithreaded processor
US6438704B1 (en) 1999-03-25 2002-08-20 International Business Machines Corporation System and method for scheduling use of system resources among a plurality of limited users
ATE365944T1 (de) * 1999-10-26 2007-07-15 Iontas Ltd Überwachung von rechnerbenutzung
KR100487543B1 (ko) * 2000-09-01 2005-05-03 엘지전자 주식회사 시피유 스케쥴링 방법
EP1410199A2 (en) * 2000-11-06 2004-04-21 Koninklijke Philips Electronics N.V. A method and a system for allocation of a budget to a task
JP3813930B2 (ja) * 2002-01-09 2006-08-23 松下電器産業株式会社 プロセッサ及びプログラム実行方法
DE10238575A1 (de) * 2002-08-22 2004-03-04 Siemens Ag Verfahren zur Messung der Nettolaufzeit eines Datenverarbeitungsprogramms
JP4750350B2 (ja) * 2003-03-13 2011-08-17 パナソニック株式会社 タスク切換装置、方法及びプログラム
JP4045991B2 (ja) * 2003-03-27 2008-02-13 株式会社日立製作所 ポリシールールの生成方法およびそれを用いたジョブ運用管理方法
US7426731B2 (en) * 2004-03-22 2008-09-16 Hewlett-Packard Development Company, L.P. Determining processor usage by a thread
US20060048160A1 (en) * 2004-09-02 2006-03-02 International Business Machines Corporation Method, apparatus, and computer program product for providing a self-tunable parameter used for dynamically yielding an idle processor
US7296133B2 (en) * 2004-10-14 2007-11-13 International Business Machines Corporation Method, apparatus, and computer program product for dynamically tuning amount of physical processor capacity allocation in shared processor systems
US7774784B2 (en) * 2005-03-17 2010-08-10 Microsoft Corporation Determining an actual amount of time a processor consumes in executing a portion of code
JP2007193608A (ja) * 2006-01-19 2007-08-02 Fujifilm Corp 情報処理装置および情報処理方法
US7844970B2 (en) * 2006-08-22 2010-11-30 International Business Machines Corporation Method and apparatus to control priority preemption of tasks
JP4650697B2 (ja) * 2007-06-06 2011-03-16 エヌイーシーコンピュータテクノ株式会社 Cpuリソース管理方式
US8640131B2 (en) * 2008-01-18 2014-01-28 Microsoft Corporation Demand-based processor cycle allocation subsequent to equal group-based processor cycle distribution
US8977677B2 (en) 2010-12-01 2015-03-10 Microsoft Technology Licensing, Llc Throttling usage of resources
GB2486402A (en) * 2010-12-07 2012-06-20 1E Ltd Monitoring processes in a computer
KR20120067825A (ko) * 2010-12-16 2012-06-26 한국전자통신연구원 임베디드 리눅스를 위한 적응형 프로세스 스케쥴링 방법
US9329901B2 (en) 2011-12-09 2016-05-03 Microsoft Technology Licensing, Llc Resource health based scheduling of workload tasks
US9305274B2 (en) 2012-01-16 2016-04-05 Microsoft Technology Licensing, Llc Traffic shaping based on request resource usage
US9122524B2 (en) 2013-01-08 2015-09-01 Microsoft Technology Licensing, Llc Identifying and throttling tasks based on task interactivity
CN103092689A (zh) * 2013-01-10 2013-05-08 深圳市金立通信设备有限公司 一种进程管理的方法及终端
WO2015159365A1 (ja) * 2014-04-15 2015-10-22 富士機械製造株式会社 Nc工作機械
US9298518B2 (en) * 2014-07-09 2016-03-29 International Business Machine Corporation Safe consolidation and migration

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4126895A (en) * 1975-12-29 1978-11-21 International Standard Electric Corporation Data processing system with monitoring and regulation of processor free time
JPS57757A (en) * 1980-06-04 1982-01-05 Hitachi Ltd Job execution schedule system
US5047919A (en) * 1986-04-03 1991-09-10 Harris Corporation Method and apparatus for monitoring software execution in a parallel multiprocessor computer system
US4912628A (en) * 1988-03-15 1990-03-27 International Business Machines Corp. Suspending and resuming processing of tasks running in a virtual machine data processing system
JPH04148242A (ja) * 1990-10-08 1992-05-21 Fujitsu Ltd ロード・モジュール実行時トレース処理方法
US5210872A (en) * 1991-06-28 1993-05-11 Texas Instruments Inc. Critical task scheduling for real-time systems
EP0636985B1 (en) * 1993-07-27 1998-04-08 International Business Machines Corporation Process monitoring in a multiprocessing server

Also Published As

Publication number Publication date
US5774718A (en) 1998-06-30
JPH0869386A (ja) 1996-03-12

Similar Documents

Publication Publication Date Title
JP3588485B2 (ja) プロセススケジューリング方式
US6349321B1 (en) Data processing system and scheduling method
JP4367856B2 (ja) プロセス制御システム及びその制御方法
EP0788053B1 (en) Resource management method and apparatus for information processing system of multitasking facility
US7565652B2 (en) Method of setting priority level in a multiprogramming computer system with priority scheduling, multiprogramming computer system and program thereof
US8959515B2 (en) Task scheduling policy for limited memory systems
US5903757A (en) Monitoring and handling of exception conditions in computer system
US7536689B2 (en) Method and system for optimizing thread scheduling using quality objectives
US20030212731A1 (en) Apparatus and method for periodic load balancing in a multiple run queue system
US7383548B2 (en) CPU usage regulation
US7191446B2 (en) Method for resource management in a real-time embedded system
JP4213572B2 (ja) 電子機器およびプロセッサ速度制御方法
WO2002069174A1 (fr) Procede d'execution en parallele de processus et ordinateur a processeurs multiples
JP2000056992A (ja) タスクスケジューリングシステム、方法及び記録媒体
JP2000148513A (ja) タスク制御方法およびタスク制御装置
JP2001236236A (ja) タスク制御装置およびそのタスクスケジューリング方法
JP7263746B2 (ja) 情報処理装置
JPH0793168A (ja) タスク管理方式
JP2001282560A (ja) 仮想計算機制御方法及びその実施装置並びにその処理プログラムを記録した記録媒体
JP2667575B2 (ja) タスクスケジューリング方式
JPH01180641A (ja) Cpuソース平均化方式
JP2570198B2 (ja) タイムスライスディスパッチングシステム
JPH08314740A (ja) プロセスディスパッチ方法
JPS6010343A (ja) タイムスライス値制御方式
JP2003241978A (ja) デバイスドライバの負荷分散方法および負荷分散システム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040217

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040416

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040518

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040720

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040810

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040816

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080820

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090820

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090820

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100820

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110820

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees