JPH0934729A - ディスパッチャ制御方式 - Google Patents

ディスパッチャ制御方式

Info

Publication number
JPH0934729A
JPH0934729A JP20178095A JP20178095A JPH0934729A JP H0934729 A JPH0934729 A JP H0934729A JP 20178095 A JP20178095 A JP 20178095A JP 20178095 A JP20178095 A JP 20178095A JP H0934729 A JPH0934729 A JP H0934729A
Authority
JP
Japan
Prior art keywords
dispatcher
timer
starting
processor
activation
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
JP20178095A
Other languages
English (en)
Other versions
JP2814956B2 (ja
Inventor
Kazuhiro Mori
一浩 森
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP7201780A priority Critical patent/JP2814956B2/ja
Publication of JPH0934729A publication Critical patent/JPH0934729A/ja
Application granted granted Critical
Publication of JP2814956B2 publication Critical patent/JP2814956B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 プロセッサの増加に伴うディスバッチャの起
動回数を減らすことにより、ディスバッチャのオーバヘ
ッド及びロック待ちによる性能低下を防ぐ。 【構成】 所定のプロセスを実行中に、他のプロセスを
実行可能にするために、当該他のプロセスを前記プロセ
ス待ち行列11に追加する場合、ディスパッチャを起動
することなく、ディスパッチャ起動用のタイマ13に所
定の時間を設定し、ディスパッチャ起動用のタイマ13
の所定時間内に実行中のプロセスが終了しなかった場
合、報告手段16がプロセッサに対してディスパッチャ
開始事象を報告し、この報告によりディスパッチャ起動
用タイマを停止してディスパッチャを起動するする。デ
ィスパッチャ起動用タイマの設定時間内に、プロセッサ
で実行中のプロセスが終了した場合、ディスパッチャ開
始事象の報告をすることなく、ディスパッチャ起動用タ
イマを停止してディスパッチャを起動する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、実行優先順位によりマ
ルチプロセスをスケジューリングするオペレーティング
システムを有する情報処理装置におけるディスパッチャ
制御方式に関し、特に新たに実行可能なプロセスが発生
した場合のディスパッチャ制御方式に関する。
【0002】
【従来の技術】従来、この種のディスパッチャ制御にお
いては、図4に示すように、同期命令等により実行可能
なプロセス40を、ステップ401によって実行可能な
プロセスをリンクする待ち行列(以降、プロセス待ち行
列と称す)50に加えた場合、プロセス待ち行列50に
加わったプロセス40が、現在プロセッサEで実行中の
プロセスPEよりも実行優先順位が高い可能性があるの
で、ステップ402で必ずディスパッチャが起動される
ように制御していた。
【0003】また、複数のプロセッサが存在する場合に
は、ディスパッチャ起動時に待ち行列の排他制御が行わ
れる。プロセス待ち行列50は、複数のプロセッサによ
って共有される。また、プロセスは、実行優先順位に従
って並べられてプロセス待ち行列50に加えられる。デ
ィスパッチャは、起動がかかると、このプロセス待ち行
列50の排他制御を行い、待ち行列の先頭、すなわち実
行優先順位の高いものから順にプロセッサに取り込むこ
とが可能かを判断し、可能であればプロセッサに取り込
んで実行を開始する。
【0004】
【発明が解決しようとする課題】この従来のディスパッ
チャ制御方式では、システム内に多くのプロセッサが存
在すればするほどディスパッチャの起動回数が多くな
り、ディスパッチャのオーバヘッド及びプロセス待ち行
列の排他制御による性能低下が発生する。
【0005】本発明は、上記従来の欠点を解決し、ディ
スパッチャ起動回数を減らすことにより、ディスパッチ
ャのオーバヘッド及びプロセス待ち行列のロック待ちに
よる性能低下を実行優先順位を乱すことなく防ぐことが
できるディスパッチャ制御方式を提供することを目的と
する。
【0006】
【課題を解決するための手段】上記目的を達成するた
め、本発明は、実行優先順位によりマルチプロセスをス
ケジューリングするオペレーティングシステムを有する
情報処理装置におけるディスパッチャ制御方式であっ
て、プロセッサが利用可能となるのを待つ実行可能なプ
ロセスをリンクするプロセス待ち行列と、前記プロセス
待ち行列にプロセスを追加する手段と、前記プロセッサ
について一定時間経過する毎にタイマ値を更新するディ
スパッチャ起動用のタイマと、前記ディスパッチャ起動
用タイマに時間を設定する手段と、前記ディスパッチャ
起動用タイマを起動する手段と、前記ディスパッチャ起
動用タイマの設定時間によってディスパッチャ開始事象
を報告する手段と、前記開始事象が報告されると、前記
ディスパッチャ起動用タイマを停止してディスパッチャ
を起動する手段とを有する。
【0007】他の好ましい態様では、所定のプロセスを
実行中に、他のプロセスを実行可能にするために、当該
他のプロセスを前記プロセス待ち行列に追加する場合、
ディスパッチャを起動することなく、前記ディスパッチ
ャ起動用のタイマに所定の時間を設定し、前記ディスパ
ッチャ起動用のタイマの所定時間内に、前記実行中のプ
ロセスが終了しなかった場合、前記報告手段が前記プロ
セッサに対してディスパッチャ開始事象を報告する。ま
た、ディスパッチャ起動用タイマの設定時間内に、前記
プロセッサで実行中のプロセスが終了した場合、前記デ
ィスパッチャ開始事象の報告をすることなく、前記ディ
スパッチャ起動用タイマを停止してディスパッチャを起
動する。
【0008】上記目的を達成するため、本発明は、実行
優先順位によりマルチプロセスをスケジューリングする
オペレーティングシステムを有する情報処理装置におけ
るディスパッチャ制御方式であって、複数のプロセッサ
によって共有され、プロセッサが利用可能となるのを待
つ実行可能なプロセスをリンクするプロセス待ち行列
と、前記プロセス待ち行列にプロセスを追加する手段
と、前記プロセッサ毎に備えられ、一定時間経過する毎
にタイマ値を更新する複数のディスパッチャ起動用のタ
イマと、前記ディスパッチャ起動用タイマに値を設定す
る手段と、前記ディスパッチャ起動用タイマを起動する
手段と、前記ディスパッチャ起動用タイマの値によって
ディスパッチャ開始事象を報告する手段と、事象が報告
されると、前記複数のプロセッサのディスパッチャ起動
用タイマを停止し、ディスパッチャを起動する手段を有
する。
【0009】他の好ましい態様では、前記ディスパッチ
ャ起動用タイマの設定時間内に、前記プロセッサで実行
中のプロセスが終了した場合、前記ディスパッチャ開始
事象の報告をすることなく、前記ディスパッチャ起動用
タイマを停止してディスパッチャを起動する。
【0010】
【実施例】以下、本発明の実施例について図面を参照し
て詳細に説明する。図1は、本発明の第1実施例による
ディスパッチャ制御方式の内容を説明するフローチャー
トである。図1において、プロセッサが利用可能となる
のを待っている実行可能なプロセスをリンクするプロセ
ス待ち行列11と、プロセス待ち行列にプロセスを追加
する手段12と、プロセッサ毎に一定時間経過する毎に
タイマ値を更新するディスパッチャ起動用タイマ13
と、ディスパッチャ起動用タイマ13に値を設定する手
段14と、ディスパッチャ起動用タイマ13を起動する
手段15と、ディスパッチャ起動用タイマ13の値によ
ってディスパッチャ開始事象を報告する手段16と、デ
ィスパッチャ起動用タイマ13を停止する手段17と、
事象が報告されるとディスパッチャを起動する手段18
から構成されている。
【0011】次に、図1の制御方法について説明する。
図1はディスパッチャ起動用タイマ13により事象通知
がされた場合の動作を示している。従来のディスパッチ
ャ制御方式によれば、あるプロセスPAがプロセッサA
で実行中に、プロセスP1を実行可能にするために、プ
ロセス待ち行列11にプロセスP1を追加する場合、現
在実行中のプロセスPAよりも実行優先順位が高い可能
性があるためディスパッチャを起動していた。
【0012】しかし、プロセスP1が実行されなければ
プロセスPAが影響を受けるような場合でない限り、こ
こで実行優先順位規則に違反しても、言い替えればディ
スパッチャを起動しなくてもシステムとしては問題なく
動作する。また、プロセスP1がプロセスPAよりも実
行優先順位が低い場合には、何等間題もなく動作し続け
ることができる。
【0013】そこで、本実施例においては、プロセスP
1を実行可能状態にする場合には、ディスパッチャの起
動を行わないこととし、プロセスP1をプロセス待ち行
列11に加えた(ステップ12)後、ディスパッチャ起
動用タイマ13に所定の時間を設定(ステップ14)す
ることにより、ディスパッチャ起動用タイマ13を起動
する(ステップ15)。
【0014】そして、上記設定時間内に、プロセスPA
が終了しなかった場合は、ディスパッチャ起動用タイマ
13は、自プロセッサにディスパッチャ開始事象を報告
する(ステップ16)。ディスパッチャ開始事象の報告
を受けたプロセッサは、ディスパッチャ起動用タイマ1
3を停止させ(ステップ17)、ディスパッチャを起動
する(ステップ18)。これにより、プロセスP1が実
行されなければプロセスAが影響を受けるような場合を
救うことができる。すなわち、プロセスPAがプロセス
P1の実行を待っているようなケースを救うことができ
る。
【0015】図2は、図1と同じ構成において、ディス
パッチャ起動用タイマ13の設定時間よりも早くプロセ
スが終了した場合のフローチャートである。すなわち、
ディスパッチャ起動用タイマ13によりディスパッチャ
開始事象の報告がされなかった場合の動作を示してい
る。プロセスPBがプロセッサBで実行中に、実行中の
プロセスPBがプロセスP2を実行可能状態にするため
に、プロセス待ち行列11にプロセスP2を追加する
(ステップ12)。
【0016】その後、ディスパッチャ起動用タイマ13
に所定の時間を設定し(ステップ14)、ディスパッチ
ャ起動用タイマ13を起動する(ステップ15)。ここ
では、プロセスPBが、上記設定時間内に終了したの
で、ディスパッチャ起動用タイマ13を停止し(ステッ
プ17)、ディスパッチャを起動する(ステップ1
8)。この場合は、ステップ16におけるディスパッチ
ャ起動用タイマ13によるディスパッチャ開始事象の報
告が実行されずに終了する。
【0017】図3は、本発明の第2実施例によるディス
パッチャ制御方式の内容を説明するフローチャートであ
る。図3において、複数のプロセッサが利用可能となる
のを待っている実行可能なプロセスをリンクするプロセ
ス待ち行列11Aと、プロセス待ち行列11Aにプロセ
スを追加する手段12と、プロセッサC、D毎に一定時
間経過する毎にタイマ値を更新するディスパッチャ起動
用タイマ13A,13Bと、ディスパッチャ起動用タイ
マ13A,13Bに値を設定する手段14と、ディスパ
ッチャ起動用タイマ13A,13Bを起動する手段15
と、ディスパッチャ起動用タイマ13A,13の値によ
ってディスパッチャ開始事象を報告する手段17と、プ
ロセス待ち行列11Aを共有する複数のプロセッサC、
Dのディスパッチャ起動用タイマ13A,13を停止す
る手段17と、ディスパッチャ開始事象が報告されるこ
とによりディスパッチャを起動する手段18から構成さ
れている。
【0018】次に、図3の制御方法について説明する。
複数のプロセッサを有するシステムにおいては、1つの
プロセス待ち行列を複数のプロセッサで共有する。本実
施例では、プロセッサCとプロセッサDが一つのプロセ
ス待ち行列11Aを共有している。
【0019】プロセッサCでプロセスP3をプロセス待
ち行列11Aに加え(ステップ12)、ディスパッチャ
起動用タイマ13Aにある時間を設定し(ステップ1
4)、ディスパッチャ起動用タイマ13Aを起動した場
合(ステップ15)、プロセッサCでディスパッチャが
起動される前に、プロセッサDでディスパッチャが起動
されると(図3では、プロセスPDの終了に伴いディス
パッチャが起動された場合を示している)、プロセッサ
Dはプロセス待ち行列11Aを共有する全てのプロセッ
サC,Dのディスパッチャ起動用タイマ13A,13B
を停止させる。
【0020】このことにより、プロセッサCは、ディス
パッチャ開始事象の報告によるディスパッチャ起動を行
う必要が無くなり、不要なディスパッチャの起動を防ぐ
ことができる。上記において、プロセスPDが、プロセ
スPCのディスパッチャタイマ設定時間内にディスパッ
チャを起動しなければ、プロセッサCへのディスパッチ
ャ開始事象の報告によりプロセッサCでディスパッチャ
が起動されることになり、実行優先順位が乱れることを
防ぐことができる。
【0021】以上好ましい実施例をあげて本発明を説明
したが、本発明は必ずしも上記実施例に限定されるもの
ではない。例えば、上記実施例では、プロセッサの数を
2つとして説明したが、3つ以上でも同様に効果が得ら
れる。
【0022】
【発明の効果】以上説明したように本発明によるディス
パッチャ制御方式は、ディスパッチャ起動用のタイマを
備えることにより、ディスパッチャ起動回数を減らすと
共に、ディスパッチャのオーバヘッド及びプロセス待ち
行列のロック待ちによる性能低下を実行優先順位を乱す
ことなく防ぐことができる。
【図面の簡単な説明】
【図1】 本発明の第1実施例によるディスパッチャ制
御方式においてディスパッチャ起動用タイマによる開始
事象報告がされた場合の処理内容を説明するフローチャ
ートである。
【図2】 図1に示すディスパッチャ制御方式において
ディスパッチャ起動用タイマによる開始事象報告がされ
なかった場合の処理内容を説明するフローチャートであ
る。
【図3】 本発明の2実施例によるディスパッチャ制御
方式を説明するフローチャートである。
【図4】 従来例におけるディスパッチャ制御方式の一
例を説明する図である。
【符号の説明】
11,11A プロセス待ち行列 12 プロセス追加手段 13,13A,13B ディスパッチャ起動用タイマ 14 ディスパッチャ起動用タイマに値を設定する手
段 15 ディスパッチャ起動用タイマ起動手段 16 ディスパッチャ開始事象報告手段 17 ディスパッチャ起動用タイマ停止手段 18 ディスパッチャ起動手段

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 実行優先順位によりマルチプロセスをス
    ケジューリングするオペレーティングシステムを有する
    情報処理装置におけるディスパッチャ制御方式であっ
    て、 プロセッサが利用可能となるのを待つ実行可能なプロセ
    スをリンクするプロセス待ち行列と、 前記プロセス待ち行列にプロセスを追加する手段と、 前記プロセッサについて一定時間経過する毎にタイマ値
    を更新するディスパッチャ起動用のタイマと、 前記ディスパッチャ起動用タイマに時間を設定する手段
    と、 前記ディスパッチャ起動用タイマを起動する手段と、 前記ディスパッチャ起動用タイマの設定時間によってデ
    ィスパッチャ開始事象を報告する手段と、 前記開始事象が報告されると、前記ディスパッチャ起動
    用タイマを停止してディスパッチャを起動する手段とを
    有することを特徴とするディスパッチャ制御方式。
  2. 【請求項2】 所定のプロセスを実行中に、他のプロセ
    スを実行可能にするために、当該他のプロセスを前記プ
    ロセス待ち行列に追加する場合、ディスパッチャを起動
    することなく、前記ディスパッチャ起動用のタイマに所
    定の時間を設定し、 前記ディスパッチャ起動用のタイマの所定時間内に前記
    実行中のプロセスが終了しなかった場合、前記報告手段
    が前記プロセッサに対してディスパッチャ開始事象を報
    告することを特徴とする請求項1に記載のディスパッチ
    ャ制御方式。
  3. 【請求項3】 前記ディスパッチャ起動用タイマの設定
    時間内に、前記プロセッサで実行中のプロセスが終了し
    た場合、前記ディスパッチャ開始事象の報告をすること
    なく、前記ディスパッチャ起動用タイマを停止してディ
    スパッチャを起動することを特徴とする請求項1に記載
    のディスパッチャ制御方式。
  4. 【請求項4】 実行優先順位によりマルチプロセスをス
    ケジューリングするオペレーティングシステムを有する
    情報処理装置におけるディスパッチャ制御方式であっ
    て、 複数のプロセッサによって共有され、プロセッサが利用
    可能となるのを待つ実行可能なプロセスをリンクするプ
    ロセス待ち行列と、 前記プロセス待ち行列にプロセスを追加する手段と、 前記プロセッサ毎に備えられ、一定時間経過する毎にタ
    イマ値を更新する複数のディスパッチャ起動用のタイマ
    と、 前記ディスパッチャ起動用タイマに値を設定する手段
    と、 前記ディスパッチャ起動用タイマを起動する手段と、 前記ディスパッチャ起動用タイマの値によってディスパ
    ッチャ開始事象を報告する手段と、 事象が報告されると、前記複数のプロセッサのディスパ
    ッチャ起動用タイマを停止し、ディスパッチャを起動す
    る手段を有することを特徴とするディスパッチャ制御方
    式。
  5. 【請求項5】 前記ディスパッチャ起動用タイマの設定
    時間内に、前記プロセッサで実行中のプロセスが終了し
    た場合、前記ディスパッチャ開始事象の報告をすること
    なく、前記ディスパッチャ起動用タイマを停止してディ
    スパッチャを起動することを特徴とする請求項4に記載
    のディスパッチャ制御方式。
JP7201780A 1995-07-15 1995-07-15 ディスパッチャ制御方式 Expired - Fee Related JP2814956B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7201780A JP2814956B2 (ja) 1995-07-15 1995-07-15 ディスパッチャ制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7201780A JP2814956B2 (ja) 1995-07-15 1995-07-15 ディスパッチャ制御方式

Publications (2)

Publication Number Publication Date
JPH0934729A true JPH0934729A (ja) 1997-02-07
JP2814956B2 JP2814956B2 (ja) 1998-10-27

Family

ID=16446828

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7201780A Expired - Fee Related JP2814956B2 (ja) 1995-07-15 1995-07-15 ディスパッチャ制御方式

Country Status (1)

Country Link
JP (1) JP2814956B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007179132A (ja) * 2005-12-27 2007-07-12 Sharp Corp 割り込み制御装置、情報処理システム、及びそのプログラム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3538833B2 (ja) 1999-03-17 2004-06-14 日本電気株式会社 アイドル待ち時間の動的変動方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63163640A (ja) * 1986-12-26 1988-07-07 Hitachi Ltd スケジユ−リング方式
JPS63314648A (ja) * 1987-05-30 1988-12-22 Nec Corp デ−タ通信用プロセッサ
JPH0594318A (ja) * 1991-09-30 1993-04-16 Nec Corp マルチcpuシステムの負荷平準化方式

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63163640A (ja) * 1986-12-26 1988-07-07 Hitachi Ltd スケジユ−リング方式
JPS63314648A (ja) * 1987-05-30 1988-12-22 Nec Corp デ−タ通信用プロセッサ
JPH0594318A (ja) * 1991-09-30 1993-04-16 Nec Corp マルチcpuシステムの負荷平準化方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007179132A (ja) * 2005-12-27 2007-07-12 Sharp Corp 割り込み制御装置、情報処理システム、及びそのプログラム

Also Published As

Publication number Publication date
JP2814956B2 (ja) 1998-10-27

Similar Documents

Publication Publication Date Title
JP4170227B2 (ja) 多重処理環境における処理の実行
JP4056465B2 (ja) マルチスレッド・アプリケーションにおけるスレッド実行を管理するための方法及び装置
JPH04278612A (ja) プロセッサ用クロック信号の制御方法及び情報処理システム
EP2388699A1 (en) Information processing device and information processing method
US6795873B1 (en) Method and apparatus for a scheduling driver to implement a protocol utilizing time estimates for use with a device that does not generate interrupts
US5241676A (en) Method for controlling process priority in semaphore operation
US8095695B2 (en) Control apparatus for process input-output device
JP2814956B2 (ja) ディスパッチャ制御方式
JP2001236236A (ja) タスク制御装置およびそのタスクスケジューリング方法
JP6861275B2 (ja) 車両制御装置
JPH09251389A (ja) データ処理装置
JP3005562B1 (ja) タスク管理装置及びタスクスケジューリング方法
JPH0877039A (ja) テスト方法
KR20230167901A (ko) 멀티 스레드 프로그램의 실행 주기 보정 방법
JP2000029850A (ja) オペレーティングシステムのプロセッサ間通信を使用したタスク制御方法
JP2737796B2 (ja) マルチタスクの処理方法
JPH0895807A (ja) タスク実行制御方法
JP7833357B2 (ja) 情報処理装置
JPH10133887A (ja) タスク監視方法
JP2969844B2 (ja) プログラマブルコントローラ
JPH1124944A (ja) プロセス同期方法
JPH0612394A (ja) プロセススケジュール方式
JPWO2024024102A5 (ja)
JPS61259362A (ja) マルチプロセツサ制御方法
JPH04241633A (ja) プロセス管理方式

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19980113

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19980714

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

Free format text: PAYMENT UNTIL: 20070814

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20080814

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20080814

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20090814

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20090814

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20100814

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20110814

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20110814

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20120814

Year of fee payment: 14

LAPS Cancellation because of no payment of annual fees