JPH0644087A - コンピュータシステムのスケジューリング制御方式 - Google Patents

コンピュータシステムのスケジューリング制御方式

Info

Publication number
JPH0644087A
JPH0644087A JP19552692A JP19552692A JPH0644087A JP H0644087 A JPH0644087 A JP H0644087A JP 19552692 A JP19552692 A JP 19552692A JP 19552692 A JP19552692 A JP 19552692A JP H0644087 A JPH0644087 A JP H0644087A
Authority
JP
Japan
Prior art keywords
idle
cpu
context
state
control
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
JP19552692A
Other languages
English (en)
Inventor
Kunio Yamada
邦夫 山田
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.)
Toshiba Corp
Sord Computer Corp
Original Assignee
Toshiba Corp
Sord Computer 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 Toshiba Corp, Sord Computer Corp filed Critical Toshiba Corp
Priority to JP19552692A priority Critical patent/JPH0644087A/ja
Publication of JPH0644087A publication Critical patent/JPH0644087A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】本発明の目的はコンピュータシステムのスケジ
ューリング制御方式において、CPUアイドル状態の実
行中に、同一プロセスのコンテクスト・スイッチのよう
な無駄なコンテクスト・スイッチを排除し、かつREA
DY状態に設定されたプロセスに対するコンテクスト・
スイッチを効率的に実行できることにある。 【構成】制御テーブル4は、所定のプロセスがCPUの
使用権を放棄して他のプロセスにコンテクスト・スイッ
チするときに、スイッチ対象のプロセスが存在しない場
合に、所定のプロセスのコンテクストによりCPUのア
イドルプロセスが実行中であることを指示するアイドル
制御情報を格納する。スケジューリング制御手段1は、
制御テーブル4のアイドル制御情報に基づいて実行可能
状態に設定するプロセスがアイドル状態であるか否かを
判定し、判定結果がアイドル状態であればREADY検
知手段5a,5bを通じてそのプロセスに該当するCP
Uに対して実行可能状態のプロセスが存在することを通
知する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、特にマルチプロセッサ
システムに適用するコンピュータシステムのスケジュー
リング制御方式に関する。
【0002】
【従来の技術】従来、マルチプロセッサシステム(例え
ばUNIXシステム)では、各プロセッサ(CPU)毎
にアイドル(idle)プロセスを生成し、ディスパチ
ング(dispatching)の対象となるべきプロ
セスが存在しない場合に、そのアイドルプロセスのコン
テクストによりCPUアイドルを実行している。
【0003】各アイドルプロセスはシステムのCPUの
個数分だけ生成されて、それぞれ唯一のCPUに設定さ
れており、設定されていない他のCPU上では実行され
ないように設計されている。
【0004】前記のようなシステムでは、通常のプロセ
ス(非アイドル)が実行中からCPUの使用権を放棄し
て、他のプロセスにコンテクスト・スイッチ(プロセス
の切換え)するときに、ディスパチング)の対象となる
べきプロセスが存在しない場合には、そのCPUに対応
するアイドルプロセスにコンテクスト・スイッチする制
御が実行されている。このアイドルプロセスのコンテク
ストにより、CPUはアイドルプロセスを実行する。こ
の後、外部割り込み等によりディスパチングのキューが
走査されて、READY状態(実行可能状態)になった
プロセスにコンテクスト・スイッチすることになる。
【0005】即ち、CPUの使用権を放棄したプロセス
Aからアイドルプロセスにコンテクスト・スイッチし、
さらにアイドルプロセスからREADY状態のプロセス
Bにコンテクスト・スイッチする制御が実行されてい
る。このような制御方式を採用している理由としては、
通常のプロセスAのコンテクストによりCPUアイドル
を実行しているときに、その後のスケジューリングによ
りプロセスAがREADY状態になり、他のCPUのプ
ロセスBがそのプロセスAにコンテクスト・スイッチす
る場合に、不都合が発生するためである。即ち、アイド
ル実行中のプロセスAに、他のCPUでのコンテクスト
・スイッチするような状態が発生することになる。
【0006】一方、イベント(事象)待ち状態のプロセ
スをREADY状態にする場合に、イベントを発生する
プロセスの延長で実行されて、そのイベント待ちのプロ
セスの状態をREADY状態にするだけである。この時
点ではコンテクスト・スイッチは実行されず、他のCP
Uがアイドル状態にあるか否かの判定もなされていな
い。
【0007】
【発明が解決しようとする課題】従来のマルチプロセッ
サシステムのスケジューリング制御方式では、CPUの
使用権を放棄したプロセスAからアイドルプロセスにコ
ンテクスト・スイッチし、さらにアイドルプロセスから
READY状態のプロセスBにコンテクスト・スイッチ
する制御が実行されている。この場合、プロセスA,B
が同一プロセスであることも多い。同一プロセスであれ
ば、本来はコンテクスト・スイッチして、コンテクスト
の入替えは不要である。前記のように、プロセスA,B
が同一プロセスの場合でも、アイドルプロセスを介在し
てコンテクスト・スイッチを行なう必要がある。
【0008】コンテクスト・スイッチでは、CPUの実
行に必要なレジスタ群のセーブ、リストア、TLB(t
able look−up buffer)のフラッシ
ュ等の処理が必要であるため、システムの処理効率に影
響を与える。
【0009】また、プロセスをREADY状態にする場
合に、CPUの状況を考慮していないため、CPUがア
イドル状態の場合でも、コンテクスト・スイッチを直ち
に実行しないことがある。
【0010】本発明の目的は、コンピュータシステムの
スケジューリング制御方式において、CPUアイドル状
態の実行中に、同一プロセスのコンテクスト・スイッチ
のような無駄なコンテクスト・スイッチを排除し、かつ
READY状態に設定されたプロセスに対するコンテク
スト・スイッチを効率的に実行できることにある。
【0011】
【課題を解決するための手段】本発明は、コンピュータ
システムのスケジューリング制御方式において、所定の
プロセスのコンテクストによりCPUのアイドルプロセ
スが実行中であることを指示するアイドル制御情報を格
納する制御テーブル手段、アイドルプロセスを実行中の
CPUに対して実行可能状態なプロセスが存在すること
を通知するREADY検知手段および実行可能状態に設
定するプロセスがアイドル状態であるか否かを判定し、
判定結果がアイドル状態であればプロセスに該当するC
PUに対して実行可能状態のプロセスが存在することを
通知するスケジューリング制御手段を備えている。
【0012】
【作用】本発明では、制御テーブル手段は、所定のプロ
セスがCPUの使用権を放棄して他のプロセスにコンテ
クスト・スイッチするときに、スイッチ対象のプロセス
が存在しない場合に、所定のプロセスのコンテクストに
よりCPUのアイドルプロセスが実行中であることを指
示するアイドル制御情報を格納する。スケジューリング
制御手段は、制御テーブルのアイドル制御情報に基づい
て実行可能状態に設定するプロセスがアイドル状態であ
るか否かを判定し、判定結果がアイドル状態であれば前
記READY検知手段を通じてそのプロセスに該当する
CPUに対して実行可能状態のプロセスが存在すること
を通知する。
【0013】
【実施例】以下図面を参照して本発明の実施例を説明す
る。
【0014】図1は同実施例に係わるマルチプロセッサ
システムのスケジューリング制御方式の構成を示す概念
図、図2は同実施例に係わるプロセス制御ブロックと制
御テーブルの内容を説明するための概念図、図3および
図4は同実施例の動作を説明するためのフローチャート
である。
【0015】図1に示すように、スケジューリング制御
部1は、同実施例に係わる構成要素2〜5を統括的に管
理し、マルチCPU6a,6bのディスパチングを制御
する。プロセス制御ブロック2は、生成した各プロセス
を管理するためのプロセステーブルである。プロセス制
御ブロック2は、図2(A)に示すように、生成したプ
ロセスID(識別情報)、コンテクスト、プロセスの状
態、ディスパチングの優先度等の各種情報からなる。
【0016】アイドル制御部3、制御テーブル4および
READY検知部5a,5bは、本発明の要旨に係わる
構成要素である。アイドル制御部3は、プロセスがアイ
ドル状態になるときに、所定の条件に基づいてアイドル
プロセスにコンテクスト・スイッチするか否かを判定
し、スイッチしないときには制御テーブル4にアイドル
制御情報をセットする。ここで、所定の条件とは、図1
に示すように、例えばプロセスAが他のCPU6bに結
合して、該当するCPU6aの使用権を放棄する場合
と、カーネルスタックがオーバーフローする場合であ
る。アイドル制御部3は、所定の条件を除いて、アイド
ルプロセスにコンテクスト・スイッチをしないと判定す
る。
【0017】制御テーブル4は、図2(B)に示すよう
に、アイドル状態であることを示すCPU番号とプロセ
スIDからなるアイドル制御情報テーブルである。RE
ADY検知部5a,5bは、各CPU6a,6bに対応
して設けられており、スケジューリング制御部1から通
知されるREADY制御に関する情報を各CPU6a,
6bに伝達する機能を有する要素である。
【0018】なお、具体的な構成としては、スケジュー
リング制御部1、プロセス制御ブロック2、アイドル制
御部3、制御テーブル4はそれぞれシステムのメインメ
モリにセットされたOS(オペレーティングシステム)
の一部である。また、READY検知部5a,5bは、
各CPU6a,6bがアクセスできるレジスタである。
次に、同実施例の動作を説明する。
【0019】まず、プロセスAのコンテクストがCPU
6aに設定されて、CPU6aによりプロセスAが実行
中であるとする。このプロセスAがCPU6aの使用権
を放棄して、次のプロセスにコンテクスト・スイッチす
る場合に、スケジューリング制御部1はプロセス制御ブ
ロック2をアクセスする(図3に示すステップS1)。
【0020】通常では、スケジューリング制御部1は、
プロセスAのコンテクストをプロセス制御ブロック2に
退避し、次のプロセスのコンテクストをCPUに設定す
る処理を行なう(ステップS2)。即ち、ディスパチン
グの対象である次のプロセス(B)が存在すれば、スケ
ジューリング制御部1はプロセスAからプロセスBにコ
ンテクスト・スイッチする(ステップS3のYES,S
4)。
【0021】ここで、ディスパチングの対象である次の
プロセスが存在しない場合に(ステップS3のNO)、
アイドル制御部3は所定の条件を除いて、プロセスAの
コンテクストによりCPUアイドルを実行すると判定
し、プロセスAのプロセスIDとCPU番号(6a)か
らなるアイドル制御情報を制御テーブル4にセットする
(ステップS5)。
【0022】一方、次のプロセスが存在しない場合に、
アイドル制御部3は、プロセスAが他のCPU6bに結
合して、該当するCPU6aの使用権を放棄する場合
と、カーネルスタックがオーバーフローする場合の所定
の条件を満たすときには、アイドルプロセスにコンテク
スト・スイッチすると判定する。したがって、CPU6
aはアイドルプロセスのコンテクストによりCPUアイ
ドルを実行する。
【0023】制御テーブル4にプロセスAに関するアイ
ドル制御情報がセットされると、CPU6aはプロセス
AのコンテクストによりCPUアイドルを実行する(ス
テップS6)。このとき、スケジューリング制御部1
は、制御テーブル4にセットされたプロセスAを、他の
CPU6bでのディスパチングの対象から外すことにな
る。
【0024】このようなアイドル制御により、プロセス
AがCPUの使用権を放棄して、次のプロセスが存在し
ない場合に、所定の条件を除いて、所定のアイドルプロ
セスにコンテクスト・スイッチせずに、プロセスAのコ
ンテクストによりCPUアイドルが実行される。したが
って、CPUアイドル状態から、プロセスAが再度CP
Uの使用権を得て、ディスパチングの対象になった場合
に、プロセスAのコンテクスト・スイッチを実行する必
要はない。即ち、プロセスAのコンテクストはCPU6
aに設定されているため、改めてプロセスAのコンテク
ストの入替えを行なうことは不要となる。
【0025】このとき、プロセスAのコンテクストによ
りCPUアイドルの実行時には、制御テーブル4によ
り、他のCPU6bのディスパチングの対象になるよう
な不都合を防止することができる。
【0026】次に、図4のステップS7に示すように、
イベント待ちのプロセスBをREADY状態にする処理
では、スケジューリング制御部1は制御テーブル4を参
照して、プロセスBがCPU上でアイドル状態であるか
否かを判定する(ステップS8)。アイドル状態であれ
ば(ステップS8のYES)、スケジューリング制御部
1は、プロセスBがREADY状態であることを、RE
ADY検知部5bを通じて該当するCPU6bに通知す
る(ステップS9)。
【0027】このとき、CPU6bがプロセスBのコン
テクストでアイドル状態であれば(ステップS10のY
ES)、通知を受けたCPU6bは、直ちに稼働を開始
して、プロセスBのコンテクストによる処理を実行する
(ステップS11)。この場合、スケジューリング制御
部1は、プロセス制御ブロック2を参照して、プロセス
の優先度の順位に、CPU6bに通知する。
【0028】また、アイドル状態でない場合でも(ステ
ップS10のNO)、該当するCPU6bには通知され
ているため、プロセスBに直ちにコンテクスト・スイッ
チすることが可能となる(ステップS12)。この場
合、CPU6bはプロセスBのコンテクストでアイドル
状態であるため、プロセスBにコンテクスト・スイッチ
を行なう必要はない。また、プロセスBがCPU6bで
【0029】このようなREADY制御により、プロセ
スBをREADY状態にする場合に、該当するCPU6
bに、READY検知部5bを通じてプロセスBがRE
ADY状態であることを通知する。したがって、CPU
6bがアイドル状態の場合には、プロセスBのコンテク
ストをCPU6bに設定するコンテクスト・スイッチを
直ちに実行することができる。
【0030】このとき、CPU6bがプロセスBのコン
テクストでアイドル状態の場合には、プロセスBにコン
テクスト・スイッチを行なう必要はなく、直ちにCPU
6bはプロセスBを実行することができる。
【0031】
【発明の効果】以上詳述したように本発明によれば、マ
ルチプロセッサシステムのスケジューリング制御方式に
おいて、プロセスAがCPUの使用権を放棄して、CP
Uアイドル状態となり、さらにプロセスAが再度CPU
の使用権を得て、ディスパチングの対象になった場合に
プロセスAのコンテクスト・スイッチを実行する必要は
ない。したがって、同一プロセスのコンテクストの入替
えのような無駄なコンテクスト・スイッチを排除するこ
とができる。さらに、プロセスをREADY状態にする
場合に、該当するCPUに通知するため、CPUがアイ
ドル状態の場合には、コンテクスト・スイッチを直ちに
実行することができる。したがって、結果的にプロセス
に対するコンテクスト・スイッチを効率的に実行できる
ため、システムの処理効率の向上を図ることができる。
【図面の簡単な説明】
【図1】本発明の実施例に係わるスケジューリング制御
方式の構成を示す概念図。
【図2】同実施例に係わるプロセス制御ブロックおよび
制御テーブルを説明するための概念図。
【図3】同実施例の動作を説明するためのフローチャー
ト。
【図4】同実施例の動作を説明するためのフローチャー
ト。
【符号の説明】
1…スケジューリング制御部、2…プロセス制御ブロッ
ク、3…アイドル制御部、4…制御テーブル、5a,5
b…READY検知部、6a,6b…CPU。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 複数のプロセスのスケジューリングを制
    御するコンピュータシステムのスケジューリング制御方
    式において、 所定のプロセスがCPUの使用権を放棄して他のプロセ
    スにコンテクスト・スイッチするときに、スイッチ対象
    のプロセスが存在しない場合に、前記所定のプロセスの
    コンテクストによりCPUのアイドルプロセスが実行中
    であることを指示するアイドル制御情報を格納する制御
    テーブル手段と、 アイドルプロセスを実行中の前記CPUに対して実行可
    能状態なプロセスが存在することを通知するREADY
    検知手段と、 前記制御テーブルの前記アイドル制御情報に基づいて実
    行可能状態に設定するプロセスがアイドル状態であるか
    否かを判定し、判定結果がアイドル状態であれば前記R
    EADY検知手段を通じてそのプロセスに該当するCP
    Uに対して実行可能状態のプロセスが存在することを通
    知するスケジューリング制御手段とを具備したことを特
    徴とするコンピュータシステムのスケジューリング制御
    方式。
JP19552692A 1992-07-22 1992-07-22 コンピュータシステムのスケジューリング制御方式 Withdrawn JPH0644087A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19552692A JPH0644087A (ja) 1992-07-22 1992-07-22 コンピュータシステムのスケジューリング制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19552692A JPH0644087A (ja) 1992-07-22 1992-07-22 コンピュータシステムのスケジューリング制御方式

Publications (1)

Publication Number Publication Date
JPH0644087A true JPH0644087A (ja) 1994-02-18

Family

ID=16342563

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19552692A Withdrawn JPH0644087A (ja) 1992-07-22 1992-07-22 コンピュータシステムのスケジューリング制御方式

Country Status (1)

Country Link
JP (1) JPH0644087A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6092098A (en) * 1997-07-25 2000-07-18 Nec Corporation Method and computer program product for controlling distributed-memory multiprocessor system
US8423999B2 (en) 2009-07-13 2013-04-16 Hitachi, Ltd. Computer system, virtual machine monitor and scheduling method for virtual machine monitor

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6092098A (en) * 1997-07-25 2000-07-18 Nec Corporation Method and computer program product for controlling distributed-memory multiprocessor system
US8423999B2 (en) 2009-07-13 2013-04-16 Hitachi, Ltd. Computer system, virtual machine monitor and scheduling method for virtual machine monitor
US9348628B2 (en) 2009-07-13 2016-05-24 Hitachi, Ltd. Computer system

Similar Documents

Publication Publication Date Title
US7487503B2 (en) Scheduling threads in a multiprocessor computer
US5390329A (en) Responding to service requests using minimal system-side context in a multiprocessor environment
EP0644487B1 (en) Scalable system interrupt structure for a multiprocessing system
JPH1031630A (ja) 未着割込みハンドラ操作方法及びシステム
US20020099893A1 (en) System and method for the handling of system management interrupts in a multiprocessor computer system
US20110078702A1 (en) Multiprocessor system
US8528006B1 (en) Method and apparatus for performing real-time commands in a non real-time operating system environment
US20090241112A1 (en) Recording medium recording virtual machine control program and virtual machine system
JP2005190207A (ja) 割り込み制御装置、制御方法
US20170212852A1 (en) Method and accelerator unit for interrupt handling
JP2001216170A (ja) 専用ポーリング処理組み込みオペレーティング方法及び専用ポーリング処理組み込みオペレーティングシステム
JPH0644087A (ja) コンピュータシステムのスケジューリング制御方式
JPH0245838A (ja) プログラム実行状態監視方法
JP2004070582A (ja) イベント通知タスク制御処理方式及び方法並びにプログラム
JP2001229038A (ja) マルチオペレーテング計算機システム
WO2007094460A1 (ja) 並列処理装置及び排他制御方法
JP2566002B2 (ja) タスクディスパッチング方式
JPH11282725A (ja) 計算機
JPH05165652A (ja) タスク切替え制御方法
JPH04302353A (ja) 対称形マルチプロセッサ計算機のタイマ割込み方式
JP2000330799A (ja) ジョブ処理装置及び記憶媒体
JPH0683652A (ja) マイクロコンピュ−タシステム
WO1992003783A1 (en) Method of implementing kernel functions
JPH05108374A (ja) マルチタスク実行装置
JPH0752397B2 (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: 19991005