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

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

Info

Publication number
JPH0869386A
JPH0869386A JP6202421A JP20242194A JPH0869386A JP H0869386 A JPH0869386 A JP H0869386A JP 6202421 A JP6202421 A JP 6202421A JP 20242194 A JP20242194 A JP 20242194A JP H0869386 A JPH0869386 A JP H0869386A
Authority
JP
Japan
Prior art keywords
interactive
priority
cpu
operation status
execution queue
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.)
Granted
Application number
JP6202421A
Other languages
English (en)
Other versions
JP3588485B2 (ja
Inventor
Naoto Aoshima
直人 青島
Haruo Kimura
治夫 木村
Katsuto Minae
克仁 薬袋
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

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)

Abstract

(57)【要約】 【目的】 複数のプロセスにCPU時間を分割して割り
当てる計算機システムに関し、対話形式と判定されたプ
ロセスに優先的にCPU時間を割り当て、例えばキーボ
ード入力に対する応答を早めることを目的とする。 【構成】 複数のプロセスの動作状況を監視するプロセ
ス別動作状況監視手段と、プロセス別動作状況監視手段
による監視結果に基づいて、各プロセスを対話型と非対
話型とに分類するプロセス型判定手段とを備えるように
構成する。

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は共にCP
U、メモリ、ディスク機器、タイマ等から構成さる。こ
こでプロセスとはCPUが複数のプログラムを実行する
際の処理単位のことである。図3はプロセススケジュー
リングの実行例の説明図である。横軸は経過時間を示
し、時間と共にプロセスの切り替えが発生し、各プロセ
スが時分割方式で実行される様子が示されている。同図
においてプロセス2はスリープを起こすプロセス、その
他のプロセスはスリープを起こさないプロセスであり、
はタイムスライス切れによるプロセス切り替え、は
実行中のプロセスがスリープを開始したことによるプロ
セス切り替え、はスリープが終了したことによるプロ
セス切り替えの発生を示す。
【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は、スリープしていたプロセスがプロ
セスから覚めた時点におけるプロセス動作状況監視部2
1の処理フローチャートである。同図において処理が開
始されると、まずステップ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の処理フロー
チャートである。同図において処理が開始されると、S
46で対話型プロセス優先度制御部25が使用する実行
キューにプロセスが存在するか否かが判定され、存在す
る場合にはS47でその実行キューにキューイングされ
ているプロセスの中で最も優先度の高いプロセスが選択
され、処理を終了する。
【0033】これに対してS46で対話型プロセス優先
度制御部25が使用する実行キューにプロセスが存在し
ないと判定されると、S48で非対話型プロセス優先度
制御部24が使用する実行キューにプロセスが存在する
か否かが判定され、存在する場合にはS49でその実行
キューにキューイングされているプロセスの中で最も優
先度の高いプロセスが選択された後に、またプロセスが
存在しない時にはそのままで処理を終了する。
【0034】図15は1つのプロセスに対する連続CP
U使用時間の推移と、プロセスの型の分類の遷移の例を
示す。その中でa,b,c,dはある時点を示す記号で
あり、α,β,γはこのプロセスがしたスリープを示す
記号である。なおこの図では実行待ちの時間は省かれて
いる。
【0035】aの時点から実行を始めたプロセスの連続
CPU使用時間は0から次第に増加する。この増加の過
程は、プロセスの切り替えが行われるたびに、プロセス
別動作状況監視部21によってプロセス別動作状況表2
2の連続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と非対話型プロセス優先度制御部4
2は、それぞれ対話型プロセスの優先度と非対話型プロ
セスの優先度を決定し、その優先度に従って実行キュー
43の異なる範囲に、各プロセスをキューイングする。
【0040】対話型プロセス優先度制御部41によって
優先度が決定されたプロセス45は、実行キュー43の
優先度の高い位置、例えば優先度50〜150の範囲に
優先度に従ってキューイングされ、また非対話型プロセ
ス優先度制御部42によって優先度が決定されたプロセ
ス46は、実行キュー43の優先度の低い範囲、例えば
優先度0〜100の範囲にキューイングされ、プロセス
選択部44が実行キュー43の中で最も優先度の高いプ
ロセスを優先して選択することにより、一般的に対話型
プロセスの優先度が高くなるような制御が行われる。
【0041】図17は更に異なる実施例としてのプロセ
ススケジューリング方式の構成ブロック図である。同図
においてプロセス別動作状況監視部、プロセス別動作状
況表、プロセス型判定部、プロセス選択部、およびCP
U割り当て部の動作は図4におけると同様であるが、プ
ロセス優先度制御部51、プロセスキューイング部5
2、対話型プロセス用実行キュー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 (12)

    【特許請求の範囲】
  1. 【請求項1】 複数のプロセスを時分割形式で処理する
    計算機システムにおいて、 該複数の各プロセスの動作状況を監視するプロセス別動
    作状況監視手段と、 該プロセス別動作状況監視手段による監視結果に基づい
    て、該各プロセスを対話型と非対話型とに分類するプロ
    セス型判定手段とを備え、 該対話型に分類されたプロセスに対して該計算機システ
    ムのCPUを優先的に割り当てることを特徴とするプロ
    セススケジューリング方式。
  2. 【請求項2】 前記プロセス別動作状況監視手段による
    動作状況監視結果が格納されるプロセス別動作状況記憶
    手段を更に備えたことを特徴とする請求項1記載のプロ
    セススケジューリング方式。
  3. 【請求項3】 前記プロセス別動作状況監視手段が、プ
    ロセスの切替え時に起動され、該切替え前のプロセスが
    前回のプロセス切替え後に消費したCPU時間を算出
    し、該算出結果を前記プロセス別動作状況記憶手段内で
    該プロセスに対応した連続CPU使用時間格納領域に格
    納されている値に加算して、該領域に再び格納する手段
    であることを特徴とする請求項2記載のプロセススケジ
    ューリング方式。
  4. 【請求項4】 前記プロセス別動作状況監視手段が、C
    PUが割り当てられていたプロセスのスリープの開始時
    に起動され、該スリープの開始時刻を、前記プロセス別
    動作状況記憶手段内で該プロセスに対応したスリープ開
    始時刻格納領域に格納する手段であることを特徴とする
    請求項2記載のプロセススケジューリング方式。
  5. 【請求項5】 前記プロセス別動作状況監視手段が、ス
    リープしていたプロセスのスリープ終了時に起動され、
    該スリープ終了時刻と前記プロセス別動作状況記憶手段
    内で該プロセスに対応したスリープ開始時刻格納領域に
    格納されているスリープ開始時刻との差を求め、該差が
    一定値を越える時該プロセス動作状況記憶手段内で該プ
    ロセスに対応した連続CPU使用時間格納領域の値を0
    にクリアする手段であることを特徴とする請求項2記載
    のプロセススケジューリング方式。
  6. 【請求項6】 前記プロセス型判定手段が、前記プロセ
    ス別動作状況記憶手段に格納されているプロセス別の連
    続CPU使用時間の値とあらかじめ定められた値とを比
    較し、連続CPU使用時間の方が大きい時該連続CPU
    使用時間に対応するプロセスを対話型に分類し、逆の時
    に非対話型に分類する手段であることを特徴とする請求
    項2記載のプロセススケジューリング方式。
  7. 【請求項7】 前記非対話型プロセスに対するCPU割
    当ての優先度を制御する非対話型プロセス優先度制御手
    段と、 前記対話型プロセスに対するCPU割当ての優先度を、
    該非対話型プロセス優先度制御手段による優先度に比較
    して、より高い優先度に制御する対話型プロセス優先度
    制御手段とを更に備えたことを特徴とする請求項1記載
    のプロセススケジューリング方式。
  8. 【請求項8】 前記対話型プロセス優先度制御手段によ
    って優先度が制御された対話型プロセスが、該優先度に
    対応してキューイングされる対話型プロセス用実行キュ
    ーと、 前記非対話型プロセス優先度制御手段によって優先度が
    制御された非対話型プロセスが、該優先度に対応してキ
    ューイングされる非対話型プロセス用実行キューとをさ
    らに備えたことを特徴とする請求項7記載のプロセスス
    ケジューリング方式。
  9. 【請求項9】 前記対話型プロセス用実行キューにプロ
    セスがキューイングされている時該キューイングされて
    いるプロセスの中で優先度の最も高いプロセスを選択
    し、該対話型プロセス用実行キューにプロセスがキュー
    イングされていない時、前記非対話型プロセス用実行キ
    ューにキューイングされているプロセスの中で優先度が
    最も高いプロセスを選択するプロセス選択手段と、 該選択されたプロセスにCPUを割り当てるCPU割当
    て手段とを更に備えたことを特徴とする請求項8記載の
    プロセススケジューリング方式。
  10. 【請求項10】 前記対話型プロセス優先度制御手段に
    よって優先度が制御された対話型プロセスと、前記非対
    話型プロセス優先度制御手段によって優先度が制御され
    た非対話型プロセスとがキューイングされる実行キュー
    であって、該対話型プロセスが該実行キューの内部で非
    対話型プロセスに比較してより優先度の高い範囲にキュ
    ーイングされる実行キューをさらに備えたことを特徴と
    する請求項7記載のプロセススケジューリング方式。
  11. 【請求項11】 前記実行キューにキューイングされて
    いる対話型プロセス、または非対話型プロセスの中で最
    も優先度の高いプロセスを選択するプロセス選択手段
    と、 該選択されたプロセスにCPUを割り当てるCPU割当
    て手段とを更に備えたことを特徴とする請求項10記載
    のプロセススケジューリング方式。
  12. 【請求項12】 前記プロセス型判定手段によるプロセ
    スの型の判定と独立してプロセスの優先度を制御するプ
    ロセス優先度制御手段と、 該プロセス優先度制御手段による優先度制御結果と、該
    プロセス型判定手段によるプロセスの型の判定結果とに
    基づいて対話型プロセスを対話型プロセス用実行キュー
    に格納し、非対話型プロセスを非対話型プロセス用実行
    キューに格納するプロセスキューイング手段と、 該対話型プロセス用実行キューにプロセスが格納されて
    いる時該格納されているプロセスの中で最も優先度の高
    いプロセスを選択し、該対話型プロセス用実行キューに
    プロセスがキューイングされていない時前記非対話型プ
    ロセス用実行キューにキューイングされているプロセス
    の中で最も優先度の高いプロセスを選択するプロセス選
    択手段と、 該選択されたプロセスに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 true JPH0869386A (ja) 1996-03-12
JP3588485B2 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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007193608A (ja) * 2006-01-19 2007-08-02 Fujifilm Corp 情報処理装置および情報処理方法
JP2008305065A (ja) * 2007-06-06 2008-12-18 Nec Computertechno Ltd Cpuリソース管理方式

Families Citing this family (34)

* 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
US6549930B1 (en) 1997-11-26 2003-04-15 Compaq Computer Corporation Method for scheduling threads in a multithreaded processor
US6332178B1 (en) 1997-11-26 2001-12-18 Compaq Computer Corporation Method for estimating statistics of properties of memory system transactions
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
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
US6374367B1 (en) 1997-11-26 2002-04-16 Compaq Computer Corporation Apparatus and method for monitoring a computer system to guide optimization
US6163840A (en) * 1997-11-26 2000-12-19 Compaq Computer Corporation Method and apparatus for sampling multiple potentially concurrent instructions in a processor pipeline
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
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
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
US6978303B1 (en) * 1999-10-26 2005-12-20 Iontal Limited Monitoring of computer usage
KR100487543B1 (ko) * 2000-09-01 2005-05-03 엘지전자 주식회사 시피유 스케쥴링 방법
WO2002037275A2 (en) * 2000-11-06 2002-05-10 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
US7844970B2 (en) * 2006-08-22 2010-11-30 International Business Machines Corporation Method and apparatus to control priority preemption of tasks
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 深圳市金立通信设备有限公司 一种进程管理的方法及终端
JP6356787B2 (ja) * 2014-04-15 2018-07-11 株式会社Fuji 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
DE69409445D1 (de) * 1993-07-27 1998-05-14 Ibm Prozessüberwachung in einem Mehrfachverarbeitungsanbieter

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007193608A (ja) * 2006-01-19 2007-08-02 Fujifilm Corp 情報処理装置および情報処理方法
JP2008305065A (ja) * 2007-06-06 2008-12-18 Nec Computertechno Ltd Cpuリソース管理方式
JP4650697B2 (ja) * 2007-06-06 2011-03-16 エヌイーシーコンピュータテクノ株式会社 Cpuリソース管理方式

Also Published As

Publication number Publication date
US5774718A (en) 1998-06-30
JP3588485B2 (ja) 2004-11-10

Similar Documents

Publication Publication Date Title
JP3588485B2 (ja) プロセススケジューリング方式
EP0788053B1 (en) Resource management method and apparatus for information processing system of multitasking facility
JP4367856B2 (ja) プロセス制御システム及びその制御方法
KR100352668B1 (ko) 시스템 자원을 스케쥴링하는 방법 및 시스템
US6560628B1 (en) Apparatus, method, and recording medium for scheduling execution using time slot data
US6006248A (en) Job application distributing system among a plurality of computers, job application distributing method and recording media in which job application distributing program is recorded
WO2002069174A1 (fr) Procede d'execution en parallele de processus et ordinateur a processeurs multiples
US20030212731A1 (en) Apparatus and method for periodic load balancing in a multiple run queue system
JP4213572B2 (ja) 電子機器およびプロセッサ速度制御方法
US20090083746A1 (en) Method for job management of computer system
JPH10301793A (ja) 情報処理装置及びスケジューリング方法
JP2004164643A (ja) データ処理システムにおける実行レベル設定
JP2004164642A (ja) データ処理システムにおけるピーク・レベル選択
JPWO2005106623A1 (ja) Cpuクロック制御装置、cpuクロック制御方法、cpuクロック制御プログラム、記録媒体、及び伝送媒体
JP3006551B2 (ja) 複数コンピュータ間の業務分散システム、業務分散方法および業務分散プログラムを記録した記録媒体
JP2000056992A (ja) タスクスケジューリングシステム、方法及び記録媒体
JP2000148513A (ja) タスク制御方法およびタスク制御装置
JP7263746B2 (ja) 情報処理装置
JPH0793168A (ja) タスク管理方式
JP4031838B2 (ja) データ転送処理管理装置
JPH01180641A (ja) Cpuソース平均化方式
JPH10312297A (ja) マルチタスク機能を有する情報処理システムにおける資源管理方法、資源管理装置及び記録媒体
JP2570198B2 (ja) タイムスライスディスパッチングシステム
JPH08314740A (ja) プロセスディスパッチ方法
JPH04191935A (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